Warning

This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

galaxy_test.api package

Subpackages

Submodules

galaxy_test.api.sharable module

class galaxy_test.api.sharable.SharingApiTests[source]

Bases: UsesApiTestCaseMixin

Includes some tests for the sharing functionality of a particular resource type.

api_name: str
create(name: str) str[source]

Creates a shareable resource with the given name and returns it’s ID.

Parameters:

name – The name of the shareable resource to create.

Returns:

The ID of the resource.

test_sharing_get_status()[source]
test_sharing_access()[source]
test_sharing_publish()[source]
test_sharing_without_user()[source]
test_sharing_with_user_id()[source]
test_sharing_with_user_email()[source]
test_update_sharing_with_users()[source]
test_sharing_with_invalid_user()[source]
test_set_slug()[source]

galaxy_test.api.test_authenticate module

class galaxy_test.api.test_authenticate.TestAuthenticateApi[source]

Bases: ApiTestCase

test_auth()[source]
test_anon_history_creation()[source]

galaxy_test.api.test_configuration module

class galaxy_test.api.test_configuration.TestConfigurationApi[source]

Bases: ApiTestCase

test_whoami()[source]
test_normal_user_configuration()[source]
test_admin_user_configuration()[source]
test_normal_user_decode_id()[source]
test_version()[source]

galaxy_test.api.test_dataset_collections module

class galaxy_test.api.test_dataset_collections.TestDatasetCollectionsApi[source]

Bases: ApiTestCase

dataset_populator: DatasetPopulator
setUp()[source]
test_create_pair_from_history()[source]
test_create_list_from_history()[source]
test_create_list_of_existing_pairs()[source]
test_create_list_of_new_pairs()[source]
test_create_paried_or_unpaired(history_id)[source]
test_create_list_paired_or_unpaired_rejects_raw_hda_child(history_id)[source]
test_create_list_paired_rejects_raw_hda_child(history_id)[source]
test_create_record(history_id)[source]
test_record_requires_fields(history_id)[source]
test_record_auto_fields(history_id)[source]
test_record_field_validation(history_id)[source]
test_sample_sheet_column_definition_problems(history_id)[source]
test_sample_sheet_element_identifier_column_type(history_id)[source]
test_sample_sheet_of_pairs_creation(history_id)[source]
test_sample_sheet_validating_against_column_definition(history_id)[source]
test_sample_sheet_requires_columns(history_id)[source]
test_sample_sheet_map_over_preserves_columns(history_id)[source]

Test that mapping cat1 over a sample sheet preserves columns metadata.

test_copy_sample_sheet_collection(history_id)[source]

Test that copying a sample sheet collection preserves columns metadata.

test_workbook_download()[source]
test_workbook_download_for_collection()[source]
test_workbook_parse()[source]
test_workbook_parse_for_collection()[source]
test_list_download()[source]
test_pair_download()[source]
test_list_pair_download()[source]
test_list_list_download()[source]
test_list_list_list_download()[source]
test_download_non_english_characters()[source]
test_hda_security()[source]
test_dataset_collection_element_security()[source]
test_enforces_unique_names()[source]
test_upload_collection()[source]
test_upload_nested()[source]
test_upload_collection_from_url()[source]
test_upload_collection_deferred()[source]
test_upload_collection_failed_expansion_url(mock_http_server)[source]
test_upload_flat_sample_sheet()[source]
test_upload_sample_sheet_paired()[source]
test_collection_contents_security(history_id)[source]
test_published_collection_contents_accessible(history_id)[source]
test_collection_contents_invalid_collection(history_id)[source]
test_show_dataset_collection(history_id)[source]
test_show_dataset_collection_contents(history_id)[source]
test_collection_contents_limit_offset(history_id)[source]
test_collection_contents_empty_root(history_id)[source]
test_get_suitable_converters_single_datatype(history_id)[source]
test_get_suitable_converters_different_datatypes_matches(history_id)[source]
test_get_suitable_converters_different_datatypes_no_matches(history_id)[source]
test_collection_tools_tag_propagation(history_id)[source]
galaxy_test.api.test_dataset_collections.upload_flat_sample_sheet(dataset_populator: DatasetPopulator)[source]
galaxy_test.api.test_dataset_collections.assert_one_collection_created_in_history(dataset_populator: DatasetPopulator, history_id: str)[source]

galaxy_test.api.test_datasets module

class galaxy_test.api.test_datasets.TestDatasetsApi[source]

Bases: ApiTestCase

dataset_populator: DatasetPopulator
setUp()[source]
test_index()[source]
test_index_using_keys(history_id)[source]
test_index_order_by_size()[source]
test_search_datasets()[source]
test_search_by_tag()[source]
test_search_by_tag_case_insensitive()[source]
test_search_by_tool_id()[source]
test_search_by_extension()[source]
test_search_returns_only_accessible(history_id)[source]
test_show(history_id)[source]
test_show_permission_denied(history_id)[source]
test_admin_can_update_permissions(history_id)[source]
test_display(history_id)[source]
test_display_preview_binary_as_text_uses_text_plain(history_id)[source]
test_display_extra_paths(history_id: str)[source]
test_display_error_handling(history_id)[source]
test_get_content_as_text(history_id)[source]
test_get_content_as_text_with_compressed_text_data(history_id)[source]
test_anon_get_content_as_text(history_id)[source]
test_anon_private_get_content_as_text(history_id)[source]
test_dataprovider_chunk(history_id)[source]
test_raw_data_tabular_missing_columns_returns_400(history_id)[source]
test_raw_data_tabular_invalid_column_index_returns_400(history_id)[source]
test_raw_data_tabular_invalid_columns_json_returns_400(history_id)[source]
test_raw_data_no_converter_returns_400(history_id)[source]
test_bam_chunking_through_display_endpoint(history_id)[source]
test_tabular_chunking_through_display_endpoint(history_id)[source]
test_connectivity_table_chunking_through_display_endpoint(history_id)[source]
test_head(history_id)[source]
test_byte_range_support(history_id)[source]
test_tag_change(history_id)[source]
test_anon_tag_permissions()[source]
test_update_datatype(history_id)[source]
test_delete_cancels_job(history_id)[source]
test_delete_cancels_job_with_query_params(history_id)[source]
test_purge_does_not_reset_file_size()[source]
test_delete_batch()[source]
test_delete_batch_lddas()[source]
test_delete_batch_error()[source]
test_composite_datatype_download(history_id)[source]
test_compute_md5_on_primary_dataset(history_id)[source]
test_compute_sha1_on_composite_dataset(history_id)[source]
test_duplicated_hash_requests_on_primary(history_id)[source]
test_duplicated_hash_requests_on_extra_files(history_id)[source]
assert_hash_value(dataset_details, expected_hash_value, hash_function, extra_files_path=None)[source]
test_storage_show(history_id)[source]
test_storage_show_on_discarded(history_id)[source]
test_storage_show_on_deferred(history_id)[source]
test_cannot_update_datatype_on_immutable_history(history_id)[source]
test_download_non_english_characters(history_id)[source]
test_copy_dataset_from_history_with_copied_from_fields(history_id)[source]
test_copy_dataset_from_library_with_copied_from_fields(history_id)[source]

galaxy_test.api.test_datatypes module

class galaxy_test.api.test_datatypes.TestDatatypesApi[source]

Bases: ApiTestCase

test_index()[source]
test_index_upload_only()[source]
test_full_index()[source]
test_mapping()[source]
test_types_and_mapping()[source]
test_sniffers()[source]
test_converters()[source]
test_converter_present_after_toolbox_reload()[source]
test_edam_formats()[source]
test_edam_data()[source]

galaxy_test.api.test_display_applications module

class galaxy_test.api.test_display_applications.TestDisplayApplicationsApi[source]

Bases: ApiTestCase

dataset_populator: DatasetPopulator
setUp()[source]
test_index()[source]
test_reload_as_admin()[source]
test_reload_with_some_ids()[source]
test_reload_unknown_returns_as_failed()[source]
test_reload_as_non_admin_returns_403()[source]

galaxy_test.api.test_folder_contents module

class galaxy_test.api.test_folder_contents.TestFolderContentsApi[source]

Bases: ApiTestCase

dataset_populator: DatasetPopulator
setUp()[source]
test_create_hda_with_ldda_message(history_id)[source]
test_create_hdca_with_ldda_message(history_id)[source]
test_index(history_id)[source]
test_index_include_deleted(history_id)[source]
test_index_pagination(history_id)[source]
test_index_search_text(history_id)[source]
test_index_permissions(history_id)[source]
test_index_permissions_include_deleted(history_id) None[source]
test_index_order_by(history_id)[source]

galaxy_test.api.test_folders module

class galaxy_test.api.test_folders.TestFoldersApi[source]

Bases: ApiTestCase

dataset_populator: DatasetPopulator
setUp()[source]
test_create()[source]
test_list_library()[source]
test_create_without_name_raises_400()[source]
test_permissions()[source]
test_update()[source]
test_delete()[source]
test_undelete()[source]
test_import_folder_to_history()[source]
test_update_deleted_raise_403()[source]

galaxy_test.api.test_framework module

class galaxy_test.api.test_framework.TestApiFramework[source]

Bases: ApiTestCase

test_default_xframe_options()[source]
test_xframe_options_skipped_for_embed()[source]
test_user_cannont_run_as()[source]
test_run_as_invalid_user()[source]
test_run_as_valid_user()[source]

galaxy_test.api.test_group_roles module

class galaxy_test.api.test_group_roles.TestGroupRolesApi[source]

Bases: ApiTestCase

