@@ -494,3 +494,35 @@ def _latest_dataset(self):
494494 select (Dataset ).order_by (Dataset .table .c .id .desc ()).limit (1 )
495495 ).first ()
496496 return latest_dataset
497+
498+
499+ class TestObjectStoreSelectionWithExtendedMetadataIntegration (
500+ TestObjectStoreSelectionWithPreferredObjectStoresIntegration
501+ ):
502+ @classmethod
503+ def handle_galaxy_config_kwds (cls , config ):
504+ super ().handle_galaxy_config_kwds (config )
505+ config ["metadata_strategy" ] = "extended"
506+ config ["retry_metadata_internally" ] = False
507+
508+ def test_objectstore_selection_dynamic_output_tools (self ):
509+ with self .dataset_populator .test_history () as history_id :
510+ self ._set_user_preferred_object_store_id ("static" )
511+ response = self .dataset_populator .run_tool (
512+ "collection_creates_dynamic_list_of_pairs" ,
513+ {"foo" : "bar" },
514+ history_id ,
515+ )
516+ self .dataset_populator .wait_for_job (response ["jobs" ][0 ]["id" ], assert_ok = True )
517+ output_collections = response ["output_collections" ]
518+ assert len (output_collections ) == 1
519+ hdca = self .dataset_populator .get_history_collection_details (
520+ history_id , content_id = output_collections [0 ]["id" ]
521+ )
522+ # Check all leaf datasets in the collection use the preferred store
523+ for outer_element in hdca ["elements" ]:
524+ for inner_element in outer_element ["object" ]["elements" ]:
525+ dataset = inner_element ["object" ]
526+ storage_dict = self ._storage_info (dataset )
527+ assert_storage_name_is (storage_dict , "Static Storage" )
528+ self ._reset_user_preferred_object_store_id ()
0 commit comments