mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-25 00:12:08 +08:00
109 lines
2.8 KiB
Python
109 lines
2.8 KiB
Python
import pydantic
|
|
|
|
from galaxy.tool_util.toolbox.views.definitions import (
|
|
StaticToolBoxView,
|
|
StaticToolBoxViewTypeEnum,
|
|
)
|
|
|
|
EXAMPLE_1 = {
|
|
"id": "rna",
|
|
"name": "RNA Seq",
|
|
"type": "activity",
|
|
"items": [
|
|
{
|
|
"type": "workflow",
|
|
"id": "12345abcd",
|
|
},
|
|
{
|
|
"type": "section",
|
|
"name": "My Cool Section",
|
|
},
|
|
{
|
|
"type": "label",
|
|
"text": "My Cool Label",
|
|
"id": "my-cool-label-id",
|
|
},
|
|
{
|
|
"type": "tool",
|
|
"id": "cat1",
|
|
},
|
|
],
|
|
}
|
|
|
|
|
|
def test_root_parsing():
|
|
view = StaticToolBoxView.from_dict(EXAMPLE_1)
|
|
assert view.id == "rna"
|
|
assert view.name == "RNA Seq"
|
|
assert view.view_type == StaticToolBoxViewTypeEnum.activity
|
|
assert len(view.items) == 4
|
|
workflow_item = view.items[0]
|
|
assert workflow_item.content_type == "workflow"
|
|
assert workflow_item.id == "12345abcd"
|
|
|
|
section_item = view.items[1]
|
|
assert section_item.content_type == "section"
|
|
assert section_item.id is None
|
|
assert section_item.name == "My Cool Section"
|
|
|
|
outer_label_item = view.items[2]
|
|
assert outer_label_item.content_type == "label"
|
|
assert outer_label_item.id == "my-cool-label-id"
|
|
assert outer_label_item.text == "My Cool Label"
|
|
|
|
output_tool_item = view.items[3]
|
|
assert output_tool_item.content_type == "tool"
|
|
assert output_tool_item.id == "cat1"
|
|
|
|
|
|
def test_section_parsing():
|
|
view = StaticToolBoxView.from_dict(
|
|
{
|
|
"id": "rna",
|
|
"name": "RNA Seq",
|
|
"type": "activity",
|
|
"items": [
|
|
{
|
|
"type": "section",
|
|
"name": "My Cool Section",
|
|
"items": [
|
|
{
|
|
"type": "workflow",
|
|
"id": "123456",
|
|
}
|
|
],
|
|
},
|
|
],
|
|
}
|
|
)
|
|
section_item = view.items[0]
|
|
assert len(section_item.items) == 1
|
|
assert section_item.items[0].content_type == "workflow"
|
|
|
|
|
|
def test_no_nested_sections():
|
|
exception_raised = False
|
|
try:
|
|
StaticToolBoxView.from_dict(
|
|
{
|
|
"id": "rna",
|
|
"name": "RNA Seq",
|
|
"type": "activity",
|
|
"items": [
|
|
{
|
|
"type": "section",
|
|
"name": "My Cool Section",
|
|
"items": [
|
|
{
|
|
"type": "section",
|
|
"name": "My Cool Inner Section",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
}
|
|
)
|
|
except pydantic.ValidationError:
|
|
exception_raised = True
|
|
assert exception_raised
|