dataset_populator: DatasetPopulator
setUp()[source]
test_index(group_name: str | None = None)[source]
test_index_only_admin()[source]
test_index_unknown_group_raises_400()[source]
test_show()[source]
test_show_only_admin()[source]
test_show_unknown_raises_400()[source]
test_update()[source]
test_update_only_admin()[source]
test_delete()[source]
test_delete_only_admin()[source]
test_delete_unknown_raises_400()[source]

galaxy_test.api.test_group_users module

class galaxy_test.api.test_group_users.TestGroupUsersApi[source]

Bases: ApiTestCase

dataset_populator: DatasetPopulator
setUp()[source]
test_index(group_name: str | None = None)[source]
test_index_only_admin()[source]
test_index_unknown_group_raises_400()[source]
test_show()[source]
test_show_only_admin()[source]
test_show_unknown_raises_400()[source]
test_update()[source]
test_update_only_admin()[source]
test_delete()[source]
test_delete_only_admin()[source]
test_delete_unknown_raises_400()[source]

galaxy_test.api.test_groups module

class galaxy_test.api.test_groups.TestGroupsApi[source]

Bases: ApiTestCase

dataset_populator: DatasetPopulator
setUp()[source]
test_create_valid()[source]
test_create_only_admin()[source]
test_create_invalid_params_raises_400()[source]
test_create_with_auto_create_role()[source]
test_create_with_auto_create_role_conflict()[source]

Auto-create role should fail if a role with the same name already exists.

test_create_duplicated_name_raises_409()[source]
test_index()[source]
test_index_only_admin()[source]
test_show()[source]
test_show_only_admin()[source]
test_show_unknown_raises_400()[source]
test_update()[source]
test_update_only_admin()[source]
test_update_duplicating_name_raises_409()[source]
test_delete()[source]
test_delete_duplicating_name_raises_409()[source]
test_purge()[source]
test_purge_can_reuse_name()[source]

galaxy_test.api.test_histories module

class galaxy_test.api.test_histories.BaseHistories[source]

Bases: object

class galaxy_test.api.test_histories.TestHistoriesApi[source]

Bases: ApiTestCase, BaseHistories

setUp()[source]
test_create_history()[source]
test_create_history_json()[source]
test_show_history()[source]
test_show_history_returns_expected_urls()[source]
test_show_respects_view()[source]
test_show_most_recently_used()[source]
test_index_order()[source]
test_index_query()[source]
test_index_views()[source]
test_index_search_mode_views()[source]
test_index_case_insensitive_contains_query()[source]
test_index_advanced_filter()[source]
test_delete()[source]
test_purge()[source]
test_undelete()[source]
test_update()[source]
test_update_invalid_attribute()[source]
test_update_invalid_types()[source]
test_invalid_keys()[source]
test_create_anonymous_fails()[source]
test_create_without_session_fails()[source]
test_create_tag()[source]
test_copy_history()[source]
test_copy_history_does_not_duplicate_tags()[source]
test_copy_datasets_to_history_does_not_duplicate_tags()[source]
test_import_from_model_store_dict()[source]
test_anonymous_can_import_published()[source]
test_publish_non_alphanumeric()[source]
test_immutable_history_update_fails()[source]
test_immutable_history_cannot_add_datasets()[source]
test_cannot_modify_tags_on_immutable_history()[source]
test_histories_count()[source]
class galaxy_test.api.test_histories.ImportExportTests[source]

Bases: BaseHistories

task_based: ClassVar[bool]
test_import_export()[source]
test_import_1901_histories()[source]
test_import_export_include_deleted()[source]
test_import_export_failed_job()[source]
test_import_metadata_regeneration()[source]
test_import_export_collection()[source]
test_import_export_nested_collection()[source]
class galaxy_test.api.test_histories.TestImportExportHistory[source]

Bases: ApiTestCase, ImportExportTests

task_based: ClassVar[bool] = False
setUp()[source]
class galaxy_test.api.test_histories.TestSharingHistory[source]

Bases: ApiTestCase, BaseHistories, SharingApiTests

Tests specific for the particularities of sharing Histories.

api_name: str = 'histories'
create(name: str) str[source]

Creates a shareable resource with the given name and returns it’s ID.

Parameters:

name – The name of the shareable resource to create.

Returns:

The ID of the resource.

setUp()[source]
test_sharing_with_private_datasets()[source]
test_sharing_without_manage_permissions()[source]
test_sharing_empty_not_allowed()[source]
test_sharing_with_duplicated_users()[source]
test_sharing_private_history_makes_datasets_public()[source]
class galaxy_test.api.test_histories.TestArchivingHistoriesWithoutExportRecord[source]

Bases: ApiTestCase, BaseHistories

setUp()[source]
test_archive()[source]
test_other_users_cannot_archive_history()[source]
test_restore()[source]
test_other_users_cannot_restore_history()[source]
test_archived_histories_index()[source]
test_archived_histories_filtering_and_sorting()[source]
test_archiving_an_archived_history_conflicts()[source]
test_archived_histories_are_not_listed_by_default()[source]
class galaxy_test.api.test_histories.TestHistoryGraphApi[source]

Bases: ApiTestCase, BaseHistories

API-level tests for GET /api/histories/{id}/graph.

These cover the surface the endpoint owns: status codes, query parameter validation, auth boundaries, and response shape. Builder logic is exercised separately in test_HistoryGraphBuilder.

setUp()[source]
test_empty_history_returns_empty_graph()[source]
test_standalone_datasets_appear_as_dataset_nodes()[source]
test_limit_caps_items_and_sets_truncation_flag()[source]
test_seed_scope_returns_seed_centered_window()[source]
test_invalid_query_params_return_400(param, value)[source]
test_seed_src_without_seed_id_is_rejected()[source]
test_seed_scope_not_in_target_history_is_rejected()[source]
test_other_users_history_is_forbidden()[source]
test_nonexistent_history_is_rejected()[source]

galaxy_test.api.test_history_contents module

class galaxy_test.api.test_history_contents.TestHistoryContentsApi[source]

Bases: ApiTestCase

dataset_populator: DatasetPopulator
setUp()[source]
test_index_hda_summary(history_id)[source]
test_make_private_and_public(history_id)[source]
test_set_permissions_add_admin_history_contents(history_id)[source]
test_set_permissions_add_admin_datasets(history_id)[source]
test_index_hda_all_details(history_id)[source]
test_index_hda_detail_by_id(history_id)[source]
test_index_detail_parameter_error(history_id)[source]
test_view_and_keys_parameters_for_datasets(history_id)[source]
test_view_and_keys_parameters_for_collections(history_id)[source]
test_show_hda(history_id)[source]
test_hda_copy(history_id)[source]
test_inheritance_chain(history_id)[source]
test_inheritance_chain_library_to_histories(history_id)[source]
test_library_copy(history_id)[source]
test_update(history_id)[source]
test_rename_dataset(history_id)[source]
test_rename_dataset_collection(history_id)[source]
test_update_batch(history_id)[source]
test_update_batch_collections(history_id)[source]
test_update_type_failures(history_id)[source]
test_delete(history_id)[source]
test_delete_anon()[source]
test_delete_permission_denied(history_id)[source]
test_purge(history_id)[source]
test_dataset_collection_creation_on_contents(history_id)[source]
test_dataset_collection_creation_on_typed_contents(history_id)[source]
test_dataset_collection_create_from_exisiting_datasets_with_new_tags()[source]
test_jobs_summary_simple_hdca(history_id)[source]
test_jobs_summary_implicit_hdca(history_id)[source]
test_dataset_collection_hide_originals(history_id)[source]
test_update_dataset_collection(history_id)[source]
test_update_batch_dataset_collection(history_id)[source]
test_hdca_copy(history_id)[source]
test_hdca_copy_with_new_dbkey(history_id)[source]
test_hdca_copy_and_elements(history_id)[source]
test_hdca_from_library_datasets(history_id)[source]
test_hdca_from_inaccessible_library_datasets(history_id)[source]
test_job_state_summary_field(history_id)[source]
test_index_filter_by_type(history_id)[source]
test_index_filter_by_name_ignores_case(history_id)[source]
test_elements_datatypes_field(history_id)[source]
test_index_filter_by_extension(history_id)[source]
test_index_filter_collections_by_extension(history_id)[source]
test_index_filter_by_name_unique_sentinel(history_id)[source]

Real-DB integration coverage for History.paginated_active_visible_datasets name-search path — a unique sentinel name must return exactly one HDA (no substring leakage).

test_index_filter_by_hid_exact(history_id)[source]

q=hid-eq returns the HDA with the requested hid — covers the numeric branch of paginated_active_visible_datasets.search.

test_index_filter_collections_by_extension_nested(history_id)[source]

Depth-arbitrary regression test for the extension HDCA filter (recursive CTE in History._hdca_leaf_hda_descendants_cte). A list:paired collection nests one level deeper than a flat list — verify the recursive walk still catches non-matching leaves.

test_cannot_run_tools_on_immutable_histories(history_id)[source]
test_cannot_update_dataset_collection_on_immutable_history(history_id)[source]
test_cannot_update_dataset_on_immutable_history(history_id)[source]
class galaxy_test.api.test_history_contents.TestHistoryContentsApiBulkOperation[source]

Bases: ApiTestCase

Test the /api/histories/{history_id}/contents/bulk endpoint and the new count special view for /api/histories/{history_id}/contents?v=dev

