Exemplo n.º 1
0
 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' ] )
Exemplo n.º 2
0
 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'])
Exemplo n.º 4
0
 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=[] )
Exemplo n.º 5
0
 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' ] )
Exemplo n.º 6
0
 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=[] )
Exemplo n.º 11
0
 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=[])