Files
galaxy/test/integration/test_dataset_copy_metadata_files.py
T

76 lines
2.2 KiB
Python

from galaxy_test.api.test_workflows import RunsWorkflowFixtures
from galaxy_test.base.populators import (
DatasetPopulator,
WorkflowPopulator,
)
from galaxy_test.driver.integration_util import IntegrationTestCase
class TestDirectoryStrategyMetadataFileIntegrationTestCase(IntegrationTestCase, RunsWorkflowFixtures):
dataset_populator: DatasetPopulator
workflow_populator: WorkflowPopulator
framework_tool_and_types = True
@classmethod
def handle_galaxy_config_kwds(cls, config):
config["metadata_strategy"] = "directory"
def setUp(self):
super().setUp()
self.dataset_populator = DatasetPopulator(self.galaxy_interactor)
self.workflow_populator = WorkflowPopulator(self.galaxy_interactor)
def test_metadata_copied_to_copied_outputs(self, history_id):
summary = self.workflow_populator.run_workflow(
"""
class: GalaxyWorkflow
label: Tests metadata copied to copied outputs
inputs:
bam_file:
type: collection
collection_type: list
outputs:
copied_bam:
outputSource: extract/output
steps:
build_list:
tool_id: __BUILD_LIST__
in:
datasets_0|input: bam_file
sleep:
tool_id: cat_data_and_sleep
tool_state:
sleep_time: 2
in:
input1:
source: build_list/output
extract:
tool_id: __EXTRACT_DATASET__
tool_state:
which:
which_dataset: first
in:
input:
source: sleep/out_file1
test_data:
bam_file:
value: 1.bam
file_type: bam
type: File
""",
history_id=history_id,
wait=True,
assert_ok=True,
)
invocation = self.workflow_populator.get_invocation(summary.invocation_id, step_details=True)
copied_bam = invocation["outputs"]["copied_bam"]
dataset = self.dataset_populator.get_history_dataset_details(history_id, content_id=copied_bam["id"])
assert dataset["peek"] == "Binary bam alignments file"
assert len(dataset["meta_files"]) == 1
class TestExtendedMetadataStrategyMetadataFileIntegrationTestCase(TestDirectoryStrategyMetadataFileIntegrationTestCase):
@classmethod
def handle_galaxy_config_kwds(cls, config):
config["metadata_strategy"] = "directory"