setUp()[source]
test_explicit_items_selection()[source]
test_dynamic_query_selection()[source]
test_bulk_operations()[source]
test_purging_collection_should_purge_contents()[source]
test_deleting_collection_should_delete_contents()[source]
test_only_owner_can_apply_bulk_operations()[source]
test_bulk_tag_changes()[source]
test_bulk_dbkey_change()[source]
test_bulk_dbkey_change_dataset_collection()[source]
test_bulk_datatype_change()[source]
test_bulk_datatype_change_collection()[source]
test_bulk_datatype_change_should_skip_set_metadata_on_deferred_data()[source]
test_bulk_datatype_change_errors()[source]
test_bulk_datatype_change_auto()[source]
test_index_returns_expected_total_matches()[source]
test_index_with_stats_fails_with_non_orm_filters()[source]
test_index_with_stats_has_extra_serialization()[source]

galaxy_test.api.test_history_contents_provenance module

class galaxy_test.api.test_history_contents_provenance.TestProvenance[source]

Bases: ApiTestCase

dataset_populator: DatasetPopulator
setUp()[source]
test_get_prov()[source]

galaxy_test.api.test_jobs module

class galaxy_test.api.test_jobs.TestJobsApi[source]

Bases: ApiTestCase, TestsTools

dataset_populator: DatasetPopulator
setUp()[source]
test_index(history_id)[source]
test_system_details_admin_only(history_id)[source]
test_admin_job_list(history_id)[source]
test_job_list_collection_view(history_id)[source]
test_job_list_default_view(history_id)[source]
test_index_state_filter(history_id)[source]
test_index_date_filter(history_id)[source]
test_index_history(history_id)[source]
test_index_workflow_and_invocation_filter(history_id)[source]
test_index_workflow_filter_implicit_jobs(history_id)[source]
test_index_limit_and_offset_filter(history_id)[source]
test_index_search_filter_tool_id(history_id)[source]
test_index_search_filter_email(history_id)[source]
test_index_user_filter()[source]
test_index_handler_runner_filters(history_id)[source]
test_index_multiple_states_filter(history_id)[source]
test_show(history_id)[source]
test_show_security(history_id)[source]
test_show_collection_only_job_public(history_id)[source]
test_show_collection_only_job_private_denied(history_id)[source]
test_show_job_accessible_via_public_history(history_id)[source]
test_unhide_on_error()[source]
test_no_unhide_on_error_if_mapped_over()[source]
test_no_hide_on_rerun()[source]
test_rerun_exception_handling()[source]
test_common_problems()[source]
test_report_error()[source]
test_report_error_anon()[source]
test_report_error_bootstrap_admin()[source]
test_deleting_output_keep_running_until_all_deleted(history_id)[source]
test_purging_output_keep_running_until_all_purged(history_id)[source]
test_submission_on_collection_with_deleted_element(history_id)[source]
test_purging_output_cleaned_after_ok_run(history_id)[source]
test_resume_job(history_id)[source]
test_search_handle_identifiers(history_id)[source]
test_search_delete_outputs(history_id)[source]
test_implicit_collection_jobs(history_id)[source]
test_search_with_hdca_list_input(history_id)[source]
test_search_delete_hdca_output(history_id)[source]
test_search_with_hdca_pair_input(history_id)[source]
test_search_with_hdca_list_pair_input(history_id)[source]
test_search_with_hdca_list_pair_collection_mapped_over_pair_input(history_id)[source]
test_job_build_for_rerun(history_id)[source]
test_job_build_for_rerun_hdca_value_in_options(history_id)[source]

When rerunning a job whose input was a collection passed to a multiple="true" data parameter, the collection must appear in options.hdca (not options.hda) so the client can match it against the value’s src: "hdca".

Regression test for a bug where hidden HDCAs were misclassified as HDAs in the fallback options, causing the rerun form to show single- dataset mode with nothing pre-selected.

test_job_build_for_rerun_switch_version(history_id)[source]
test_dce_submission_security(history_id)[source]
test_job_build_for_rerun_list_list(history_id)[source]
test_get_inputs_and_outputs(history_id)[source]
test_delete_job(history_id)[source]
test_delete_job_with_message(history_id)[source]
test_destination_params(history_id)[source]
test_job_metrics(history_id)[source]
test_parameters_display(history_id)[source]

galaxy_test.api.test_libraries module

class galaxy_test.api.test_libraries.TestLibrariesApi[source]

Bases: ApiTestCase

dataset_populator: DatasetPopulator
setUp()[source]
test_create()[source]
test_create_from_store()[source]
test_index()[source]
test_delete()[source]
test_nonadmin()[source]
test_update()[source]
test_update_non_admins_with_permission()[source]
test_create_private_library_legacy_permissions()[source]
test_create_private_library_permissions()[source]
test_get_library_current_permissions()[source]
test_get_library_available_permissions()[source]
test_get_library_available_permissions_with_query()[source]
test_create_library_dataset_bootstrap_user(library_name='private_dataset', wait=True)[source]
test_create_dataset_denied()[source]
test_create_dataset_bootstrap_admin_user()[source]
test_show_private_dataset_permissions()[source]
test_create_dataset()[source]
test_fetch_upload_to_folder()[source]
test_fetch_zip_to_folder()[source]
test_fetch_single_url_to_folder()[source]
test_fetch_single_url_with_invalid_datatype()[source]
test_legacy_upload_unknown_datatype()[source]
test_fetch_failed_validation(mock_http_server)[source]
test_fetch_url_archive_to_folder(mock_http_server)[source]
test_fetch_bagit_archive_to_folder()[source]
test_create_dataset_in_folder()[source]
test_create_dataset_in_subfolder()[source]
test_update_dataset_in_folder()[source]
test_update_dataset_tags()[source]
test_invalid_update_dataset_in_folder()[source]
test_detect_datatype_of_dataset_in_folder()[source]
test_ldda_collection_import_to_history()[source]
test_ldda_collection_import_to_history_hide_source()[source]
test_import_paired_collection()[source]
test_create_datasets_in_library_from_collection()[source]
test_create_datasets_in_folder_from_collection()[source]

galaxy_test.api.test_licenses module

class galaxy_test.api.test_licenses.TestLicensesApi[source]

Bases: ApiTestCase

test_index()[source]
test_get_license()[source]
test_404_on_unknown_license()[source]

galaxy_test.api.test_page_revisions module

class galaxy_test.api.test_page_revisions.TestPageRevisionsApi[source]

Bases: BasePagesApiTestCase

test_create()[source]
test_403_if_create_revision_on_unowned_page()[source]
test_revision_index()[source]
test_malformed_id_if_index_unknown_page()[source]

galaxy_test.api.test_pages module

class galaxy_test.api.test_pages.BasePagesApiTestCase[source]

Bases: ApiTestCase

dataset_populator: DatasetPopulator
setUp()[source]
class galaxy_test.api.test_pages.TestPagesApi[source]

Bases: BasePagesApiTestCase, SharingApiTests

api_name: str = 'pages'
create(name: str) str[source]

Creates a shareable resource with the given name and returns it’s ID.

Parameters:

name – The name of the shareable resource to create.

Returns:

The ID of the resource.

test_create()[source]
test_create_from_report()[source]
test_revert_report_with_galaxy_directives()[source]
test_index()[source]
test_400_on_index_deleted_shared()[source]
test_index_deleted()[source]
test_index_user_id_security()[source]
test_index_user_published()[source]
test_index_show_published()[source]
test_index_show_shared_with_me()[source]
test_index_show_shared_with_me_deleted()[source]
test_index_owner()[source]
test_index_ordering()[source]
test_index_limit_offset()[source]
test_index_search_slug()[source]
test_index_search_title()[source]
test_index_search_sharing_tags()[source]
test_index_type_standalone()[source]
test_index_type_history_attached()[source]
test_index_type_default_returns_both()[source]
test_index_type_all_returns_both()[source]
test_index_does_not_show_unavailable_pages()[source]
test_cannot_create_pages_with_same_slug()[source]
test_cannot_create_pages_with_invalid_slug()[source]
test_cannot_create_page_with_invalid_content_format()[source]
test_page_requires_name()[source]
test_page_requires_slug()[source]
test_delete()[source]
test_400_on_delete_invalid_page_id()[source]
test_403_on_delete_unowned_page()[source]
test_400_on_invalid_id_encoding()[source]
test_400_on_invalid_id_encoding_markdown()[source]
test_400_on_invalid_embedded_content()[source]
test_400_on_invalid_markdown_call()[source]
test_show()[source]
test_update()[source]
test_403_on_unowner_show()[source]
test_501_on_download_pdf_when_service_unavailable()[source]
test_pdf_when_service_available()[source]
test_400_on_download_pdf_when_unsupported_content_format()[source]
test_page_source_invocation_fk()[source]
test_page_source_fk_null_by_default()[source]

galaxy_test.api.test_roles module

class galaxy_test.api.test_roles.TestRolesApi[source]

Bases: ApiTestCase

dataset_populator: DatasetPopulator
setUp()[source]
test_list_and_show()[source]
test_create_invalid_params()[source]
test_create_valid()[source]
test_show_error_codes()[source]
test_list_with_pagination()[source]
test_create_only_admin()[source]
test_delete()[source]
test_delete_duplicating_name_raises_409()[source]
test_purge()[source]
test_purge_can_reuse_name()[source]
static check_role_dict(role_dict: dict[str, Any], assert_id: str | None = None) None[source]

galaxy_test.api.test_search module

galaxy_test.api.test_tool_data module

Tests for the tool data API.

The tests for the DELETE endpoint can be found in the integration tests directory (tests/integration/test_tool_data_delete.py) since these tests can mutate the server config state.

class galaxy_test.api.test_tool_data.TestToolDataApi[source]

Bases: ApiTestCase

