def test_0025_create_repository_with_only_workflow( self ): """Create and populate the filtering_workflow_0060 repository""" category = self.create_category( name=category_name, description=category_description ) self.logout() self.login( email=common.test_user_1_email, username=common.test_user_1_name ) self.get_or_create_repository( name=workflow_repository_name, description=workflow_repository_description, long_description=workflow_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id( category.id ), strings_displayed=[] ) workflow = file( self.get_filename( 'filtering_workflow/Workflow_for_0060_filter_workflow_repository.ga' ), 'r' ).read() workflow = workflow.replace( '__TEST_TOOL_SHED_URL__', self.url.replace( 'http://', '' ) ) workflow = workflow.replace( 'Workflow for 0060_filter_workflow_repository', 'New workflow for 0060_filter_workflow_repository' ) workflow_filepath = self.generate_temp_path( 'test_0060', additional_paths=[ 'filtering_workflow_2' ] ) if not os.path.exists( workflow_filepath ): os.makedirs( workflow_filepath ) file( os.path.join( workflow_filepath, workflow_filename ), 'w+' ).write( workflow ) repository = test_db_util.get_repository_by_name_and_owner( workflow_repository_name, common.test_user_1_name ) self.upload_file( repository, filename=workflow_filename, filepath=workflow_filepath, valid_tools_only=True, uncompress_file=False, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering workflow.', strings_displayed=[], strings_not_displayed=[] ) self.load_workflow_image_in_tool_shed( repository, workflow_name, strings_displayed=[ '#EBBCB2' ] )
def test_0005_ensure_category_exists( self ): '''Create the 0060 category.''' category = self.create_category( name='Test 0060 Workflow Features', description='Test 0060 Workflow Features' ) self.logout() self.login( email=common.test_user_1_email, username=common.test_user_1_name ) repository = self.get_or_create_repository( name=repository_name, description=repository_description, long_description=repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id( category.id ), strings_displayed=[] ) if self.repository_is_new( repository ): workflow = file( self.get_filename( 'filtering_workflow/Workflow_for_0060_filter_workflow_repository.ga' ), 'r' ).read() workflow = workflow.replace( '__TEST_TOOL_SHED_URL__', self.url.replace( 'http://', '' ) ) workflow_filepath = self.generate_temp_path( 'test_1060', additional_paths=[ 'filtering_workflow' ] ) os.makedirs( workflow_filepath ) file( os.path.join( workflow_filepath, workflow_filename ), 'w+' ).write( workflow ) self.upload_file( repository, workflow_filename, filepath=workflow_filepath, commit_message='Uploaded filtering workflow.' ) self.upload_file( repository, 'filtering/filtering_2.2.0.tar', commit_message="Uploaded filtering 2.2.0", remove_repo_files_not_in_tar='No' )
def test_0015_upload_workflow(self): '''Upload a workflow with a missing tool, and verify that the tool specified is marked as missing.''' repository = self.test_db_util.get_repository_by_name_and_owner( repository_name, common.test_user_1_name) workflow = file( self.get_filename( 'filtering_workflow/Workflow_for_0060_filter_workflow_repository.ga' ), 'r').read() workflow = workflow.replace('__TEST_TOOL_SHED_URL__', self.url.replace('http://', '')) workflow_filepath = self.generate_temp_path( 'test_0060', additional_paths=['filtering_workflow']) if not os.path.exists(workflow_filepath): os.makedirs(workflow_filepath) file(os.path.join(workflow_filepath, workflow_filename), 'w+').write(workflow) self.upload_file(repository, filename=workflow_filename, filepath=workflow_filepath, valid_tools_only=True, uncompress_file=False, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering workflow.', strings_displayed=[], strings_not_displayed=[]) self.load_workflow_image_in_tool_shed(repository, workflow_name, strings_displayed=['#EBBCB2'])
def test_0035_create_repositories_from_0060_series( self ): category = self.create_category( name=category_0060_name, description='' ) workflow_repository = self.get_or_create_repository( name='filtering_0060', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category.id ), strings_displayed=[] ) if self.repository_is_new( workflow_repository ): workflow = file( self.get_filename( 'filtering_workflow/Workflow_for_0060_filter_workflow_repository.ga' ), 'r' ).read() workflow = workflow.replace( '__TEST_TOOL_SHED_URL__', self.url.replace( 'http://', '' ) ) workflow_filepath = self.generate_temp_path( 'test_0360', additional_paths=[ 'filtering_workflow' ] ) if not os.path.exists( workflow_filepath ): os.makedirs( workflow_filepath ) file( os.path.join( workflow_filepath, workflow_filename ), 'w+' ).write( workflow ) self.upload_file( workflow_repository, filename=workflow_filename, filepath=workflow_filepath, valid_tools_only=True, uncompress_file=False, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering workflow.', strings_displayed=[], strings_not_displayed=[] ) self.upload_file( workflow_repository, filename='filtering/filtering_2.2.0.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering 2.2.0 tarball.', strings_displayed=[], strings_not_displayed=[] )
def test_0015_upload_workflow( self ): '''Upload a workflow with a missing tool, and verify that the tool specified is marked as missing.''' repository = test_db_util.get_repository_by_name_and_owner( repository_name, common.test_user_1_name ) workflow = file( self.get_filename( 'filtering_workflow/Workflow_for_0060_filter_workflow_repository.ga' ), 'r' ).read() workflow = workflow.replace( '__TEST_TOOL_SHED_URL__', self.url.replace( 'http://', '' ) ) workflow_filepath = self.generate_temp_path( 'test_0060', additional_paths=[ 'filtering_workflow' ] ) if not os.path.exists( workflow_filepath ): os.makedirs( workflow_filepath ) file( os.path.join( workflow_filepath, workflow_filename ), 'w+' ).write( workflow ) self.upload_file( repository, workflow_filename, filepath=workflow_filepath, commit_message='Uploaded filtering workflow.' ) self.load_workflow_image_in_tool_shed( repository, workflow_name, strings_displayed=[ '#EBBCB2' ] )
def test_0020_create_filter_workflow_repository(self): '''Create, if necessary, a filtering repository with only a workflow.''' category = self.create_category(name=category_name, description=category_description) self.logout() self.login(email=common.test_user_1_email, username=common.test_user_1_name) repository = self.get_or_create_repository( name=workflow_repository_name, description=workflow_repository_description, long_description=workflow_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id(category.id), strings_displayed=[]) if self.repository_is_new(repository): workflow = file( self.get_filename( 'filtering_workflow/Workflow_for_0060_filter_workflow_repository.ga' ), 'r').read() workflow = workflow.replace('__TEST_TOOL_SHED_URL__', self.url.replace('http://', '')) workflow = workflow.replace( 'Workflow for 0060_filter_workflow_repository', 'New workflow for 0060_filter_workflow_repository') workflow_filepath = self.generate_temp_path( 'test_0060', additional_paths=['filtering_workflow_2']) if not os.path.exists(workflow_filepath): os.makedirs(workflow_filepath) file(os.path.join(workflow_filepath, workflow_filename), 'w+').write(workflow) self.upload_file(repository, filename=workflow_filename, filepath=workflow_filepath, valid_tools_only=True, uncompress_file=False, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering workflow.', strings_displayed=[], strings_not_displayed=[]) self.load_workflow_image_in_tool_shed( repository, 'New workflow for 0060_filter_workflow_repository', strings_displayed=['#EBBCB2'])
def test_0005_create_repositories_and_categories(self): category_0000 = self.create_category( name='Test 0000 Basic Repository Features 1', description='Test 0000 Basic Repository Features 1') category_0001 = self.create_category( name='Test 0000 Basic Repository Features 2', description='Test 0000 Basic Repository Features 2') category_0010 = self.create_category( name='Test 0010 Repository With Tool Dependencies', description='Tests for a repository with tool dependencies.') category_0020 = self.create_category( name='Test 0020 Basic Repository Dependencies', description='Testing basic repository dependency features.') category_0030 = self.create_category( name='Test 0030 Repository Dependency Revisions', description='Testing repository dependencies by revision.') category_0040 = self.create_category( name='test_0040_repository_circular_dependencies', description='Testing handling of circular repository dependencies.' ) category_0050 = self.create_category( name='test_0050_repository_n_level_circular_dependencies', description= 'Testing handling of circular repository dependencies to n levels.' ) category_0060 = self.create_category( name='Test 0060 Workflow Features', description='Test 0060 - Workflow Features') self.logout() self.login(email=common.test_user_1_email, username=common.test_user_1_name) repository = self.get_or_create_repository( name='filtering_0000', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0000.id)) if self.repository_is_new(repository): self.upload_file(repository, 'filtering/filtering_1.1.0.tar', commit_message="Uploaded filtering 1.1.0") self.upload_file(repository, 'filtering/filtering_2.2.0.tar', commit_message="Uploaded filtering 2.2.0") repository = self.get_or_create_repository( name='freebayes_0010', description="Galaxy's freebayes tool", long_description="Long description of Galaxy's freebayes tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0000.id), strings_displayed=[]) if self.repository_is_new(repository): self.upload_file(repository, 'freebayes/freebayes.xml', valid_tools_only=False, commit_message='Uploaded.', strings_displayed=[]) self.upload_file(repository, 'freebayes/tool_data_table_conf.xml.sample', valid_tools_only=False, commit_message='Uploaded.', strings_displayed=[]) self.upload_file(repository, 'freebayes/sam_fa_indices.loc.sample', valid_tools_only=False, commit_message='Uploaded.', strings_displayed=[]) self.upload_file(repository, 'freebayes/tool_dependencies.xml', commit_message='Uploaded.') repository = self.get_or_create_repository( name='emboss_datatypes_0020', description="Galaxy applicable data formats used by Emboss tools.", long_description= "Galaxy applicable data formats used by Emboss tools. This repository contains no tools.", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0010.id), strings_displayed=[]) if self.repository_is_new(repository): self.upload_file(repository, 'emboss/datatypes/datatypes_conf.xml', commit_message='Uploaded datatypes_conf.xml.') repository = self.get_or_create_repository( name='emboss_0020', description='Galaxy wrappers for Emboss version 5.0.0 tools', long_description= 'Galaxy wrappers for Emboss version 5.0.0 tools', owner=common.test_user_1_name, category_id=self.security.encode_id(category_0020.id), strings_displayed=[]) self.upload_file(repository, 'emboss/emboss.tar', commit_message='Uploaded emboss_5.tar') datatypes_repository = self.get_or_create_repository( name='emboss_datatypes_0030', description=datatypes_repository_description, long_description=datatypes_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id(category_0030.id), strings_displayed=[]) if self.repository_is_new(datatypes_repository): self.upload_file(datatypes_repository, 'emboss/datatypes/datatypes_conf.xml', commit_message='Uploaded datatypes_conf.xml.') emboss_5_repository = self.get_or_create_repository( name='emboss_5_0030', description=emboss_repository_description, long_description=emboss_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id(category_0030.id), strings_displayed=[]) self.upload_file(emboss_5_repository, 'emboss/emboss.tar', commit_message='Uploaded emboss.tar') repository_dependencies_path = self.generate_temp_path( 'test_0330', additional_paths=['emboss', '5']) self.generate_repository_dependency_xml( [datatypes_repository], self.get_filename('repository_dependencies.xml', filepath=repository_dependencies_path)) self.upload_file( emboss_5_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded repository_dependencies.xml') emboss_6_repository = self.get_or_create_repository( name='emboss_6_0030', description=emboss_repository_description, long_description=emboss_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id(category_0030.id), strings_displayed=[]) self.upload_file(emboss_6_repository, 'emboss/emboss.tar', commit_message='Uploaded emboss.tar') repository_dependencies_path = self.generate_temp_path( 'test_0330', additional_paths=['emboss', '6']) self.generate_repository_dependency_xml( [datatypes_repository], self.get_filename('repository_dependencies.xml', filepath=repository_dependencies_path)) self.upload_file( emboss_6_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded repository_dependencies.xml') emboss_repository = self.get_or_create_repository( name='emboss_0030', description=emboss_repository_description, long_description=emboss_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id(category_0030.id), strings_displayed=[]) self.upload_file(emboss_repository, 'emboss/emboss.tar', commit_message='Uploaded emboss.tar') repository_dependencies_path = self.generate_temp_path( 'test_0330', additional_paths=['emboss', '5']) self.generate_repository_dependency_xml( [emboss_5_repository], self.get_filename('repository_dependencies.xml', filepath=repository_dependencies_path)) self.upload_file( emboss_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded repository_dependencies.xml') self.generate_repository_dependency_xml( [emboss_6_repository], self.get_filename('repository_dependencies.xml', filepath=repository_dependencies_path)) self.upload_file( emboss_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded repository_dependencies.xml') repository = self.get_or_create_repository( name='freebayes_0040', description="Galaxy's freebayes tool", long_description="Long description of Galaxy's freebayes tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0040.id), strings_displayed=[]) if self.repository_is_new(repository): self.upload_file(repository, 'freebayes/freebayes.tar', commit_message='Uploaded freebayes.tar.') repository = self.get_or_create_repository( name='filtering_0040', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0040.id), strings_displayed=[]) self.upload_file(repository, 'filtering/filtering_1.1.0.tar', commit_message='Uploaded filtering.tar.') freebayes_repository = test_db_util.get_repository_by_name_and_owner( 'freebayes_0040', common.test_user_1_name) filtering_repository = test_db_util.get_repository_by_name_and_owner( 'filtering_0040', common.test_user_1_name) repository_dependencies_path = self.generate_temp_path( 'test_0340', additional_paths=['dependencies']) self.generate_repository_dependency_xml( [freebayes_repository], self.get_filename('repository_dependencies.xml', filepath=repository_dependencies_path), dependency_description= 'Filtering 1.1.0 depends on the freebayes repository.') self.upload_file(filtering_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded dependency on freebayes') self.generate_repository_dependency_xml( [filtering_repository], self.get_filename('repository_dependencies.xml', filepath=repository_dependencies_path), dependency_description= 'Freebayes depends on the filtering repository.') self.upload_file(freebayes_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded dependency on filtering') datatypes_repository = self.get_or_create_repository( name='emboss_datatypes_0050', description="Datatypes for emboss", long_description="Long description of Emboss' datatypes", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0050.id), strings_displayed=[]) if self.repository_is_new(datatypes_repository): emboss_repository = self.get_or_create_repository( name='emboss_0050', description="Galaxy's emboss tool", long_description="Long description of Galaxy's emboss tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0050.id), strings_displayed=[]) filtering_repository = self.get_or_create_repository( name='filtering_0050', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0050.id), strings_displayed=[]) freebayes_repository = self.get_or_create_repository( name='freebayes_0050', description="Galaxy's freebayes tool", long_description="Long description of Galaxy's freebayes tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0050.id), strings_displayed=[]) self.upload_file(datatypes_repository, 'emboss/datatypes/datatypes_conf.xml', commit_message='Uploaded datatypes_conf.xml.') self.upload_file(emboss_repository, 'emboss/emboss.tar', commit_message='Uploaded tool tarball.') self.upload_file(freebayes_repository, 'freebayes/freebayes.tar', commit_message='Uploaded freebayes.tar.') self.upload_file(filtering_repository, 'filtering/filtering_1.1.0.tar', commit_message='Uploaded filtering.tar.') repository_dependencies_path = self.generate_temp_path( 'test_0350', additional_paths=['emboss']) self.generate_repository_dependency_xml( [datatypes_repository], self.get_filename('repository_dependencies.xml', filepath=repository_dependencies_path), dependency_description= 'Emboss depends on the emboss_datatypes repository.') self.upload_file( emboss_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded dependency on emboss_datatypes.') repository_dependencies_path = self.generate_temp_path( 'test_0350', additional_paths=['filtering']) self.generate_repository_dependency_xml( [emboss_repository], self.get_filename('repository_dependencies.xml', filepath=repository_dependencies_path), dependency_description= 'Filtering depends on the emboss repository.') self.upload_file(filtering_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded dependency on emboss.') repository_dependencies_path = self.generate_temp_path( 'test_0350', additional_paths=['freebayes']) self.generate_repository_dependency_xml( [filtering_repository], self.get_filename('repository_dependencies.xml', filepath=repository_dependencies_path), dependency_description= 'Emboss depends on the filtering repository.') self.upload_file( emboss_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded dependency on filtering.') self.generate_repository_dependency_xml( [ datatypes_repository, emboss_repository, filtering_repository, freebayes_repository ], self.get_filename('repository_dependencies.xml', filepath=repository_dependencies_path), dependency_description= 'Freebayes depends on the filtering repository.') self.upload_file( freebayes_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded dependency on filtering.') workflow_repository = self.get_or_create_repository( name='filtering_0060', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0060.id), strings_displayed=[]) if self.repository_is_new(workflow_repository): workflow = file( self.get_filename( 'filtering_workflow/Workflow_for_0060_filter_workflow_repository.ga' ), 'r').read() workflow = workflow.replace('__TEST_TOOL_SHED_URL__', self.url.replace('http://', '')) workflow_filepath = self.generate_temp_path( 'test_0360', additional_paths=['filtering_workflow']) os.makedirs(workflow_filepath) file(os.path.join(workflow_filepath, workflow_filename), 'w+').write(workflow) self.upload_file(workflow_repository, workflow_filename, filepath=workflow_filepath, commit_message='Uploaded filtering workflow.') self.upload_file(workflow_repository, 'filtering/filtering_2.2.0.tar', commit_message='Uploaded filtering tool.')
def test_0005_create_repositories_and_categories(self): """Ensure that the necessary categories and repositories exist for these tests.""" global repository_datatypes_count global running_standalone category_0000 = self.create_category( name="Test 0000 Basic Repository Features 1", description="Test 0000 Basic Repository Features 1" ) category_0001 = self.create_category( name="Test 0000 Basic Repository Features 2", description="Test 0000 Basic Repository Features 2" ) category_0010 = self.create_category( name="Test 0010 Repository With Tool Dependencies", description="Tests for a repository with tool dependencies.", ) category_0020 = self.create_category( name="Test 0020 Basic Repository Dependencies", description="Testing basic repository dependency features." ) category_0030 = self.create_category( name="Test 0030 Repository Dependency Revisions", description="Testing repository dependencies by revision." ) category_0040 = self.create_category( name="test_0040_repository_circular_dependencies", description="Testing handling of circular repository dependencies.", ) category_0050 = self.create_category( name="test_0050_repository_n_level_circular_dependencies", description="Testing handling of circular repository dependencies to n levels.", ) category_0060 = self.create_category( name="Test 0060 Workflow Features", description="Test 0060 - Workflow Features" ) self.logout() self.login(email=common.test_user_1_email, username=common.test_user_1_name) repository = self.get_or_create_repository( name="filtering_0000", description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0000.id), ) if self.repository_is_new(repository): self.upload_file(repository, "filtering/filtering_1.1.0.tar", commit_message="Uploaded filtering 1.1.0") self.upload_file(repository, "filtering/filtering_2.2.0.tar", commit_message="Uploaded filtering 2.2.0") repository = self.get_or_create_repository( name="freebayes_0010", description="Galaxy's freebayes tool", long_description="Long description of Galaxy's freebayes tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0010.id), strings_displayed=[], ) if self.repository_is_new(repository): self.upload_file( repository, "freebayes/freebayes.xml", valid_tools_only=False, commit_message="Uploaded.", strings_displayed=[], ) self.upload_file( repository, "freebayes/tool_data_table_conf.xml.sample", valid_tools_only=False, commit_message="Uploaded.", strings_displayed=[], ) self.upload_file( repository, "freebayes/sam_fa_indices.loc.sample", valid_tools_only=False, commit_message="Uploaded.", strings_displayed=[], ) self.upload_file(repository, "freebayes/tool_dependencies.xml", commit_message="Uploaded.") repository = self.get_or_create_repository( name="emboss_datatypes_0020", description="Galaxy applicable data formats used by Emboss tools.", long_description="Galaxy applicable data formats used by Emboss tools. This repository contains no tools.", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0010.id), strings_displayed=[], ) if self.repository_is_new(repository): self.upload_file( repository, "emboss/datatypes/datatypes_conf.xml", commit_message="Uploaded datatypes_conf.xml." ) repository = self.get_or_create_repository( name="emboss_0020", description="Galaxy wrappers for Emboss version 5.0.0 tools", long_description="Galaxy wrappers for Emboss version 5.0.0 tools", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0020.id), strings_displayed=[], ) self.upload_file(repository, "emboss/emboss.tar", commit_message="Uploaded emboss_5.tar") datatypes_repository = self.get_or_create_repository( name="emboss_datatypes_0030", description=datatypes_repository_description, long_description=datatypes_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id(category_0030.id), strings_displayed=[], ) if self.repository_is_new(datatypes_repository): running_standalone = True self.upload_file( datatypes_repository, "emboss/datatypes/datatypes_conf.xml", commit_message="Uploaded datatypes_conf.xml.", ) repository_datatypes_count = int(self.get_repository_datatypes_count(datatypes_repository)) emboss_5_repository = self.get_or_create_repository( name="emboss_5_0030", description=emboss_repository_description, long_description=emboss_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id(category_0030.id), strings_displayed=[], ) self.upload_file(emboss_5_repository, "emboss/emboss.tar", commit_message="Uploaded emboss.tar") repository_dependencies_path = self.generate_temp_path("test_0330", additional_paths=["emboss", "5"]) self.generate_repository_dependency_xml( [datatypes_repository], self.get_filename("repository_dependencies.xml", filepath=repository_dependencies_path), ) self.upload_file( emboss_5_repository, "repository_dependencies.xml", filepath=repository_dependencies_path, commit_message="Uploaded repository_dependencies.xml", ) emboss_6_repository = self.get_or_create_repository( name="emboss_6_0030", description=emboss_repository_description, long_description=emboss_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id(category_0030.id), strings_displayed=[], ) self.upload_file(emboss_6_repository, "emboss/emboss.tar", commit_message="Uploaded emboss.tar") repository_dependencies_path = self.generate_temp_path("test_0330", additional_paths=["emboss", "6"]) self.generate_repository_dependency_xml( [datatypes_repository], self.get_filename("repository_dependencies.xml", filepath=repository_dependencies_path), ) self.upload_file( emboss_6_repository, "repository_dependencies.xml", filepath=repository_dependencies_path, commit_message="Uploaded repository_dependencies.xml", ) emboss_repository = self.get_or_create_repository( name="emboss_0030", description=emboss_repository_description, long_description=emboss_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id(category_0030.id), strings_displayed=[], ) self.upload_file(emboss_repository, "emboss/emboss.tar", commit_message="Uploaded emboss.tar") repository_dependencies_path = self.generate_temp_path("test_0330", additional_paths=["emboss", "5"]) self.generate_repository_dependency_xml( [emboss_5_repository], self.get_filename("repository_dependencies.xml", filepath=repository_dependencies_path), ) self.upload_file( emboss_repository, "repository_dependencies.xml", filepath=repository_dependencies_path, commit_message="Uploaded repository_dependencies.xml", ) self.generate_repository_dependency_xml( [emboss_6_repository], self.get_filename("repository_dependencies.xml", filepath=repository_dependencies_path), ) self.upload_file( emboss_repository, "repository_dependencies.xml", filepath=repository_dependencies_path, commit_message="Uploaded repository_dependencies.xml", ) repository = self.get_or_create_repository( name="freebayes_0040", description="Galaxy's freebayes tool", long_description="Long description of Galaxy's freebayes tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0040.id), strings_displayed=[], ) if self.repository_is_new(repository): self.upload_file(repository, "freebayes/freebayes.tar", commit_message="Uploaded freebayes.tar.") repository = self.get_or_create_repository( name="filtering_0040", description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0040.id), strings_displayed=[], ) self.upload_file(repository, "filtering/filtering_1.1.0.tar", commit_message="Uploaded filtering.tar.") freebayes_repository = test_db_util.get_repository_by_name_and_owner( "freebayes_0040", common.test_user_1_name ) filtering_repository = test_db_util.get_repository_by_name_and_owner( "filtering_0040", common.test_user_1_name ) repository_dependencies_path = self.generate_temp_path("test_0340", additional_paths=["dependencies"]) self.generate_repository_dependency_xml( [freebayes_repository], self.get_filename("repository_dependencies.xml", filepath=repository_dependencies_path), dependency_description="Filtering 1.1.0 depends on the freebayes repository.", ) self.upload_file( filtering_repository, "repository_dependencies.xml", filepath=repository_dependencies_path, commit_message="Uploaded dependency on freebayes", ) self.generate_repository_dependency_xml( [filtering_repository], self.get_filename("repository_dependencies.xml", filepath=repository_dependencies_path), dependency_description="Freebayes depends on the filtering repository.", ) self.upload_file( freebayes_repository, "repository_dependencies.xml", filepath=repository_dependencies_path, commit_message="Uploaded dependency on filtering", ) datatypes_repository = self.get_or_create_repository( name="emboss_datatypes_0050", description="Datatypes for emboss", long_description="Long description of Emboss' datatypes", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0050.id), strings_displayed=[], ) if self.repository_is_new(datatypes_repository): emboss_repository = self.get_or_create_repository( name="emboss_0050", description="Galaxy's emboss tool", long_description="Long description of Galaxy's emboss tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0050.id), strings_displayed=[], ) filtering_repository = self.get_or_create_repository( name="filtering_0050", description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0050.id), strings_displayed=[], ) freebayes_repository = self.get_or_create_repository( name="freebayes_0050", description="Galaxy's freebayes tool", long_description="Long description of Galaxy's freebayes tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0050.id), strings_displayed=[], ) self.upload_file( datatypes_repository, "emboss/datatypes/datatypes_conf.xml", commit_message="Uploaded datatypes_conf.xml.", ) self.upload_file(emboss_repository, "emboss/emboss.tar", commit_message="Uploaded tool tarball.") self.upload_file(freebayes_repository, "freebayes/freebayes.tar", commit_message="Uploaded freebayes.tar.") self.upload_file( filtering_repository, "filtering/filtering_1.1.0.tar", commit_message="Uploaded filtering.tar." ) repository_dependencies_path = self.generate_temp_path("test_0350", additional_paths=["emboss"]) self.generate_repository_dependency_xml( [datatypes_repository], self.get_filename("repository_dependencies.xml", filepath=repository_dependencies_path), dependency_description="Emboss depends on the emboss_datatypes repository.", ) self.upload_file( emboss_repository, "repository_dependencies.xml", filepath=repository_dependencies_path, commit_message="Uploaded dependency on emboss_datatypes.", ) repository_dependencies_path = self.generate_temp_path("test_0350", additional_paths=["filtering"]) self.generate_repository_dependency_xml( [emboss_repository], self.get_filename("repository_dependencies.xml", filepath=repository_dependencies_path), dependency_description="Filtering depends on the emboss repository.", ) self.upload_file( filtering_repository, "repository_dependencies.xml", filepath=repository_dependencies_path, commit_message="Uploaded dependency on emboss.", ) repository_dependencies_path = self.generate_temp_path("test_0350", additional_paths=["freebayes"]) self.generate_repository_dependency_xml( [filtering_repository], self.get_filename("repository_dependencies.xml", filepath=repository_dependencies_path), dependency_description="Emboss depends on the filtering repository.", ) self.upload_file( emboss_repository, "repository_dependencies.xml", filepath=repository_dependencies_path, commit_message="Uploaded dependency on filtering.", ) self.generate_repository_dependency_xml( [datatypes_repository, emboss_repository, filtering_repository, freebayes_repository], self.get_filename("repository_dependencies.xml", filepath=repository_dependencies_path), dependency_description="Freebayes depends on the filtering repository.", ) self.upload_file( freebayes_repository, "repository_dependencies.xml", filepath=repository_dependencies_path, commit_message="Uploaded dependency on filtering.", ) workflow_repository = self.get_or_create_repository( name="filtering_0060", description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0060.id), strings_displayed=[], ) if self.repository_is_new(workflow_repository): workflow = file( self.get_filename("filtering_workflow/Workflow_for_0060_filter_workflow_repository.ga"), "r" ).read() workflow = workflow.replace("__TEST_TOOL_SHED_URL__", self.url.replace("http://", "")) workflow_filepath = self.generate_temp_path("test_0360", additional_paths=["filtering_workflow"]) os.makedirs(workflow_filepath) file(os.path.join(workflow_filepath, workflow_filename), "w+").write(workflow) self.upload_file( workflow_repository, workflow_filename, filepath=workflow_filepath, commit_message="Uploaded filtering workflow.", ) self.upload_file( workflow_repository, "filtering/filtering_2.2.0.tar", commit_message="Uploaded filtering tool." )
def test_0005_create_repositories_and_categories( self ): category_0000 = self.create_category( name='Test 0000 Basic Repository Features 1', description='Test 0000 Basic Repository Features 1' ) category_0001 = self.create_category( name='Test 0000 Basic Repository Features 2', description='Test 0000 Basic Repository Features 2' ) category_0010 = self.create_category( name='Test 0010 Repository With Tool Dependencies', description='Tests for a repository with tool dependencies.' ) category_0020 = self.create_category( name='Test 0020 Basic Repository Dependencies', description='Testing basic repository dependency features.' ) category_0030 = self.create_category( name='Test 0030 Repository Dependency Revisions', description='Testing repository dependencies by revision.' ) category_0040 = self.create_category( name='test_0040_repository_circular_dependencies', description='Testing handling of circular repository dependencies.' ) category_0050 = self.create_category( name='test_0050_repository_n_level_circular_dependencies', description='Testing handling of circular repository dependencies to n levels.' ) category_0060 = self.create_category( name='Test 0060 Workflow Features', description='Test 0060 - Workflow Features' ) self.logout() self.login( email=common.test_user_1_email, username=common.test_user_1_name ) repository = self.get_or_create_repository( name='filtering_0000', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0000.id ) ) if self.repository_is_new( repository ): self.upload_file( repository, 'filtering/filtering_1.1.0.tar', commit_message="Uploaded filtering 1.1.0" ) self.upload_file( repository, 'filtering/filtering_2.2.0.tar', commit_message="Uploaded filtering 2.2.0" ) repository = self.get_or_create_repository( name='freebayes_0010', description="Galaxy's freebayes tool", long_description="Long description of Galaxy's freebayes tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0000.id ), strings_displayed=[] ) if self.repository_is_new( repository ): self.upload_file( repository, 'freebayes/freebayes.xml', valid_tools_only=False, commit_message='Uploaded.', strings_displayed=[] ) self.upload_file( repository, 'freebayes/tool_data_table_conf.xml.sample', valid_tools_only=False, commit_message='Uploaded.', strings_displayed=[] ) self.upload_file( repository, 'freebayes/sam_fa_indices.loc.sample', valid_tools_only=False, commit_message='Uploaded.', strings_displayed=[] ) self.upload_file( repository, 'freebayes/tool_dependencies.xml', commit_message='Uploaded.' ) repository = self.get_or_create_repository( name='emboss_datatypes_0020', description="Galaxy applicable data formats used by Emboss tools.", long_description="Galaxy applicable data formats used by Emboss tools. This repository contains no tools.", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0010.id ), strings_displayed=[] ) if self.repository_is_new( repository ): self.upload_file( repository, 'emboss/datatypes/datatypes_conf.xml', commit_message='Uploaded datatypes_conf.xml.' ) repository = self.get_or_create_repository( name='emboss_0020', description='Galaxy wrappers for Emboss version 5.0.0 tools', long_description='Galaxy wrappers for Emboss version 5.0.0 tools', owner=common.test_user_1_name, category_id=self.security.encode_id( category_0020.id ), strings_displayed=[] ) self.upload_file( repository, 'emboss/emboss.tar', commit_message='Uploaded emboss_5.tar' ) datatypes_repository = self.get_or_create_repository( name='emboss_datatypes_0030', description=datatypes_repository_description, long_description=datatypes_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id( category_0030.id ), strings_displayed=[] ) if self.repository_is_new( datatypes_repository ): self.upload_file( datatypes_repository, 'emboss/datatypes/datatypes_conf.xml', commit_message='Uploaded datatypes_conf.xml.' ) emboss_5_repository = self.get_or_create_repository( name='emboss_5_0030', description=emboss_repository_description, long_description=emboss_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id( category_0030.id ), strings_displayed=[] ) self.upload_file( emboss_5_repository, 'emboss/emboss.tar', commit_message='Uploaded emboss.tar' ) repository_dependencies_path = self.generate_temp_path( 'test_0330', additional_paths=[ 'emboss', '5' ] ) self.generate_repository_dependency_xml( [ datatypes_repository ], self.get_filename( 'repository_dependencies.xml', filepath=repository_dependencies_path ) ) self.upload_file( emboss_5_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded repository_dependencies.xml' ) emboss_6_repository = self.get_or_create_repository( name='emboss_6_0030', description=emboss_repository_description, long_description=emboss_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id( category_0030.id ), strings_displayed=[] ) self.upload_file( emboss_6_repository, 'emboss/emboss.tar', commit_message='Uploaded emboss.tar' ) repository_dependencies_path = self.generate_temp_path( 'test_0330', additional_paths=[ 'emboss', '6' ] ) self.generate_repository_dependency_xml( [ datatypes_repository ], self.get_filename( 'repository_dependencies.xml', filepath=repository_dependencies_path ) ) self.upload_file( emboss_6_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded repository_dependencies.xml' ) emboss_repository = self.get_or_create_repository( name='emboss_0030', description=emboss_repository_description, long_description=emboss_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id( category_0030.id ), strings_displayed=[] ) self.upload_file( emboss_repository, 'emboss/emboss.tar', commit_message='Uploaded emboss.tar' ) repository_dependencies_path = self.generate_temp_path( 'test_0330', additional_paths=[ 'emboss', '5' ] ) self.generate_repository_dependency_xml( [ emboss_5_repository ], self.get_filename( 'repository_dependencies.xml', filepath=repository_dependencies_path ) ) self.upload_file( emboss_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded repository_dependencies.xml' ) self.generate_repository_dependency_xml( [ emboss_6_repository ], self.get_filename( 'repository_dependencies.xml', filepath=repository_dependencies_path ) ) self.upload_file( emboss_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded repository_dependencies.xml' ) repository = self.get_or_create_repository( name='freebayes_0040', description="Galaxy's freebayes tool", long_description="Long description of Galaxy's freebayes tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0040.id ), strings_displayed=[] ) if self.repository_is_new( repository ): self.upload_file( repository, 'freebayes/freebayes.tar', commit_message='Uploaded freebayes.tar.' ) repository = self.get_or_create_repository( name='filtering_0040', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0040.id ), strings_displayed=[] ) self.upload_file( repository, 'filtering/filtering_1.1.0.tar', commit_message='Uploaded filtering.tar.' ) freebayes_repository = test_db_util.get_repository_by_name_and_owner( 'freebayes_0040', common.test_user_1_name ) filtering_repository = test_db_util.get_repository_by_name_and_owner( 'filtering_0040', common.test_user_1_name ) repository_dependencies_path = self.generate_temp_path( 'test_0340', additional_paths=[ 'dependencies' ] ) self.generate_repository_dependency_xml( [ freebayes_repository ], self.get_filename( 'repository_dependencies.xml', filepath=repository_dependencies_path ), dependency_description='Filtering 1.1.0 depends on the freebayes repository.' ) self.upload_file( filtering_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded dependency on freebayes' ) self.generate_repository_dependency_xml( [ filtering_repository ], self.get_filename( 'repository_dependencies.xml', filepath=repository_dependencies_path ), dependency_description='Freebayes depends on the filtering repository.' ) self.upload_file( freebayes_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded dependency on filtering' ) datatypes_repository = self.get_or_create_repository( name='emboss_datatypes_0050', description="Datatypes for emboss", long_description="Long description of Emboss' datatypes", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0050.id ), strings_displayed=[] ) if self.repository_is_new( datatypes_repository ): emboss_repository = self.get_or_create_repository( name='emboss_0050', description="Galaxy's emboss tool", long_description="Long description of Galaxy's emboss tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0050.id ), strings_displayed=[] ) filtering_repository = self.get_or_create_repository( name='filtering_0050', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0050.id ), strings_displayed=[] ) freebayes_repository = self.get_or_create_repository( name='freebayes_0050', description="Galaxy's freebayes tool", long_description="Long description of Galaxy's freebayes tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0050.id ), strings_displayed=[] ) self.upload_file( datatypes_repository, 'emboss/datatypes/datatypes_conf.xml', commit_message='Uploaded datatypes_conf.xml.' ) self.upload_file( emboss_repository, 'emboss/emboss.tar', commit_message='Uploaded tool tarball.' ) self.upload_file( freebayes_repository, 'freebayes/freebayes.tar', commit_message='Uploaded freebayes.tar.' ) self.upload_file( filtering_repository, 'filtering/filtering_1.1.0.tar', commit_message='Uploaded filtering.tar.' ) repository_dependencies_path = self.generate_temp_path( 'test_0350', additional_paths=[ 'emboss' ] ) self.generate_repository_dependency_xml( [ datatypes_repository ], self.get_filename( 'repository_dependencies.xml', filepath=repository_dependencies_path ), dependency_description='Emboss depends on the emboss_datatypes repository.' ) self.upload_file( emboss_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded dependency on emboss_datatypes.' ) repository_dependencies_path = self.generate_temp_path( 'test_0350', additional_paths=[ 'filtering' ] ) self.generate_repository_dependency_xml( [ emboss_repository ], self.get_filename( 'repository_dependencies.xml', filepath=repository_dependencies_path ), dependency_description='Filtering depends on the emboss repository.' ) self.upload_file( filtering_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded dependency on emboss.' ) repository_dependencies_path = self.generate_temp_path( 'test_0350', additional_paths=[ 'freebayes' ] ) self.generate_repository_dependency_xml( [ filtering_repository ], self.get_filename( 'repository_dependencies.xml', filepath=repository_dependencies_path ), dependency_description='Emboss depends on the filtering repository.' ) self.upload_file( emboss_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded dependency on filtering.' ) self.generate_repository_dependency_xml( [ datatypes_repository, emboss_repository, filtering_repository, freebayes_repository ], self.get_filename( 'repository_dependencies.xml', filepath=repository_dependencies_path ), dependency_description='Freebayes depends on the filtering repository.' ) self.upload_file( freebayes_repository, 'repository_dependencies.xml', filepath=repository_dependencies_path, commit_message='Uploaded dependency on filtering.' ) workflow_repository = self.get_or_create_repository( name='filtering_0060', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0060.id ), strings_displayed=[] ) if self.repository_is_new( workflow_repository ): workflow = file( self.get_filename( 'filtering_workflow/Workflow_for_0060_filter_workflow_repository.ga' ), 'r' ).read() workflow = workflow.replace( '__TEST_TOOL_SHED_URL__', self.url.replace( 'http://', '' ) ) workflow_filepath = self.generate_temp_path( 'test_0360', additional_paths=[ 'filtering_workflow' ] ) os.makedirs( workflow_filepath ) file( os.path.join( workflow_filepath, workflow_filename ), 'w+' ).write( workflow ) self.upload_file( workflow_repository, workflow_filename, filepath=workflow_filepath, commit_message='Uploaded filtering workflow.' ) self.upload_file( workflow_repository, 'filtering/filtering_2.2.0.tar', commit_message='Uploaded filtering tool.' )
def test_0005_create_repositories_and_categories( self ): '''Ensure that the necessary categories and repositories exist for these tests.''' global repository_datatypes_count global running_standalone category_0000 = self.create_category( name='Test 0000 Basic Repository Features 1', description='Test 0000 Basic Repository Features 1' ) category_0001 = self.create_category( name='Test 0000 Basic Repository Features 2', description='Test 0000 Basic Repository Features 2' ) category_0010 = self.create_category( name='Test 0010 Repository With Tool Dependencies', description='Tests for a repository with tool dependencies.' ) category_0020 = self.create_category( name='Test 0020 Basic Repository Dependencies', description='Testing basic repository dependency features.' ) category_0030 = self.create_category( name='Test 0030 Repository Dependency Revisions', description='Testing repository dependencies by revision.' ) category_0040 = self.create_category( name='test_0040_repository_circular_dependencies', description='Testing handling of circular repository dependencies.' ) category_0050 = self.create_category( name='test_0050_repository_n_level_circular_dependencies', description='Testing handling of circular repository dependencies to n levels.' ) category_0060 = self.create_category( name='Test 0060 Workflow Features', description='Test 0060 - Workflow Features' ) self.logout() self.login( email=common.test_user_1_email, username=common.test_user_1_name ) repository = self.get_or_create_repository( name='filtering_0000', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0000.id ) ) if self.repository_is_new( repository ): self.upload_file( repository, filename='filtering/filtering_1.1.0.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering 1.1.0 tarball.', strings_displayed=[], strings_not_displayed=[] ) self.upload_file( repository, filename='filtering/filtering_2.2.0.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering 2.2.0 tarball.', strings_displayed=[], strings_not_displayed=[] ) repository = self.get_or_create_repository( name='freebayes_0010', description="Galaxy's freebayes tool", long_description="Long description of Galaxy's freebayes tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0010.id ), strings_displayed=[] ) if self.repository_is_new( repository ): self.upload_file( repository, filename='freebayes/freebayes.xml', filepath=None, valid_tools_only=False, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded freebayes.xml.', strings_displayed=[], strings_not_displayed=[] ) self.upload_file( repository, filename='freebayes/tool_data_table_conf.xml.sample', filepath=None, valid_tools_only=False, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded tool_data_table_conf.xml.sample', strings_displayed=[], strings_not_displayed=[] ) self.upload_file( repository, filename='freebayes/sam_fa_indices.loc.sample', filepath=None, valid_tools_only=False, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded sam_fa_indices.loc.sample', strings_displayed=[], strings_not_displayed=[] ) self.upload_file( repository, filename='freebayes/tool_dependencies.xml', filepath=None, valid_tools_only=False, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded tool_dependencies.xml', strings_displayed=[], strings_not_displayed=[] ) repository = self.get_or_create_repository( name='emboss_datatypes_0020', description="Galaxy applicable data formats used by Emboss tools.", long_description="Galaxy applicable data formats used by Emboss tools. This repository contains no tools.", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0010.id ), strings_displayed=[] ) if self.repository_is_new( repository ): self.upload_file( repository, filename='emboss/datatypes/datatypes_conf.xml', filepath=None, valid_tools_only=False, uncompress_file=False, remove_repo_files_not_in_tar=False, commit_message='Uploaded datatypes_conf.xml.', strings_displayed=[], strings_not_displayed=[] ) repository = self.get_or_create_repository( name='emboss_0020', description='Galaxy wrappers for Emboss version 5.0.0 tools', long_description='Galaxy wrappers for Emboss version 5.0.0 tools', owner=common.test_user_1_name, category_id=self.security.encode_id( category_0020.id ), strings_displayed=[] ) self.upload_file( repository, filename='emboss/emboss.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded emboss.tar', strings_displayed=[], strings_not_displayed=[] ) datatypes_repository = self.get_or_create_repository( name='emboss_datatypes_0030', description=datatypes_repository_description, long_description=datatypes_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id( category_0030.id ), strings_displayed=[] ) if self.repository_is_new( datatypes_repository ): running_standalone = True self.upload_file( datatypes_repository, filename='emboss/datatypes/datatypes_conf.xml', filepath=None, valid_tools_only=False, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded datatypes_conf.xml.', strings_displayed=[], strings_not_displayed=[] ) repository_datatypes_count = int( self.get_repository_datatypes_count( datatypes_repository ) ) emboss_5_repository = self.get_or_create_repository( name='emboss_5_0030', description=emboss_repository_description, long_description=emboss_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id( category_0030.id ), strings_displayed=[] ) self.upload_file( emboss_5_repository, filename='emboss/emboss.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded emboss.tar', strings_displayed=[], strings_not_displayed=[] ) repository_dependencies_path = self.generate_temp_path( 'test_0330', additional_paths=[ 'emboss', '5' ] ) dependency_tuple = ( self.url, datatypes_repository.name, datatypes_repository.user.username, self.get_repository_tip( datatypes_repository ) ) self.create_repository_dependency( repository=emboss_5_repository, repository_tuples=[ dependency_tuple ], filepath=repository_dependencies_path ) emboss_6_repository = self.get_or_create_repository( name='emboss_6_0030', description=emboss_repository_description, long_description=emboss_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id( category_0030.id ), strings_displayed=[] ) self.upload_file( emboss_6_repository, filename='emboss/emboss.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded emboss.tar', strings_displayed=[], strings_not_displayed=[] ) repository_dependencies_path = self.generate_temp_path( 'test_0330', additional_paths=[ 'emboss', '6' ] ) dependency_tuple = ( self.url, datatypes_repository.name, datatypes_repository.user.username, self.get_repository_tip( datatypes_repository ) ) self.create_repository_dependency( repository=emboss_6_repository, repository_tuples=[ dependency_tuple ], filepath=repository_dependencies_path ) emboss_repository = self.get_or_create_repository( name='emboss_0030', description=emboss_repository_description, long_description=emboss_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id( category_0030.id ), strings_displayed=[] ) self.upload_file( emboss_repository, filename='emboss/emboss.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded emboss.tar', strings_displayed=[], strings_not_displayed=[] ) repository_dependencies_path = self.generate_temp_path( 'test_0330', additional_paths=[ 'emboss', '5' ] ) dependency_tuple = ( self.url, emboss_5_repository.name, emboss_5_repository.user.username, self.get_repository_tip( emboss_5_repository ) ) self.create_repository_dependency( repository=emboss_repository, repository_tuples=[ dependency_tuple ], filepath=repository_dependencies_path ) dependency_tuple = ( self.url, emboss_6_repository.name, emboss_6_repository.user.username, self.get_repository_tip( emboss_6_repository ) ) self.create_repository_dependency( repository=emboss_repository, repository_tuples=[ dependency_tuple ], filepath=repository_dependencies_path ) repository = self.get_or_create_repository( name='freebayes_0040', description="Galaxy's freebayes tool", long_description="Long description of Galaxy's freebayes tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0040.id ), strings_displayed=[] ) if self.repository_is_new( repository ): self.upload_file( repository, filename='freebayes/freebayes.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded freebayes tarball.', strings_displayed=[], strings_not_displayed=[] ) repository = self.get_or_create_repository( name='filtering_0040', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0040.id ), strings_displayed=[] ) self.upload_file( repository, filename='filtering/filtering_1.1.0.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering 1.1.0 tarball.', strings_displayed=[], strings_not_displayed=[] ) freebayes_repository = self.test_db_util.get_repository_by_name_and_owner( 'freebayes_0040', common.test_user_1_name ) filtering_repository = self.test_db_util.get_repository_by_name_and_owner( 'filtering_0040', common.test_user_1_name ) repository_dependencies_path = self.generate_temp_path( 'test_0340', additional_paths=[ 'dependencies' ] ) dependency_tuple = ( self.url, freebayes_repository.name, freebayes_repository.user.username, self.get_repository_tip( freebayes_repository ) ) self.create_repository_dependency( repository=filtering_repository, repository_tuples=[ dependency_tuple ], filepath=repository_dependencies_path ) dependency_tuple = ( self.url, filtering_repository.name, filtering_repository.user.username, self.get_repository_tip( filtering_repository ) ) self.create_repository_dependency( repository=freebayes_repository, repository_tuples=[ dependency_tuple ], filepath=repository_dependencies_path ) datatypes_repository = self.get_or_create_repository( name='emboss_datatypes_0050', description="Datatypes for emboss", long_description="Long description of Emboss' datatypes", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0050.id ), strings_displayed=[] ) if self.repository_is_new( datatypes_repository ): emboss_repository = self.get_or_create_repository( name='emboss_0050', description="Galaxy's emboss tool", long_description="Long description of Galaxy's emboss tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0050.id ), strings_displayed=[] ) filtering_repository = self.get_or_create_repository( name='filtering_0050', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0050.id ), strings_displayed=[] ) freebayes_repository = self.get_or_create_repository( name='freebayes_0050', description="Galaxy's freebayes tool", long_description="Long description of Galaxy's freebayes tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0050.id ), strings_displayed=[] ) self.upload_file( datatypes_repository, filename='emboss/datatypes/datatypes_conf.xml', filepath=None, valid_tools_only=False, uncompress_file=False, remove_repo_files_not_in_tar=False, commit_message='Uploaded datatypes_conf.xml.', strings_displayed=[], strings_not_displayed=[] ) self.upload_file( emboss_repository, filename='emboss/emboss.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded emboss.tar', strings_displayed=[], strings_not_displayed=[] ) self.upload_file( freebayes_repository, filename='freebayes/freebayes.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded freebayes tarball.', strings_displayed=[], strings_not_displayed=[] ) self.upload_file( filtering_repository, filename='filtering/filtering_1.1.0.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering 1.1.0 tarball.', strings_displayed=[], strings_not_displayed=[] ) repository_dependencies_path = self.generate_temp_path( 'test_0350', additional_paths=[ 'emboss' ] ) dependency_tuple = ( self.url, datatypes_repository.name, datatypes_repository.user.username, self.get_repository_tip( datatypes_repository ) ) self.create_repository_dependency( repository=emboss_repository, repository_tuples=[ dependency_tuple ], filepath=repository_dependencies_path ) repository_dependencies_path = self.generate_temp_path( 'test_0350', additional_paths=[ 'filtering' ] ) dependency_tuple = ( self.url, emboss_repository.name, emboss_repository.user.username, self.get_repository_tip( emboss_repository ) ) self.create_repository_dependency( repository=filtering_repository, repository_tuples=[ dependency_tuple ], filepath=repository_dependencies_path ) repository_dependencies_path = self.generate_temp_path( 'test_0350', additional_paths=[ 'freebayes' ] ) dependency_tuple = ( self.url, filtering_repository.name, filtering_repository.user.username, self.get_repository_tip( filtering_repository ) ) self.create_repository_dependency( repository=emboss_repository, repository_tuples=[ dependency_tuple ], filepath=repository_dependencies_path ) dependency_tuples = [ ( self.url, datatypes_repository.name, datatypes_repository.user.username, self.get_repository_tip( datatypes_repository ) ), ( self.url, emboss_repository.name, emboss_repository.user.username, self.get_repository_tip( emboss_repository ) ), ( self.url, filtering_repository.name, filtering_repository.user.username, self.get_repository_tip( filtering_repository ) ), ( self.url, freebayes_repository.name, freebayes_repository.user.username, self.get_repository_tip( freebayes_repository ) ) ] self.create_repository_dependency( repository=freebayes_repository, repository_tuples=dependency_tuples, filepath=repository_dependencies_path ) workflow_repository = self.get_or_create_repository( name='filtering_0060', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id( category_0060.id ), strings_displayed=[] ) if self.repository_is_new( workflow_repository ): workflow = file( self.get_filename( 'filtering_workflow/Workflow_for_0060_filter_workflow_repository.ga' ), 'r' ).read() workflow = workflow.replace( '__TEST_TOOL_SHED_URL__', self.url.replace( 'http://', '' ) ) workflow_filepath = self.generate_temp_path( 'test_0360', additional_paths=[ 'filtering_workflow' ] ) if not os.path.exists( workflow_filepath ): os.makedirs( workflow_filepath ) file( os.path.join( workflow_filepath, workflow_filename ), 'w+' ).write( workflow ) self.upload_file( workflow_repository, filename=workflow_filename, filepath=workflow_filepath, valid_tools_only=True, uncompress_file=False, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering workflow.', strings_displayed=[], strings_not_displayed=[] ) self.upload_file( workflow_repository, filename='filtering/filtering_2.2.0.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering 2.2.0 tarball.', strings_displayed=[], strings_not_displayed=[] )
def test_0005_create_repositories_and_categories(self): '''Ensure that the necessary categories and repositories exist for these tests.''' global repository_datatypes_count global running_standalone category_0000 = self.create_category( name='Test 0000 Basic Repository Features 1', description='Test 0000 Basic Repository Features 1') category_0001 = self.create_category( name='Test 0000 Basic Repository Features 2', description='Test 0000 Basic Repository Features 2') category_0010 = self.create_category( name='Test 0010 Repository With Tool Dependencies', description='Tests for a repository with tool dependencies.') category_0020 = self.create_category( name='Test 0020 Basic Repository Dependencies', description='Testing basic repository dependency features.') category_0030 = self.create_category( name='Test 0030 Repository Dependency Revisions', description='Testing repository dependencies by revision.') category_0040 = self.create_category( name='test_0040_repository_circular_dependencies', description='Testing handling of circular repository dependencies.' ) category_0050 = self.create_category( name='test_0050_repository_n_level_circular_dependencies', description= 'Testing handling of circular repository dependencies to n levels.' ) category_0060 = self.create_category( name='Test 0060 Workflow Features', description='Test 0060 - Workflow Features') self.logout() self.login(email=common.test_user_1_email, username=common.test_user_1_name) repository = self.get_or_create_repository( name='filtering_0000', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0000.id)) if self.repository_is_new(repository): self.upload_file( repository, filename='filtering/filtering_1.1.0.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering 1.1.0 tarball.', strings_displayed=[], strings_not_displayed=[]) self.upload_file( repository, filename='filtering/filtering_2.2.0.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering 2.2.0 tarball.', strings_displayed=[], strings_not_displayed=[]) repository = self.get_or_create_repository( name='freebayes_0010', description="Galaxy's freebayes tool", long_description="Long description of Galaxy's freebayes tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0010.id), strings_displayed=[]) if self.repository_is_new(repository): self.upload_file(repository, filename='freebayes/freebayes.xml', filepath=None, valid_tools_only=False, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded freebayes.xml.', strings_displayed=[], strings_not_displayed=[]) self.upload_file( repository, filename='freebayes/tool_data_table_conf.xml.sample', filepath=None, valid_tools_only=False, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded tool_data_table_conf.xml.sample', strings_displayed=[], strings_not_displayed=[]) self.upload_file( repository, filename='freebayes/sam_fa_indices.loc.sample', filepath=None, valid_tools_only=False, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded sam_fa_indices.loc.sample', strings_displayed=[], strings_not_displayed=[]) self.upload_file(repository, filename='freebayes/tool_dependencies.xml', filepath=None, valid_tools_only=False, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded tool_dependencies.xml', strings_displayed=[], strings_not_displayed=[]) repository = self.get_or_create_repository( name='emboss_datatypes_0020', description="Galaxy applicable data formats used by Emboss tools.", long_description= "Galaxy applicable data formats used by Emboss tools. This repository contains no tools.", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0010.id), strings_displayed=[]) if self.repository_is_new(repository): self.upload_file(repository, filename='emboss/datatypes/datatypes_conf.xml', filepath=None, valid_tools_only=False, uncompress_file=False, remove_repo_files_not_in_tar=False, commit_message='Uploaded datatypes_conf.xml.', strings_displayed=[], strings_not_displayed=[]) repository = self.get_or_create_repository( name='emboss_0020', description='Galaxy wrappers for Emboss version 5.0.0 tools', long_description= 'Galaxy wrappers for Emboss version 5.0.0 tools', owner=common.test_user_1_name, category_id=self.security.encode_id(category_0020.id), strings_displayed=[]) self.upload_file(repository, filename='emboss/emboss.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded emboss.tar', strings_displayed=[], strings_not_displayed=[]) datatypes_repository = self.get_or_create_repository( name='emboss_datatypes_0030', description=datatypes_repository_description, long_description=datatypes_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id(category_0030.id), strings_displayed=[]) if self.repository_is_new(datatypes_repository): running_standalone = True self.upload_file(datatypes_repository, filename='emboss/datatypes/datatypes_conf.xml', filepath=None, valid_tools_only=False, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded datatypes_conf.xml.', strings_displayed=[], strings_not_displayed=[]) repository_datatypes_count = int( self.get_repository_datatypes_count(datatypes_repository)) emboss_5_repository = self.get_or_create_repository( name='emboss_5_0030', description=emboss_repository_description, long_description=emboss_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id(category_0030.id), strings_displayed=[]) self.upload_file(emboss_5_repository, filename='emboss/emboss.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded emboss.tar', strings_displayed=[], strings_not_displayed=[]) repository_dependencies_path = self.generate_temp_path( 'test_0330', additional_paths=['emboss', '5']) dependency_tuple = (self.url, datatypes_repository.name, datatypes_repository.user.username, self.get_repository_tip(datatypes_repository)) self.create_repository_dependency( repository=emboss_5_repository, repository_tuples=[dependency_tuple], filepath=repository_dependencies_path) emboss_6_repository = self.get_or_create_repository( name='emboss_6_0030', description=emboss_repository_description, long_description=emboss_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id(category_0030.id), strings_displayed=[]) self.upload_file(emboss_6_repository, filename='emboss/emboss.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded emboss.tar', strings_displayed=[], strings_not_displayed=[]) repository_dependencies_path = self.generate_temp_path( 'test_0330', additional_paths=['emboss', '6']) dependency_tuple = (self.url, datatypes_repository.name, datatypes_repository.user.username, self.get_repository_tip(datatypes_repository)) self.create_repository_dependency( repository=emboss_6_repository, repository_tuples=[dependency_tuple], filepath=repository_dependencies_path) emboss_repository = self.get_or_create_repository( name='emboss_0030', description=emboss_repository_description, long_description=emboss_repository_long_description, owner=common.test_user_1_name, category_id=self.security.encode_id(category_0030.id), strings_displayed=[]) self.upload_file(emboss_repository, filename='emboss/emboss.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded emboss.tar', strings_displayed=[], strings_not_displayed=[]) repository_dependencies_path = self.generate_temp_path( 'test_0330', additional_paths=['emboss', '5']) dependency_tuple = (self.url, emboss_5_repository.name, emboss_5_repository.user.username, self.get_repository_tip(emboss_5_repository)) self.create_repository_dependency( repository=emboss_repository, repository_tuples=[dependency_tuple], filepath=repository_dependencies_path) dependency_tuple = (self.url, emboss_6_repository.name, emboss_6_repository.user.username, self.get_repository_tip(emboss_6_repository)) self.create_repository_dependency( repository=emboss_repository, repository_tuples=[dependency_tuple], filepath=repository_dependencies_path) repository = self.get_or_create_repository( name='freebayes_0040', description="Galaxy's freebayes tool", long_description="Long description of Galaxy's freebayes tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0040.id), strings_displayed=[]) if self.repository_is_new(repository): self.upload_file(repository, filename='freebayes/freebayes.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded freebayes tarball.', strings_displayed=[], strings_not_displayed=[]) repository = self.get_or_create_repository( name='filtering_0040', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0040.id), strings_displayed=[]) self.upload_file( repository, filename='filtering/filtering_1.1.0.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering 1.1.0 tarball.', strings_displayed=[], strings_not_displayed=[]) freebayes_repository = test_db_util.get_repository_by_name_and_owner( 'freebayes_0040', common.test_user_1_name) filtering_repository = test_db_util.get_repository_by_name_and_owner( 'filtering_0040', common.test_user_1_name) repository_dependencies_path = self.generate_temp_path( 'test_0340', additional_paths=['dependencies']) dependency_tuple = (self.url, freebayes_repository.name, freebayes_repository.user.username, self.get_repository_tip(freebayes_repository)) self.create_repository_dependency( repository=filtering_repository, repository_tuples=[dependency_tuple], filepath=repository_dependencies_path) dependency_tuple = (self.url, filtering_repository.name, filtering_repository.user.username, self.get_repository_tip(filtering_repository)) self.create_repository_dependency( repository=freebayes_repository, repository_tuples=[dependency_tuple], filepath=repository_dependencies_path) datatypes_repository = self.get_or_create_repository( name='emboss_datatypes_0050', description="Datatypes for emboss", long_description="Long description of Emboss' datatypes", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0050.id), strings_displayed=[]) if self.repository_is_new(datatypes_repository): emboss_repository = self.get_or_create_repository( name='emboss_0050', description="Galaxy's emboss tool", long_description="Long description of Galaxy's emboss tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0050.id), strings_displayed=[]) filtering_repository = self.get_or_create_repository( name='filtering_0050', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0050.id), strings_displayed=[]) freebayes_repository = self.get_or_create_repository( name='freebayes_0050', description="Galaxy's freebayes tool", long_description="Long description of Galaxy's freebayes tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0050.id), strings_displayed=[]) self.upload_file(datatypes_repository, filename='emboss/datatypes/datatypes_conf.xml', filepath=None, valid_tools_only=False, uncompress_file=False, remove_repo_files_not_in_tar=False, commit_message='Uploaded datatypes_conf.xml.', strings_displayed=[], strings_not_displayed=[]) self.upload_file(emboss_repository, filename='emboss/emboss.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded emboss.tar', strings_displayed=[], strings_not_displayed=[]) self.upload_file(freebayes_repository, filename='freebayes/freebayes.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded freebayes tarball.', strings_displayed=[], strings_not_displayed=[]) self.upload_file( filtering_repository, filename='filtering/filtering_1.1.0.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering 1.1.0 tarball.', strings_displayed=[], strings_not_displayed=[]) repository_dependencies_path = self.generate_temp_path( 'test_0350', additional_paths=['emboss']) dependency_tuple = (self.url, datatypes_repository.name, datatypes_repository.user.username, self.get_repository_tip(datatypes_repository)) self.create_repository_dependency( repository=emboss_repository, repository_tuples=[dependency_tuple], filepath=repository_dependencies_path) repository_dependencies_path = self.generate_temp_path( 'test_0350', additional_paths=['filtering']) dependency_tuple = (self.url, emboss_repository.name, emboss_repository.user.username, self.get_repository_tip(emboss_repository)) self.create_repository_dependency( repository=filtering_repository, repository_tuples=[dependency_tuple], filepath=repository_dependencies_path) repository_dependencies_path = self.generate_temp_path( 'test_0350', additional_paths=['freebayes']) dependency_tuple = (self.url, filtering_repository.name, filtering_repository.user.username, self.get_repository_tip(filtering_repository)) self.create_repository_dependency( repository=emboss_repository, repository_tuples=[dependency_tuple], filepath=repository_dependencies_path) dependency_tuples = [ (self.url, datatypes_repository.name, datatypes_repository.user.username, self.get_repository_tip(datatypes_repository)), (self.url, emboss_repository.name, emboss_repository.user.username, self.get_repository_tip(emboss_repository)), (self.url, filtering_repository.name, filtering_repository.user.username, self.get_repository_tip(filtering_repository)), (self.url, freebayes_repository.name, freebayes_repository.user.username, self.get_repository_tip(freebayes_repository)) ] self.create_repository_dependency( repository=freebayes_repository, repository_tuples=dependency_tuples, filepath=repository_dependencies_path) workflow_repository = self.get_or_create_repository( name='filtering_0060', description="Galaxy's filtering tool", long_description="Long description of Galaxy's filtering tool", owner=common.test_user_1_name, category_id=self.security.encode_id(category_0060.id), strings_displayed=[]) if self.repository_is_new(workflow_repository): workflow = file( self.get_filename( 'filtering_workflow/Workflow_for_0060_filter_workflow_repository.ga' ), 'r').read() workflow = workflow.replace('__TEST_TOOL_SHED_URL__', self.url.replace('http://', '')) workflow_filepath = self.generate_temp_path( 'test_0360', additional_paths=['filtering_workflow']) if not os.path.exists(workflow_filepath): os.makedirs(workflow_filepath) file(os.path.join(workflow_filepath, workflow_filename), 'w+').write(workflow) self.upload_file(workflow_repository, filename=workflow_filename, filepath=workflow_filepath, valid_tools_only=True, uncompress_file=False, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering workflow.', strings_displayed=[], strings_not_displayed=[]) self.upload_file( workflow_repository, filename='filtering/filtering_2.2.0.tar', filepath=None, valid_tools_only=True, uncompress_file=True, remove_repo_files_not_in_tar=False, commit_message='Uploaded filtering 2.2.0 tarball.', strings_displayed=[], strings_not_displayed=[])