def test_0010_create_repository( self ):
     """Create the repositories"""
     category = test_db_util.get_category_by_name( 'demo' )
     for info in repositories[:]:
         self.logout()
         email = info["owner"]+tmail
         username = info["owner"]
         self.login( email=email, username=username )
         #if info["name"] =="abyss_tool":
             #continue
         #strings_displayed = [ 'Repository %s' % "'%s'" % info["name"],
                               #'Repository %s has been created' % "'%s'" % info["name"]]
         self.get_or_create_repository( name=info["name"],
                                        description=info["description"], 
                                        long_description="hg",
                                        owner=username,
                                        category_id=self.security.encode_id( category.id ), 
                                        strings_displayed=[])
         repository = test_db_util.get_repository_by_name_and_owner( info["name"], username )
         if changeSets[info["id"]] != []:
             try:
                 self.upload_file( repository, 
                                   filename='../hy_tools/repo/%s/%s/%s_%s%s'%(info["owner"],info["name"],info["name"],changeSets[info["id"]],".tar.gz"), 
                                   filepath=None,
                                   valid_tools_only=True,
                                   uncompress_file=True,
                                   remove_repo_files_not_in_tar=True,
                                   commit_message="add "+info["name"],
                                   strings_displayed=[], 
                                   strings_not_displayed=[] )
             except:
                 #import commands
                 #commands.getstatus("echo \""+e.value+"\">lei")
                 continue
 def test_0090_verify_reserved_repository_name_handling( self ):
     '''Check that reserved repository names are handled correctly.'''
     category = test_db_util.get_category_by_name( 'Test 0000 Basic Repository Features 1' )
     error_message = 'The term <b>repos</b> is a reserved word in the tool shed, so it cannot be used as a repository name.'
     self.get_or_create_repository( name='repos', 
                                    description=repository_description, 
                                    long_description=repository_long_description, 
                                    owner=common.test_user_1_name,
                                    category_id=self.security.encode_id( category.id ), 
                                    strings_displayed=[ error_message ] )
 def test_0010_create_repository( self ):
     """Create the repositories"""
     self.logout()
     self.login( email=common.admin_email, username=common.admin_username )
     category = test_db_util.get_category_by_name( 'Assembly' )
     for info in repositories[:5]:
         strings_displayed = [ 'Repository %s' % "'%s'" % info["name"],
                               'Repository %s has been created' % "'%s'" % info["name"]]
         self.get_or_create_repository( name=info["name"],
                                    description=info["description"], 
                                    long_description=info["long_description"], 
                                    owner=common.admin_username,
                                    category_id=self.security.encode_id( category.id ), 
                                    #category_id=1,
                                    strings_displayed=strings_displayed)
 def test_0065_verify_filtering_repository( self ):
     '''Verify the new tool versions and repository metadata.'''
     repository = test_db_util.get_repository_by_name_and_owner( repository_name, common.test_user_1_name )
     category = test_db_util.get_category_by_name( 'Test 0000 Basic Repository Features 1' )
     tip = self.get_repository_tip( repository )
     self.check_for_valid_tools( repository )
     strings_displayed = [ 'Select a revision' ]
     self.display_manage_repository_page( repository, strings_displayed=strings_displayed )
     self.check_count_of_metadata_revisions_associated_with_repository( repository, metadata_count=2 )
     tool_guid = '%s/repos/user1/filtering_0000/Filter1/2.2.0' % self.url.replace( 'http://', '' ).rstrip( '/' )
     tool_metadata_strings_displayed = [ tool_guid,
                                         '2.2.0', # The tool version.
                                         'Filter1', # The tool ID.
                                         'Filter', # The tool name.
                                         'data on any column using simple expressions' ] # The tool description.
     tool_page_strings_displayed = [ 'Filter (version 2.2.0)' ]
     self.check_repository_tools_for_changeset_revision( repository,
                                                         tip,
                                                         tool_metadata_strings_displayed=tool_metadata_strings_displayed,
                                                         tool_page_strings_displayed=tool_page_strings_displayed )
     self.check_repository_metadata( repository, tip_only=False )