test_admin_only()[source]
test_list()[source]
test_show()[source]
test_show_anon()[source]
test_show_field()[source]
test_download_field_file()[source]
test_download_field_file_anon_raises_404()[source]
test_download_field_file_anon_raises_403()[source]
test_reload()[source]
test_reload_and_download_testbeta()[source]
test_show_unknown_raises_404()[source]
test_show_unknown_field_raises_404()[source]
test_reload_unknown_raises_404()[source]
test_download_field_unknown_file_raises_404()[source]
test_delete_without_payload_raises_400()[source]
test_delete_without_values_raises_400()[source]
test_delete_with_wrong_values_raises_400()[source]

galaxy_test.api.test_tools module

class galaxy_test.api.test_tools.TestsTools[source]

Bases: object

dataset_populator: DatasetPopulator
dataset_collection_populator: BaseDatasetCollectionPopulator
class galaxy_test.api.test_tools.TestToolsApi[source]

Bases: ApiTestCase, TestsTools

dataset_populator: DatasetPopulator
setUp()[source]
test_index()[source]
test_search_cat()[source]
test_search_trimmer()[source]
test_search_grep()[source]
test_search_curated_tool_tags()[source]
test_no_panel_index()[source]
test_requirements()[source]
test_show_repeat()[source]
test_show_conditional()[source]
test_invalid_conditional_payload_handled()[source]
test_show_multi_data()[source]
test_show_output_collection()[source]
test_tool_icon_endpoint_with_simple_id()[source]
test_tool_icon_endpoint_with_toolshed_id()[source]
test_data_source_build_request()[source]
test_build_request_dbkey_filter_set()[source]
test_build_request_dbkey_filter_unset()[source]
test_build_request_dbkey_filter_hdca_multi_input()[source]
test_run_dbkey_filter_nested_collection_dce()[source]
test_build_data_options_default_page()[source]

Default response caps data parameter options at 50 per src and emits options_meta so the client can detect more pages exist.

test_build_data_options_pagination_offset()[source]

options_pagination returns the requested slice.

test_build_data_options_limit_clamped()[source]

Server clamps requested limit to 500.

test_build_data_options_pinned_outside_page()[source]

Selected HDA outside the page window appears in pinned.

test_build_data_options_search_by_name()[source]

options_pagination[...].search filters HDAs by name (ilike) before pagination, so users can find datasets outside the default page window by typing into the dropdown.

test_build_data_options_search_by_hid()[source]

A numeric search value also matches the HDA’s hid, so typing 1 surfaces hid=1 even when it’s outside the default page window.

test_build_collection_options_interleaves_direct_and_multirun_by_hid()[source]

Direct matches (paired collections) and multirun matches (list:paired collections that can be mapped over to feed a paired param) must be returned merged in HID-desc order — the legacy pre-pagination behavior was to sorted([direct + multirun], reverse=True). Multirun entries must carry a map_over_type while direct entries must not.

test_build_collection_options_pagination_preserves_interleaved_order()[source]

Pagination must return contiguous slices of the same merged HID-desc ordering: page 0 + page 1 reconstruct the unpaginated list without losing or reshuffling either kind across the page boundary.

test_build_collection_options_hidden_direct_match_included()[source]

A hidden paired collection still appears under direct match — preserves legacy active_dataset_collections semantics (which included hidden) for the direct-match path.

test_build_collection_options_hidden_multirun_excluded()[source]

A hidden list:paired collection must NOT appear as a multirun match — preserves legacy active_visible_dataset_collections semantics (visible-only) for the subcollection-mapping path.

test_build_collection_options_multi_typed_emits_direct_and_multirun()[source]

Pinned against release_26.0 (pre-pagination): a parameter that accepts multiple collection types (list,list:list) given a single list:list HDCA must emit two dropdown entries with the same HID — one direct (no map_over_type) and one multirun (map_over_type="list") — because direct_match and can_map_over are not mutually exclusive across the CTD list.

test_build_collection_options_unmappable_excluded()[source]

A plain list collection neither directly matches a paired param nor can be mapped over to one, so it must not appear.

test_legacy_biotools_xref_injection()[source]
test_tool_schemas()[source]
test_tool_schema_metadata()[source]

Test that tool parameter JSON schemas include Galaxy metadata attributes.

test_tool_schema_min_max()[source]
test_tool_schema_select_options()[source]
test_data_source_ok_request(mock_http_server)[source]
test_data_source_sniff_fastqsanger()[source]
test_data_sources_block_file_parameters()[source]
test_model_attributes_sanitization()[source]
test_fetch_workbook_generate()[source]
test_test_data_filepath_security()[source]
test_test_data_admin_security()[source]
test_data_table_requirement_annotated()[source]
test_test_data_composite_output()[source]
test_test_data_collection_two_paired()[source]
test_test_data_collection_nested()[source]
test_test_data_null_boolean_inputs()[source]
test_test_data_yaml_tools()[source]
test_test_data_download()[source]
test_test_data_downloads_security()[source]
test_test_data_download_composite()[source]
test_convert_dataset_explicit_history()[source]
test_convert_dataset_implicit_history()[source]
test_convert_hdca()[source]
test_unzip_collection()[source]
test_unzip_nested()[source]
test_zip_inputs()[source]
test_collection_operation_dataset_input_permissions()[source]
test_collection_operation_collection_input_permissions()[source]
test_zip_list_inputs()[source]
test_merge_collection_rejects_structurally_invalid_inputs()[source]
test_database_operation_tool_with_pending_inputs()[source]
test_extract_dataset_invalid_element_identifier()[source]
test_convert_sample_sheet_to_list()[source]
test_convert_sample_sheet_paired_to_list_paired()[source]
test_filter_failed_list()[source]
test_filter_failed_list_paired()[source]
test_apply_rules_with_error_in_mapping()[source]
test_apply_rules_flatten_paired_unpaired()[source]
test_apply_rules_1()[source]
test_apply_rules_2()[source]
test_apply_rules_3()[source]
test_apply_rules_4()[source]
test_apply_rules_5()[source]
test_apply_rules_6()[source]
test_apply_rules_create_paired_or_unpaired_list()[source]
test_apply_rules_flatten_with_indices()[source]
test_apply_rules_nested_list_from_sample_sheet()[source]
test_apply_rules_nested_list_of_pairs_from_sample_sheet()[source]
test_dataset_hidden_after_job_finish()[source]
test_drill_down_first_by_default()[source]
test_data_column_defaults()[source]
test_run_cat1()[source]
test_run_cat1_use_cached_job()[source]
test_run_cat1_use_cached_job_build_list()[source]
test_run_cat_list_hdca_sort_order_respecrted_use_cached_job()[source]
test_run_cat1_use_cached_job_from_public_history()[source]
test_run_cat1_use_cached_job_renamed_input()[source]
test_run_cat_list_use_cached_job_repeated_input()[source]
test_run_collection_creates_list_use_cached_job()[source]
test_run_collection_creates_list_use_cached_job_renamed_input()[source]
test_job_cache_copy_collection()[source]

Test job caching when collection_creates_list_2 is run with renamed dataset input.

This tests the scenario where: - A tool has both a dataset input and a collection input - The tool outputs a flat list (HDA elements) with structured_like - The dataset input is renamed between runs - Early caching misses due to name mismatch - Late caching (require_name_match=False) finds a match - copy_from_job is called during job preparation

This triggers https://github.com/galaxyproject/galaxy/issues/21556

test_run_identifier_single_map_over_nested_collection_use_cached_job()[source]
test_run_identifier_single_use_cached_job_renamed_input()[source]
test_run_collection_creates_dynamic_list_of_pairs_use_cached_job()[source]
test_run_multi_output_assign_primary_ext_dbkey_use_cached_job()[source]
test_run_cat1_listified_param()[source]
test_run_by_versions()[source]
test_test_by_versions()[source]
test_show_with_wrong_tool_version_in_tool_id()[source]
test_show_lists_hidden_versions_separately()[source]
test_run_hidden_version()[source]
test_run_cat1_single_meta_wrapper()[source]
test_guess_derived_permissions()[source]
test_guess_derived_permissions_collections(history_id)[source]
test_validation(history_id)[source]
test_validation_empty_dataset(history_id)[source]
test_validation_in_repeat(history_id)[source]
test_collection_parameter(history_id)[source]
test_paired_collection_output(history_id)[source]
test_list_collection_output(history_id)[source]
test_list_collection_output_format_source(history_id)[source]
test_dynamic_list_output(history_id)[source]
test_dynamic_list_output_datasets_in_failed_state(history_id)[source]
test_nonadmin_users_cannot_create_tools()[source]
test_dynamic_tool_1()[source]
test_dynamic_tool_from_path()[source]
test_dynamic_tool_no_id()[source]
test_dynamic_tool_shell_command()[source]
test_collection_into_multiple_true()[source]
test_show_dynamic_tools()[source]
test_show_tool_source_admin()[source]
test_show_tool_source_denied()[source]
test_tool_deactivate()[source]
test_run_cat1_with_two_inputs(history_id)[source]
test_bam_state_regression(history_id)[source]
test_qc_messages(history_id)[source]
test_multirun_cat1(history_id)[source]
test_multirun_non_data_parameter(history_id)[source]
test_dynamic_parameter_error_handling()[source]
test_map_over_with_output_filter_no_filtering(history_id)[source]
test_map_over_with_output_filter_on_optional_input(history_id)[source]
test_map_over_with_output_filter_one_filtered(history_id)[source]
test_map_over_with_complex_output_actions(history_id)[source]
test_map_over_with_discovered_output_collection_elements(history_id)[source]
test_long_output_name_fails_gracefully(history_id)[source]
test_identifier_in_map(history_id)[source]
test_identifier_outside_map(history_id)[source]
test_list_selectable_in_multidata_input(history_id)[source]
test_identifier_map_over_input_in_conditional(history_id)[source]
test_hdca_accepted_via_batch_for_single_data_param_in_conditional(history_id)[source]
test_hdca_rejected_for_single_data_param_in_conditional(history_id)[source]
test_identifier_multiple_reduce_in_conditional(history_id)[source]
test_map_over_nested_collections(history_id)[source]
test_paired_input_map_over_nested_collections(history_id)[source]
test_paired_input_conditional_map_over_nested_collections(history_id)[source]
test_map_over_two_collections(history_id)[source]
test_map_over_two_collections_unlinked(history_id)[source]
test_map_over_collected_and_individual_datasets(history_id)[source]
test_can_map_over_dce_from_larger_list_paired()[source]

Regression: mapping a DCE should use the child collection structure, not the parent list structure. Previously raised KeyError when the parent list had more elements than the child pair collection.

test_default_identifier_source_map_over()[source]
test_map_over_collection_output()[source]
test_cannot_map_over_incompatible_collections()[source]
test_map_over_collection_structured_like()[source]
test_map_over_collection_type_source()[source]
test_reduce_collections_legacy()[source]
test_reduce_collections()[source]
test_implicit_reduce_with_mapping()[source]
test_multi_param_column_nested_list()[source]
test_multi_param_column_nested_list_fails_on_invalid_column()[source]
test_implicit_conversion_input_dataset_tracking()[source]
test_implicit_conversion_and_reduce()[source]
test_implicit_conversion_and_reduce_invalid_param()[source]
test_reduce_collections_in_repeat()[source]
test_reduce_collections_in_repeat_legacy()[source]
test_reduce_multiple_lists_on_multi_data()[source]
test_group_tag_selection(history_id)[source]
test_group_tag_selection_multiple(history_id)[source]
test_run_deferred_dataset_cached(history_id)[source]
test_metadata_validator_on_deferred_input(history_id)[source]
test_metadata_validator_can_fail_on_deferred_input(history_id)[source]
test_allow_uri_if_protocol_on_deferred_input(history_id)[source]
test_allow_uri_if_protocol_on_collection_with_deferred(history_id)[source]
test_run_deferred_mapping(history_id: str)[source]
test_run_deferred_list_multi_data_reduction(history_id: str)[source]
test_run_deferred_nested_list_input(history_id: str)[source]
test_deferred_map_over_nested_collections(history_id)[source]
class galaxy_test.api.test_tools.TestDataManagerToolsApi[source]

Bases: ApiTestCase, TestsTools

API tests that need the test case to act as an admin (e.g. data managers).

require_admin_user = True
dataset_populator: DatasetPopulator
setUp()[source]
test_build_does_not_leak_hda_from_user_bundle()[source]
galaxy_test.api.test_tools.dataset_to_param(dataset)[source]

galaxy_test.api.test_tools_upload module

class galaxy_test.api.test_tools_upload.TestToolsUpload[source]

Bases: ApiTestCase

dataset_populator: DatasetPopulator
setUp()[source]
test_upload1_paste()[source]
test_upload1_paste_bad_datatype()[source]
test_upload_posix_newline_fixes_by_default()[source]
test_fetch_posix_unaltered()[source]
test_upload_disable_posix_fix()[source]
test_fetch_post_lines_option()[source]
test_post_lines_trailing()[source]
test_post_lines_trailing_off()[source]
test_fetch_post_lines_trailing_off_by_default()[source]
test_fetch_post_lines_trailing_if_to_posix()[source]
test_upload_tab_to_space_off_by_default()[source]
test_fetch_tab_to_space_off_by_default()[source]
test_upload_tab_to_space()[source]
test_fetch_tab_to_space()[source]
test_fetch_tab_to_space_doesnt_swap_newlines()[source]
test_fetch_compressed_with_explicit_type()[source]
test_fetch_compressed_default()[source]
test_fetch_compressed_auto_decompress_target(history_id)[source]
test_upload_decompress_off_with_auto_by_default()[source]
test_upload_decompresses_if_uncompressed_type_selected()[source]
test_upload_decompress_off_if_compressed_type_selected()[source]
test_upload_auto_decompress_off()[source]
test_fetch_compressed_with_auto(history_id)[source]
test_rdata_not_decompressed()[source]
test_csv_upload()[source]
test_geocsv_upload_auto()[source]
test_csv_upload_auto()[source]
test_csv_fetch()[source]
test_csv_sniff_fetch()[source]
test_image_upload_auto()[source]
test_newlines_stage_fetch(history_id: str) None[source]
test_stage_object(history_id: str) None[source]
test_stage_object_fetch(history_id: str) None[source]
test_newlines_stage_fetch_configured(history_id: str) None[source]
test_stage_fetch_decompress_true(history_id: str) None[source]
test_stage_fetch_decompress_false(history_id: str) None[source]
test_upload_multiple_mixed_success(history_id, mock_http_server)[source]
test_fetch_bam_file_from_url_with_extension_set(history_id, mock_http_server)[source]
test_fetch_html_from_url(history_id, mock_http_server)[source]
test_abort_fetch_job(history_id, mock_http_server)[source]
test_composite_datatype()[source]
test_composite_datatype_fetch(history_id)[source]
test_composite_datatype_stage_fetch(history_id: str) None[source]
test_composite_datatype_pbed_stage_fetch(history_id: str) None[source]
test_composite_datatype_stage_upload1(history_id: str) None[source]
test_composite_datatype_space_to_tab(history_id)[source]
test_composite_datatype_posix_lines()[source]
test_composite_datatype_isatab()[source]
test_upload_composite_as_tar(history_id)[source]
test_upload_composite_as_tar_fetch(history_id)[source]
test_upload_composite_from_bad_tar(history_id)[source]
test_upload_tar_roundtrip(history_id)[source]
test_upload_zip_roundtrip(history_id)[source]
test_upload_dbkey()[source]
test_fetch_bam_file(history_id)[source]
test_upload_bam_file()[source]
test_fetch_metadata()[source]
test_upload_multiple_files_1()[source]
test_upload_multiple_files_2()[source]
test_upload_multiple_files_3()[source]
test_upload_multiple_files_no_dbkey()[source]
test_upload_multiple_files_space_to_tab()[source]
test_multiple_files_posix_lines()[source]
test_upload_force_composite()[source]
test_upload_from_invalid_url()[source]
test_upload_from_404_url(mock_http_server)[source]
test_upload_from_valid_url(mock_http_server)[source]
test_upload_from_valid_url_spaces(mock_http_server)[source]
test_fetch_data_type_mismatch_warning()[source]
test_upload_and_validate_invalid()[source]
test_upload_and_validate_valid()[source]
test_upload_and_validate_hash_valid()[source]
test_upload_and_validate_hash_invalid()[source]
test_upload_dataset_resumable()[source]
test_upload_deferred(history_id)[source]

galaxy_test.api.test_tours module

class galaxy_test.api.test_tours.TestToursApi[source]

Bases: ApiTestCase

test_index()[source]
test_show()[source]
test_update()[source]
test_generate_tour_tool_not_found()[source]
test_generate_tour_for_random_lines1()[source]

galaxy_test.api.test_users module

class galaxy_test.api.test_users.TestUsersApi[source]

Bases: ApiTestCase

test_index()[source]
test_index_with_pagination()[source]
test_index_anon()[source]
test_index_only_self_for_nonadmins()[source]
test_show()[source]
test_update()[source]
test_admin_update()[source]
test_delete_user()[source]
test_purge_user()[source]

Delete user and then purge them.

test_undelete_user()[source]

Delete user and then undelete them.

test_delete_user_cancel_all_jobs()[source]
test_information()[source]
test_manage_api_key()[source]
test_only_admin_can_manage_other_users_api_key()[source]
test_favorites()[source]
test_favorites_whitespace_tool_id()[source]
test_favorite_tags()[source]
test_reorder_favorites()[source]
test_favorite_edam_operations()[source]
test_search_favorites()[source]
test_set_theme()[source]
test_show_delete()[source]
test_show_current()[source]
test_manage_beacon_settings()[source]
test_user_roles()[source]

galaxy_test.api.test_visualizations module

class galaxy_test.api.test_visualizations.TestVisualizationsApi[source]

Bases: ApiTestCase, SharingApiTests

api_name: str = 'visualizations'
create(_: str) str[source]

Creates a shareable resource with the given name and returns it’s ID.

Parameters:

name – The name of the shareable resource to create.

Returns:

The ID of the resource.

test_index_and_show()[source]
test_index_ordering()[source]
test_index_filtering()[source]
test_create()[source]
test_create_fails_without_title()[source]
test_create_fails_with_bad_slug()[source]
test_create_fails_with_invalid_config()[source]
test_sharing()[source]
test_update_title()[source]

galaxy_test.api.test_webhooks module

class galaxy_test.api.test_webhooks.TestWebhooksApi[source]

Bases: ApiTestCase

setUp()[source]
test_get_all()[source]
test_get_data()[source]

galaxy_test.api.test_workflow_extraction module

class galaxy_test.api.test_workflow_extraction.TestWorkflowExtractionApi[source]

Bases: _ExtractionHelpersMixin, BaseWorkflowsApiTestCase, WorkflowStructureAssertions

test_extract_from_history(history_id)[source]
test_extract_udt_step_with_downstream_tool(history_id)[source]
test_extract_with_copied_inputs(history_id)[source]
test_extract_with_copied_inputs_reimported(history_id)[source]
test_extract_mapping_workflow_from_history(history_id)[source]
test_extract_copied_mapping_from_history(history_id)[source]
test_extract_copied_mapping_from_history_reimported(history_id)[source]
test_extract_reduction_from_history(history_id)[source]
test_extract_workflows_with_dataset_collections(history_id)[source]
test_empty_collection_map_over_extract_workflow()[source]
test_subcollection_mapping(history_id)[source]
test_subcollection_reduction(history_id)[source]
test_extract_workflow_with_output_collections(history_id)[source]
test_extract_with_mapped_output_collections(history_id)[source]
class galaxy_test.api.test_workflow_extraction.TestWorkflowExtractionByIdsApi[source]

Bases: _ExtractionHelpersMixin, BaseWorkflowsApiTestCase, WorkflowStructureAssertions

Tests for POST /api/workflows/extract (ID-based extraction).

Sibling of TestWorkflowExtractionApi — same scenarios, but the payload carries encoded HDA / HDCA / job ids rather than HIDs, and the request goes to the new history-optional endpoint.

test_extract_with_hda_ids(history_id)[source]
test_extract_mapping_workflow_by_ids(history_id)[source]
test_subcollection_mapping_by_ids(history_id)[source]

ID-path equivalent of HID test_subcollection_mapping. Exercises a tool consuming a paired sub-collection element of a list:paired; wiring goes through find_implicit_input_collection so the workflow sees a single list:paired input rather than per-job leaves.

test_extract_with_copied_inputs_post_copy_ids(history_id)[source]

User passes post-copy HDA ids (in extraction history) plus the original (pre-copy) job id.

test_extract_with_copied_inputs_pre_copy_ids(history_id)[source]

User passes pre-copy HDA ids (in original history) plus the original job id; copies exist in history_id but are not referenced. Cross-history extraction — no history context supplied or required.

test_empty_payload_rejected(history_id)[source]
test_job_with_icj_via_job_ids_rejected(history_id)[source]

A constituent job of an implicit collection map must not be passed as a plain job_id - the caller must use implicit_collection_jobs_ids so the server can treat the whole map as one step.

test_mixed_icj_and_member_job_rejected(history_id)[source]

Passing both an ICJ and one of its constituent jobs is rejected - the validator that filters job_ids fires first because the member job carries an ICJ association.

test_duplicate_icj_ids_rejected(history_id)[source]
test_nonexistent_icj_id_rejected(history_id)[source]
test_inaccessible_dataset_rejected(history_id)[source]

Another user’s private HDA in payload should be rejected.

test_nonexistent_hda_id_rejected(history_id)[source]
test_nonexistent_hdca_id_rejected(history_id)[source]
test_duplicate_hda_ids_rejected(history_id)[source]
test_inaccessible_collection_rejected(history_id)[source]

Another user’s private HDCA in payload should be rejected.

test_extract_dce_as_data_param_flows_through_as_leaf_hda(history_id)[source]

A tool job whose DataToolParameter was fed a DCE (drag-and-dropped collection element) should resolve its connection via the leaf HDA’s id — the workflow has no DCE/HDCA reference. User passes the leaf HDA id in hda_ids.

test_extract_after_copy_no_foreign_jobs(history_id)[source]

Regression for #9161: dataset copied A->B, tool run in B, extract from B. With ID-based extraction the user explicitly supplies the B-side job; result must not reference the A-side dataset’s HDA id.

test_extract_with_cached_job_cross_history(history_id)[source]

Run cat1 in history A, then in B with use_cached_job=True. Extract from B with hda_ids/job_ids referring to B-side rows. Workflow should wire B-side input to B-side cached job, not pull A-side rows in.

test_roundtrip_basic_by_ids(history_id)[source]

Extract a cat1 workflow via the by-ids endpoint, invoke it on a fresh history, and assert it produces an output.

test_extract_reduction_by_ids(history_id)[source]
test_extract_by_ids_input_order_equivalent(history_id)[source]

Same hda_ids in different order produce structurally equivalent workflows. Canvas layout via order_workflow_steps_with_levels may differ across input orderings, but step types, tool set, and connection topology must match.

test_extract_with_output_labels_marks_workflow_outputs(history_id)[source]
test_extract_with_output_label_for_copied_output(history_id)[source]
test_extract_duplicate_output_label_rejected(history_id)[source]
test_extract_distinct_outputs_with_duplicate_label_string_rejected(history_id)[source]

Two distinct outputs cannot share the same workflow output label (duplicate-label-string guard in WorkflowsService._validate_extract_by_ids_payload). Sibling of the same-id duplicate guard which the existing duplicate test pins.

test_extract_with_empty_output_labels_matches_existing_behavior(history_id)[source]
test_extract_output_label_for_icj_step(history_id)[source]

ICJ producer: labelling the mapped output HDCA of a map-over step must attach the workflow_output to the tool step, keyed by the implicit collection output name.

test_extract_output_label_orphan_rejected(history_id)[source]

Labelling an HDA that was not produced by any selected step must be rejected with a 400. Hits the orphan guard in WorkflowsService._validate_extract_by_ids_payload (the inner guard in extract_steps is dead for the API path because the service layer fires first).

test_extract_output_label_collapses_internal_whitespace(history_id)[source]
test_extract_output_label_truncated_at_255(history_id)[source]

Sanitizer silently truncates at 255 chars (_sanitize_output_label).

test_extract_output_label_empty_after_sanitize_rejected(history_id)[source]
class galaxy_test.api.test_workflow_extraction.TestWorkflowExtractionSummaryApi[source]

Bases: _ExtractionHelpersMixin, BaseWorkflowsApiTestCase

Tests for GET /api/histories/{history_id}/extraction_summary.

test_extraction_summary_empty_history()[source]
test_extraction_summary_input_datasets_from_upload()[source]
test_extraction_summary_input_collection()[source]
test_extraction_summary_tool_step()[source]
test_extraction_summary_includes_udt_step()[source]
test_extraction_summary_udt_step_invalid_after_role_revoked()[source]
test_extraction_summary_mapped_tool_step_icj_metadata()[source]
test_extraction_summary_suggested_name_source_per_producer_kind()[source]

Per-kind dispatch (HDA path vs HDCA path in workflow_extraction_naming): rename the cat1 HDA so its source is ‘renamed’ and its suggested_name reflects the rename. The mapped ICJ HDCA — never renamed by us — must surface its own auto-generated HDCA name, distinct from the cat1 rename. A regression that hard-codes a single source token or returns the same name for both producer kinds fails this test.

test_extraction_summary_structure()[source]
class galaxy_test.api.test_workflow_extraction.RunJobsSummary(history_id, workflow_id, inputs, jobs)

Bases: tuple

history_id

Alias for field number 0

inputs

Alias for field number 2

jobs

Alias for field number 3

workflow_id

Alias for field number 1

galaxy_test.api.test_workflows module

class galaxy_test.api.test_workflows.RunsWorkflowFixtures[source]

Bases: object

workflow_populator: WorkflowPopulator
class galaxy_test.api.test_workflows.BaseWorkflowsApiTestCase[source]

Bases: ApiTestCase, RunsWorkflowFixtures

dataset_populator: DatasetPopulator
setUp()[source]
import_workflow(workflow, **kwds)[source]
class galaxy_test.api.test_workflows.ChangeDatatypeTests[source]

Bases: object

dataset_populator: DatasetPopulator
workflow_populator: WorkflowPopulator
test_assign_column_pja()[source]
class galaxy_test.api.test_workflows.TestWorkflowSharingApi[source]

Bases: ApiTestCase, SharingApiTests

api_name: str = 'workflows'
create(name: str) str[source]

Creates a shareable resource with the given name and returns it’s ID.

Parameters:

name – The name of the shareable resource to create.

Returns:

The ID of the resource.

setUp()[source]
class galaxy_test.api.test_workflows.TestWorkflowsApi[source]

Bases: BaseWorkflowsApiTestCase, ChangeDatatypeTests

dataset_populator: DatasetPopulator
test_show_valid()[source]
test_show_subworkflow()[source]
test_show_invalid_key_is_400()[source]
test_cannot_show_private_workflow()[source]
test_cannot_download_private_workflow()[source]
test_anon_can_download_importable_workflow()[source]
test_anon_can_download_public_workflow()[source]
test_anon_can_see_workflow_preview()[source]
test_download_workflow_with_missing_file_source()[source]

Test that workflows referencing non-existent file sources can be downloaded.

Regression test for https://github.com/galaxyproject/galaxy/issues/21732. When a file source referenced in a workflow is removed from the server configuration, users should still be able to download the workflow for viewing and editing.

test_delete()[source]
test_other_cannot_delete()[source]
test_undelete()[source]
test_other_cannot_undelete()[source]
test_index()[source]
test_index_deleted()[source]
test_index_hidden()[source]
test_index_ordering()[source]
test_index_sort_by()[source]
test_index_limit_and_offset()[source]
test_index_show_shared()[source]
test_index_skip_step_counts()[source]
test_index_search_name()[source]
test_index_search_name_exact_vs_inexact()[source]
test_index_search_tags()[source]
test_index_search_tags_multiple()[source]
test_index_search_many_terms()[source]
test_search_casing()[source]
test_index_search_tags_exact()[source]
test_index_published()[source]
test_index_search_is_tags()[source]
test_index_owner()[source]
test_index_parameter_invalid_combinations()[source]
test_index_total_matches()[source]
test_upload()[source]
test_upload_deprecated()[source]
test_import_tools_requires_admin()[source]
test_workflow_download_instance()[source]
test_workflow_run_input_extension_restriction_applied()[source]
test_update()[source]
test_update_tags()[source]
test_update_name()[source]
test_update_name_for_workflow_with_subworkflows()[source]
test_update_name_empty()[source]
test_workflow_run_form_with_broken_dataset()[source]
test_refactor()[source]
test_refactor_specific_version()[source]

Test that refactoring can target a specific workflow version.

test_refactor_tool_state_upgrade()[source]
test_refactor_subworkflow_tool_state_upgrade()[source]
test_wrong_current_case_ignored_on_execution()[source]

Prove __current_case__ is redundant: set it wrong, assert output follows test param.

test_missing_current_case_recomputed_on_execution()[source]

Prove __current_case__ can be absent — Galaxy recomputes it from the test param.

test_update_no_tool_id()[source]
test_update_missing_tool()[source]
test_require_unique_step_uuids()[source]
test_require_step_valid_v4_uuids()[source]
test_require_unique_step_labels()[source]
test_import_deprecated()[source]
test_import_annotations()[source]
test_import_subworkflows()[source]
test_subworkflow_inputs_optional_editor()[source]
test_not_importable_prevents_import()[source]
test_url_import(mock_http_server)[source]
test_base64_import()[source]
test_readme_metadata()[source]
test_readme_too_large()[source]
test_trs_import()[source]
test_trs_import_from_dockstore_trs_url()[source]
test_trs_import_from_workflowhub_trs_url()[source]
test_import_ga_workflow_with_url_subworkflow()[source]

Test importing a .ga workflow where a subworkflow is referenced via a base64:// URL.

test_import_gxformat2_workflow_with_url_subworkflow()[source]

Test importing a gxformat2 workflow where a subworkflow is referenced via a base64:// URL.

test_import_ga_workflow_with_trs_url_subworkflow()[source]

Test importing a .ga workflow where a subworkflow is referenced via a TRS URL.

test_import_ga_workflow_with_trs_id_subworkflow()[source]

Test importing a .ga workflow where a subworkflow is referenced via TRS server + tool ID + version.

Test that downloading with preserve_external_subworkflow_links emits content_source/content_id.

After updating a subworkflow the external link is lost and content is embedded verbatim.

test_roundtrip_ga_workflow_with_url_subworkflow()[source]

Import .ga with URL subworkflow, download with preserved links, re-import, verify.

test_roundtrip_format2_workflow_with_url_subworkflow()[source]

Import gxformat2 with URL subworkflow, download format2 with preserved links, re-import, verify.

test_anonymous_published()[source]
test_anonymous_search_bookmarked()[source]
test_anonymous_search_shared_with_me()[source]
test_import_published()[source]
test_import_published_api()[source]
test_export()[source]
test_export_format2()[source]
test_export_format2_comments()[source]
test_export_editor()[source]
test_export_editor_filtered_outputs()[source]
test_export_editor_filtered_outputs_exception_handling()[source]
test_export_editor_collection_type_source()[source]
test_export_editor_subworkflow_collection_type_source()[source]
test_import_missing_tool()[source]
test_import_no_tool_id()[source]
test_import_export_with_runtime_inputs()[source]
test_run_workflow_by_index()[source]
test_run_workflow_by_uuid()[source]
test_run_workflow_by_uuid_implicitly()[source]
test_run_workflow_by_name()[source]
test_run_workflow()[source]
test_run_workflow_by_deferred_url()[source]
test_run_workflow_by_url()[source]
test_run_workflow_with_valid_url_hashes()[source]
test_run_workflow_with_valid_url_hashes_cached()[source]
run_workflow_with_valid_hashes(history_id: str, content_1: str, content_2: str, use_cached_job: bool = False)[source]
test_run_workflow_with_invalid_url_hashes()[source]
test_run_workflow_with_invalid_url()[source]
test_run_workflow_with_url_collection()[source]
test_run_workflow_with_url_invalid_hash_collection()[source]
test_run_workflow_with_url_paired_collection()[source]
test_run_workflow_from_url_with_implicit_conversion_on_collection()[source]
test_run_workflow_from_urls_with_implicit_conversion_on_collection()[source]
test_workflow_run_output_collections() None[source]
test_workflow_resume_from_failed_step()[source]
test_workflow_resume_from_failed_step_with_hdca_input()[source]
test_workflow_resume_with_mapped_over_input()[source]
test_workflow_resume_with_mapped_over_collection_input()[source]
test_workflow_list_list_multi_data_map_over()[source]
test_workflow_run_output_collection_mapping()[source]
test_workflow_run_dynamic_output_collections()[source]
test_workflow_run_dynamic_output_collections_2()[source]
test_workflow_run_dynamic_output_collections_3()[source]
test_workflow_input_tags()[source]
test_empty_file_data_column_specified()[source]
test_comma_separated_columns()[source]
test_comma_separated_columns_with_trailing_newline()[source]
test_runtime_data_column_parameter()[source]
test_workflow_metadata_validation_0()[source]
test_run_workflow_pick_value_bam_pja()[source]
test_expression_tool_output_in_format_source()[source]
test_pick_value_first_non_null()[source]
test_pick_value_first_non_null_error_all_null()[source]
test_pick_value_first_or_skip()[source]
test_pick_value_first_or_skip_all_null()[source]
test_pick_value_the_only_non_null()[source]
test_pick_value_the_only_non_null_error_multiple()[source]
test_pick_value_all_non_null()[source]
test_pick_value_first_non_null_ordering()[source]

Verify first_non_null picks input_0 over input_1 when both are non-null.

test_pick_value_first_non_null_ordering_skipped_first()[source]

Verify first_non_null skips null input_0 and picks input_1.

test_run_workflow_simple_conditional_step()[source]
test_run_workflow_simple_conditional_step_with_nested_tool_state()[source]
test_run_workflow_invalid_when_expression()[source]
test_run_workflow_fails_when_expression_not_boolean()[source]
test_run_workflow_subworkflow_conditional_with_simple_mapping_step()[source]
test_run_workflow_subworkflow_conditional_step()[source]
test_run_nested_conditional_workflow_steps()[source]
test_run_workflow_conditional_subworkflow_step_with_hdca_creation()[source]
test_run_workflow_conditional_step_map_over_expression_tool()[source]
test_run_workflow_conditional_subworkflow_step_map_over_expression_tool()[source]
test_run_workflow_conditional_subworkflow_step_map_over_expression_tool_with_extra_nesting()[source]
test_run_workflow_conditional_subworkflow_step_map_over_expression_tool_with_extra_nesting_skip_all()[source]
test_run_workflow_conditional_step_map_over_expression_tool_pick_value()[source]
test_run_subworkflow_simple() None[source]
test_run_subworkflow_runtime_parameters()[source]
test_run_subworkflow_replacement_parameters()[source]
test_run_runtime_parameters_after_pause()[source]
test_run_subworkflow_auto_labels()[source]
test_workflow_invocation_report_1()[source]
test_workflow_invocation_report_custom()[source]
test_workflow_invocation_report_invalid_hdca_id()[source]

Test that an invalid HDCA id is reported in errors.

test_export_invocation_bco()[source]
test_export_invocation_ro_crate()[source]
test_reimport_invocation_with_files()[source]

Test that reimporting an invocation with include_files=True preserves dataset state and content.

test_export_invocation_ro_crate_with_subworkflow()[source]

Test that subworkflow invocation datasets are included in export.

test_export_reimport_reexport_invocation_with_subworkflow()[source]

Test that subworkflow invocation data survives a round-trip export/import/export cycle.

test_merge_collection_scheduling(history_id)[source]
test_export_invocation_ro_crate_adv()[source]
test_workflow_run_apply_rules()[source]
test_filter_failed_mapping()[source]
test_keep_success_mapping_error()[source]
test_keep_success_mapping_paused()[source]
test_subworkflow_missing_input_connection_error()[source]
test_run_subworkflow_with_required_input_with_default_unconnected()[source]

Test subworkflow with required parameter input that has default value but is unconnected.

This test verifies that a subworkflow can run successfully when: 1. Parent workflow has a subworkflow step 2. Subworkflow has a parameter input with:

  • optional: false (required)

  • default: “default_value”

  1. The parameter input is NOT connected from parent workflow

  2. The default value should be used automatically

Before the fix, this would fail with “Subworkflow has disconnected required input.” After the fix, the workflow runs successfully using the default value.

test_subworkflow_validation_error_step_path()[source]

Test that validation errors from subworkflows include the full step path.

test_workflow_request()[source]
test_workflow_request_recover()[source]
test_workflow_new_autocreated_history()[source]
test_invocation_job_metrics_simple()[source]
test_invocation_job_metrics_with_subworkflow()[source]

Test that subworkflow job metrics are included in parent invocation metrics.

test_invocation_job_metrics_map_over()[source]
test_workflow_output_dataset()[source]
test_workflow_output_dataset_collection()[source]
test_workflow_input_as_output()[source]
test_subworkflow_output_as_output()[source]
test_workflow_input_mapping()[source]
test_workflow_run_input_mapping_with_output_collections()[source]
test_workflow_run_input_mapping_with_subworkflows()[source]
test_subworkflow_recover_mapping_1()[source]
test_subworkflow_recover_mapping_2()[source]
test_recover_mapping_in_subworkflow()[source]
test_empty_list_mapping()[source]
test_subworkflow_map_over_data_column()[source]
test_run_with_implicit_collection_map_over()[source]
test_change_datatype_collection_map_over()[source]
test_change_datatype_discovered_outputs()[source]
test_mapping_and_subcollection_mapping()[source]
test_empty_list_reduction()[source]
test_cancel_new_workflow_when_history_deleted()[source]
test_cancel_ready_workflow_when_history_deleted()[source]
test_workflow_pause()[source]
test_workflow_pause_cancel()[source]
test_workflow_map_reduce_pause()[source]
test_cancel_workflow_invocation()[source]
test_cancel_workflow_invocation_deletes_jobs()[source]
test_workflow_failed_output_not_found(history_id)[source]
test_workflow_warning_workflow_output_not_found(history_id)[source]
test_workflow_failed_input_not_ok(history_id)[source]
test_workflow_failed_with_message_exception(history_id)[source]
test_relabel_from_file_rejects_non_utf8_labels(history_id)[source]
test_relabel_from_file_with_paused_labels_does_not_crash(history_id)[source]
test_invocation_map_over(history_id)[source]
test_invocation_double_map_over(history_id)[source]
test_invocation_map_over_inner_collection(history_id)[source]
test_invocation_map_over_inner_collection_with_tool_collection_input(history_id)[source]
test_invocation_double_map_over_inner_collection_with_tool_collection_input(history_id)[source]
test_pause_outputs_with_deleted_inputs()[source]
test_error_outputs_with_purged_inputs()[source]
test_workflow_with_deleted_dataset_step_parameter()[source]

Verify workflow fails gracefully when a step parameter references a deleted dataset.

Uses a pause step so we can delete the dataset after the invocation is queued but before the cat step executes, avoiding a race condition.

test_run_with_implicit_connection()[source]
test_run_with_optional_data_specified_to_multi_data()[source]
test_run_with_optional_data_unspecified_to_multi_data()[source]
test_run_with_optional_data_unspecified_survives_delayed_step()[source]
test_run_subworkflow_with_optional_data_unspecified()[source]
test_run_subworkflow_with_optional_parent_input_connected_but_not_provided()[source]

Test subworkflow when parent’s optional input is connected but not provided.

This test verifies the fix for a bug where: 1. Parent workflow has an OPTIONAL input 2. That optional input IS CONNECTED to the subworkflow’s input 3. But NO DATA is provided for the parent’s optional input 4. Subworkflow has DELAYED SCHEDULING (via $link)

After the fix, the parent’s optional input outputs are pre-populated with NO_REPLACEMENT before the subworkflow executes, allowing it to properly handle the missing value.

This is different from the case where subworkflow inputs are completely unconnected, which was fixed in 2022.

test_run_subworkflow_with_boolean_parameter_in_when_condition()[source]

Test boolean false parameter passed to subworkflow with when condition.

This test verifies that boolean parameters (especially false) are properly passed from parent to subworkflow when the subworkflow has: 1. Delayed scheduling (via $link) 2. A when condition that uses the boolean parameter

Previously, false values were converted to None in the when expression evaluation, causing “when_not_boolean” errors.

test_run_with_non_optional_data_unspecified_fails_invocation()[source]
test_run_with_optional_collection_specified()[source]
test_run_with_optional_collection_unspecified()[source]
test_run_with_non_optional_collection_unspecified_fails_invocation()[source]
test_run_with_validated_parameter_connection_optional()[source]
test_run_with_int_parameter()[source]
test_run_with_int_parameter_nested()[source]
test_run_with_validated_parameter_connection_default_values()[source]
test_run_with_default_file_dataset_input()[source]
test_run_with_default_file_dataset_input_and_explicit_input()[source]
test_run_with_default_file_in_step_inline()[source]
test_conditional_skip_on_database_operation_collection_output()[source]
test_conditional_flat_crossproduct_subworkflow()[source]
test_run_with_validated_parameter_connection_invalid()[source]
test_run_with_text_input_connection()[source]
test_run_with_numeric_input_connection(history_id)[source]
test_workflow_optional_input_text_parameter_reevaluation()[source]
test_workflow_rerun_with_use_cached_job()[source]
test_workflow_rerun_with_use_cached_job_hides_output(history_id: str)[source]
test_workflow_rerun_with_cached_job_consumes_implicit_hdca(history_id: str)[source]
test_nested_workflow_rerun_with_use_cached_job()[source]
test_cannot_run_inaccessible_workflow()[source]
test_400_on_invalid_workflow_id()[source]
test_cannot_run_against_other_users_history()[source]
test_cannot_run_workflow_as_anon()[source]
test_cannot_run_bootstrap_admin_workflow()[source]
test_workflow_run_with_matching_lists()[source]
test_workflow_stability()[source]
test_empty_create()[source]
test_invalid_create_multiple_types()[source]
test_run_with_pja()[source]
test_run_with_non_string_replacement_params()[source]
test_hidden_param_in_workflow()[source]
test_optional_workflow_output()[source]
test_workflow_optional_input_filtering()[source]
test_run_rename_on_mapped_over_collection()[source]
test_run_rename_based_on_inputs_on_mapped_over_collection()[source]
test_run_rename_collection_output()[source]
test_run_build_list_hide_collection_output()[source]
test_run_build_list_delete_intermediate_collection_output()[source]
test_run_build_list_change_datatype_collection_output()[source]
test_run_build_list_change_datatype_new_metadata_file_parameter()[source]
test_run_build_list_rename_collection_output()[source]
test_run_rename_multiple_outputs()[source]
test_run_rename_based_on_input()[source]
test_run_rename_when_resuming_jobs()[source]
test_run_rename_based_on_input_recursive()[source]
test_run_rename_based_on_input_repeat()[source]
test_run_rename_based_on_input_conditional()[source]
test_run_rename_based_on_input_conditional_legacy_pja_reference()[source]
test_run_hide_on_collection_output()[source]
test_run_hide_on_mapped_over_collection()[source]
test_tag_auto_propagation()[source]
test_run_add_tag_on_collection_output()[source]
test_run_add_tag_on_mapped_over_collection()[source]
test_run_remove_tag_on_collection_output()[source]
test_run_add_tag_on_database_operation_output()[source]
test_run_with_runtime_pja()[source]
test_run_with_delayed_runtime_pja()[source]
test_delete_intermediate_datasets_pja_1()[source]
test_validated_post_job_action_validated()[source]
test_validated_post_job_action_unvalidated_default()[source]
test_validated_post_job_action_invalid()[source]
test_value_restriction_with_data_meta_filter()[source]
test_value_restriction_with_filter_param_value()[source]
test_value_restriction_with_select_and_text_param()[source]
test_value_restriction_with_select_from_subworkflow_input()[source]
test_value_restriction_with_select_from_multiple_subworkflow_inputs()[source]
test_run_replace_params_by_tool()[source]
test_run_replace_params_by_tool_rejects_scalar_values()[source]
test_run_replace_params_by_uuid()[source]
test_run_batch()[source]
test_run_batch_inputs()[source]
test_parameter_substitution_sanitization()[source]
test_parameter_substitution_validation_value_errors_0()[source]
test_run_map_over_with_step_parameter_dict()[source]
test_parameter_substitution_validation_value_errors_1()[source]
test_workflow_import_state_validation_1()[source]
test_subworkflow_import_order_maintained(history_id)[source]
test_run_replace_params_by_steps()[source]
test_run_replace_params_nested()[source]
test_run_replace_params_nested_normalized()[source]
test_run_replace_params_over_default()[source]
test_defaults_editor()[source]
test_invalid_collection_input_rejected()[source]
test_invalid_sample_sheet_definitions_rejected()[source]
test_run_replace_params_over_default_delayed()[source]
test_pja_import_export()[source]
test_invocation_filtering()[source]
test_only_own_invocations_indexed_and_accessible()[source]
test_invocation_usage()[source]
test_invocation_with_collection_mapping()[source]
test_data_input_recovery_on_delayed_input()[source]
test_subworkflow_output_not_found_fails()[source]
test_invocations_accessible_imported_workflow()[source]
test_invocations_accessible_published_workflow()[source]
test_invocations_not_accessible_by_different_user_for_published_workflow()[source]
test_invocation_filtering_exclude_subworkflow()[source]
test_workflow_publishing()[source]
test_workflow_from_path_requires_admin()[source]
test_cannot_run_workflow_on_immutable_history() None[source]
test_user_defined_workflow_update()[source]
test_import_workflow_with_user_defined_tool_representation_requires_role()[source]
test_import_workflow_with_user_defined_tool_representation()[source]
test_subworkflow_tags()[source]
test_upload_malformated_yaml()[source]
test_copy_inputs_to_history_with_tags()[source]

Test that tags are copied when workflow inputs are copied to a new history.

test_pick_value_output_visible_with_hidden_inputs()[source]

Test that pick_value output doesn’t inherit hidden state from inputs.

class galaxy_test.api.test_workflows.TestAdminWorkflowsApi[source]

Bases: BaseWorkflowsApiTestCase

require_admin_user = True
class galaxy_test.api.test_workflows.TestCachedWorkflowsApi[source]

Bases: BaseWorkflowsApiTestCase, ChangeDatatypeTests

dataset_populator: DatasetPopulator
test_run_workflow_use_cached_job_simple_conditional_step()[source]
test_run_workflow_use_cached_job_format_source_pick_param()[source]
test_run_workflow_use_cached_job_implicit_conversion_send_to_new_history()[source]
test_run_workflow_use_cached_job_with_sample_sheet()[source]

Test that use_cached_job works correctly with sample sheet collections.

Uses sample_sheet_to_tabular tool which actually consumes the sample sheet collection and its metadata, rather than just mapping over it.

galaxy_test.api.test_workflows_cwl module

Test CWL workflow functionality.

class galaxy_test.api.test_workflows_cwl.BaseCwlWorkflowsApiTestCase[source]

Bases: BaseWorkflowsApiTestCase

allow_path_paste = True
require_admin_user = True
setUp()[source]

galaxy_test.api.test_workflows_from_yaml module

class galaxy_test.api.test_workflows_from_yaml.TestWorkflowsFromYamlApi[source]

Bases: BaseWorkflowsApiTestCase

setUp()[source]
test_simple_upload()[source]
test_simple_output_actions()[source]
test_inputs_to_steps()[source]
test_outputs()[source]
test_runtime_inputs()[source]
test_subworkflow_simple()[source]
test_subworkflow_duplicate()[source]
test_pause()[source]
test_implicit_connections()[source]
test_conditional_ints(history_id)[source]
test_parameter_default_rep()[source]