def test_0065_reinstall_column_repository(self): '''Reinstall column_maker without repository dependencies, verify both convert_chars and column_maker are installed.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name) self.reinstall_repository(installed_column_repository, install_repository_dependencies=False) strings_displayed = [ installed_column_repository.name, installed_column_repository.description, installed_column_repository.tool_shed, installed_column_repository.installed_changeset_revision, installed_convert_repository.name, installed_convert_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_column_repository, strings_displayed=strings_displayed) strings_displayed = [ installed_convert_repository.name, installed_convert_repository.description, installed_convert_repository.tool_shed, installed_convert_repository.installed_changeset_revision, installed_column_repository.name, installed_column_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_convert_repository, strings_displayed=strings_displayed)
def test_0050_verify_installed_repositories(self): '''Verify that the installed repositories are displayed properly.''' base_repository = test_db_util.get_installed_repository_by_name_owner( bwa_base_repository_name, common.test_user_1_name) tool_repository = test_db_util.get_installed_repository_by_name_owner( bwa_tool_repository_name, common.test_user_1_name) strings_displayed = [ base_repository.name, base_repository.owner, base_repository.installed_changeset_revision ] strings_displayed.extend([ tool_repository.name, tool_repository.owner, tool_repository.installed_changeset_revision ]) strings_displayed.append(self.url.replace('http://', '')) self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed, strings_not_displayed=[]) checks = [(tool_repository, [ tool_repository.name, tool_repository.owner, tool_repository.installed_changeset_revision ], ['Missing tool dependencies']), (base_repository, [ base_repository.name, base_repository.owner, base_repository.installed_changeset_revision, tool_repository.name, tool_repository.owner, tool_repository.installed_changeset_revision ], ['Missing tool dependencies'])] for repository, strings_displayed, strings_not_displayed in checks: self.display_installed_repository_manage_page( repository, strings_displayed=strings_displayed, strings_not_displayed=strings_not_displayed)
def test_0020_install_convert_repository(self): '''Install convert_chars without repository dependencies into convert_chars tool panel section.''' self.galaxy_logout() self.galaxy_login(email=common.admin_email, username=common.admin_username) self.install_repository(convert_repository_name, common.test_user_1_name, category_name, install_tool_dependencies=False, install_repository_dependencies=False, new_tool_panel_section='convert_chars') installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name) browse_strings_displayed = [ installed_convert_repository.name, installed_convert_repository.description, installed_convert_repository.tool_shed, installed_convert_repository.installed_changeset_revision ] strings_displayed = [ installed_convert_repository.name, installed_convert_repository.description, installed_convert_repository.tool_shed, installed_convert_repository.installed_changeset_revision, installed_column_repository.name, installed_column_repository.installed_changeset_revision, 'Missing repository dependencies' ] self.display_galaxy_browse_repositories_page( strings_displayed=browse_strings_displayed) self.display_installed_repository_manage_page( installed_convert_repository, strings_displayed=strings_displayed)
def test_0055_reactivate_convert_repository(self): '''Activate convert_chars. Both convert_chars and column_maker should now show as installed.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name) self.reactivate_repository(installed_convert_repository) strings_displayed = [ installed_column_repository.name, installed_column_repository.description, installed_column_repository.tool_shed, installed_column_repository.installed_changeset_revision, installed_convert_repository.name, installed_convert_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_column_repository, strings_displayed=strings_displayed) strings_displayed = [ installed_convert_repository.name, installed_convert_repository.description, installed_convert_repository.tool_shed, installed_convert_repository.installed_changeset_revision, installed_column_repository.name, installed_column_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_convert_repository, strings_displayed=strings_displayed)
def test_0020_install_convert_repository( self ): '''Install convert_chars without repository dependencies into convert_chars tool panel section.''' self.galaxy_logout() self.galaxy_login( email=common.admin_email, username=common.admin_username ) self.install_repository( convert_repository_name, common.test_user_1_name, category_name, install_tool_dependencies=False, install_repository_dependencies=False, new_tool_panel_section='convert_chars' ) installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name ) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name ) browse_strings_displayed = [ 'convert_chars_0080', 'Convert delimiters', self.url.replace( 'http://', '' ), installed_convert_repository.installed_changeset_revision ] strings_displayed = [ 'convert_chars_0080', 'Convert delimiters', self.url.replace( 'http://', '' ), installed_convert_repository.installed_changeset_revision, 'column_maker_0080', installed_column_repository.installed_changeset_revision, 'Missing repository dependencies' ] self.display_galaxy_browse_repositories_page( strings_displayed=browse_strings_displayed ) self.display_installed_repository_manage_page( installed_convert_repository, strings_displayed=strings_displayed )
def test_0080_reinstall_convert_repository( self ): '''Reinstall convert_chars with repository dependencies, verify that this installs both convert_chars and column_maker.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name ) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name ) self.reinstall_repository( installed_convert_repository, install_repository_dependencies=True, no_changes=False, new_tool_panel_section='convert_maker' ) strings_displayed = [ installed_column_repository.name, installed_column_repository.description, installed_column_repository.tool_shed, installed_column_repository.installed_changeset_revision, installed_convert_repository.name, installed_convert_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_column_repository, strings_displayed=strings_displayed ) strings_displayed = [ installed_convert_repository.name, installed_convert_repository.description, installed_convert_repository.tool_shed, installed_convert_repository.installed_changeset_revision, installed_column_repository.name, installed_column_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_convert_repository, strings_displayed=strings_displayed )
def test_0065_reinstall_column_repository( self ): '''Reinstall column_maker without repository dependencies, verify both convert_chars and column_maker are installed.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name ) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name ) self.reinstall_repository( installed_column_repository, install_repository_dependencies=False ) strings_displayed = [ installed_column_repository.name, installed_column_repository.description, installed_column_repository.tool_shed, installed_column_repository.installed_changeset_revision, installed_convert_repository.name, installed_convert_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_column_repository, strings_displayed=strings_displayed ) strings_displayed = [ installed_convert_repository.name, installed_convert_repository.description, installed_convert_repository.tool_shed, installed_convert_repository.installed_changeset_revision, installed_column_repository.name, installed_column_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_convert_repository, strings_displayed=strings_displayed )
def test_0055_reactivate_convert_repository( self ): '''Activate convert_chars. Both convert_chars and column_maker should now show as installed.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name ) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name ) self.reactivate_repository( installed_convert_repository ) strings_displayed = [ installed_column_repository.name, installed_column_repository.description, installed_column_repository.tool_shed, installed_column_repository.installed_changeset_revision, installed_convert_repository.name, installed_convert_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_column_repository, strings_displayed=strings_displayed ) strings_displayed = [ installed_convert_repository.name, installed_convert_repository.description, installed_convert_repository.tool_shed, installed_convert_repository.installed_changeset_revision, installed_column_repository.name, installed_column_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_convert_repository, strings_displayed=strings_displayed )
def test_0025_install_column_repository( self ): '''Install column maker with repository dependencies into column_maker tool panel section.''' self.install_repository( column_repository_name, common.test_user_1_name, category_name, install_repository_dependencies=True, new_tool_panel_section='column_maker', strings_displayed=[ 'install_repository_dependencies' ] ) installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name ) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name ) browse_strings_displayed = [ 'convert_chars_0080', 'Convert delimiters', self.url.replace( 'http://', '' ), installed_convert_repository.installed_changeset_revision, 'column_maker_0080', 'Add column', installed_column_repository.installed_changeset_revision ] strings_displayed = [ 'column_maker_0080', 'Add column', self.url.replace( 'http://', '' ), installed_column_repository.installed_changeset_revision, 'convert_chars_0080', installed_convert_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_galaxy_browse_repositories_page( strings_displayed=browse_strings_displayed ) self.display_installed_repository_manage_page( installed_column_repository, strings_displayed=strings_displayed )
def test_0050_verify_repository_installation(self): '''Verify installation of blastxml_to_top_descr_0120 and blast_datatypes_0120.''' ''' We are at step 1a, Galaxy side. Check that the blastxml_to_top_descr_0120 and blast_datatypes_0120 repositories installed correctly, and that there are now new datatypes in the registry matching the ones defined in blast_datatypes_0120. Also check that blast_datatypes_0120 is labeled as an installed repository dependency of blastxml_to_top_descr_0120. ''' global repository_datatypes_count global base_datatypes_count tool_repository = test_db_util.get_installed_repository_by_name_owner( tool_repository_name, common.test_user_1_name) datatypes_repository = test_db_util.get_installed_repository_by_name_owner( datatypes_repository_name, common.test_user_2_name) current_datatypes = int(self.get_datatypes_count()) expected_count = base_datatypes_count + repository_datatypes_count assert current_datatypes == expected_count, 'Installing %s did not add new datatypes. Expected: %d. Found: %d' % \ ( 'blastxml_to_top_descr_0120', expected_count, current_datatypes ) strings_displayed = [ 'Installed repository dependencies', 'user1', 'blast_datatypes_0120' ] strings_displayed.extend([ 'Valid tools', 'BLAST top hit', 'Make a table', datatypes_repository.installed_changeset_revision ]) self.display_installed_repository_manage_page( tool_repository, strings_displayed=strings_displayed) strings_displayed = [ 'Datatypes', 'blastxml', 'blastdbp', 'blastdbn', 'BlastXml', 'BlastNucDb', 'BlastProtDb' ] strings_displayed.extend(['application/xml', 'text/html']) self.display_installed_repository_manage_page( datatypes_repository, strings_displayed=strings_displayed)
def test_0055_reactivate_convert_repository(self): '''Activate convert_chars. Both convert_chars and column_maker should now show as installed.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name) self.reactivate_repository(installed_convert_repository) strings_displayed = [ 'column_maker_0080', 'Add column', self.url.replace('http://', ''), installed_column_repository.installed_changeset_revision, 'convert_chars_0080', installed_convert_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_column_repository, strings_displayed=strings_displayed) strings_displayed = [ 'convert_chars_0080', 'Convert delimiters', self.url.replace('http://', ''), installed_convert_repository.installed_changeset_revision, 'column_maker_0080', installed_column_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_convert_repository, strings_displayed=strings_displayed)
def test_0080_reinstall_convert_repository(self): '''Reinstall convert_chars with repository dependencies, verify that this installs both convert_chars and column_maker.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name) self.reinstall_repository(installed_convert_repository, install_repository_dependencies=True, no_changes=False, new_tool_panel_section='convert_maker') strings_displayed = [ 'column_maker_0080', 'Add column', self.url.replace('http://', ''), installed_column_repository.installed_changeset_revision, 'convert_chars_0080', installed_convert_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_column_repository, strings_displayed=strings_displayed) strings_displayed = [ 'convert_chars_0080', 'Convert delimiters', self.url.replace('http://', ''), installed_convert_repository.installed_changeset_revision, 'column_maker_0080', installed_column_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_convert_repository, strings_displayed=strings_displayed)
def test_0055_reactivate_convert_repository( self ): '''Activate convert_chars. Both convert_chars and column_maker should now show as installed.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name ) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name ) self.reactivate_repository( installed_convert_repository ) strings_displayed = [ 'column_maker_0080', 'Add column', self.url.replace( 'http://', '' ), installed_column_repository.installed_changeset_revision, 'convert_chars_0080', installed_convert_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_column_repository, strings_displayed=strings_displayed ) strings_displayed = [ 'convert_chars_0080', 'Convert delimiters', self.url.replace( 'http://', '' ), installed_convert_repository.installed_changeset_revision, 'column_maker_0080', installed_column_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_convert_repository, strings_displayed=strings_displayed )
def test_0025_install_column_repository(self): '''Install column maker with repository dependencies into column_maker tool panel section.''' self.install_repository( column_repository_name, common.test_user_1_name, category_name, install_repository_dependencies=True, new_tool_panel_section='column_maker', strings_displayed=['install_repository_dependencies']) installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name) browse_strings_displayed = [ 'convert_chars_0080', 'Convert delimiters', self.url.replace('http://', ''), installed_convert_repository.installed_changeset_revision, 'column_maker_0080', 'Add column', installed_column_repository.installed_changeset_revision ] strings_displayed = [ 'column_maker_0080', 'Add column', self.url.replace('http://', ''), installed_column_repository.installed_changeset_revision, 'convert_chars_0080', installed_convert_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_galaxy_browse_repositories_page( strings_displayed=browse_strings_displayed) self.display_installed_repository_manage_page( installed_column_repository, strings_displayed=strings_displayed)
def test_0080_reinstall_convert_repository(self): '''Reinstall convert_chars with repository dependencies, verify that this installs both convert_chars and column_maker.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name) self.reinstall_repository(installed_convert_repository, install_repository_dependencies=True, no_changes=False, new_tool_panel_section='convert_maker') strings_displayed = [ installed_column_repository.name, installed_column_repository.description, installed_column_repository.tool_shed, installed_column_repository.installed_changeset_revision, installed_convert_repository.name, installed_convert_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_column_repository, strings_displayed=strings_displayed) strings_displayed = [ installed_convert_repository.name, installed_convert_repository.description, installed_convert_repository.tool_shed, installed_convert_repository.installed_changeset_revision, installed_column_repository.name, installed_column_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_convert_repository, strings_displayed=strings_displayed)
def test_0025_install_column_repository(self): '''Install column maker with repository dependencies into column_maker tool panel section.''' self.install_repository( column_repository_name, common.test_user_1_name, category_name, install_repository_dependencies=True, new_tool_panel_section='column_maker', strings_displayed=['install_repository_dependencies']) installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name) browse_strings_displayed = [ installed_convert_repository.name, installed_convert_repository.description, installed_convert_repository.tool_shed, installed_convert_repository.installed_changeset_revision, installed_column_repository.name, installed_column_repository.description, installed_column_repository.installed_changeset_revision ] strings_displayed = [ installed_column_repository.name, installed_column_repository.description, installed_column_repository.tool_shed, installed_column_repository.installed_changeset_revision, installed_convert_repository.name, installed_convert_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_galaxy_browse_repositories_page( strings_displayed=browse_strings_displayed) self.display_installed_repository_manage_page( installed_column_repository, strings_displayed=strings_displayed)
def test_0020_install_repositories( self ): '''Install column_maker into column_maker tool panel section and install repository dependencies.''' self.galaxy_logout() self.galaxy_login( email=common.admin_email, username=common.admin_username ) self.install_repository( column_repository_name, common.test_user_1_name, category_name, install_tool_dependencies=False, install_repository_dependencies=True, new_tool_panel_section='column_maker', strings_displayed=[ 'install_repository_dependencies' ] ) installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name ) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name ) browse_strings_displayed = [ installed_convert_repository.name, installed_convert_repository.description, installed_convert_repository.tool_shed, installed_convert_repository.installed_changeset_revision, installed_column_repository.name, installed_column_repository.description, installed_column_repository.installed_changeset_revision ] strings_displayed = [ installed_convert_repository.name, installed_convert_repository.description, installed_convert_repository.tool_shed, installed_convert_repository.installed_changeset_revision, installed_column_repository.name, installed_column_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_galaxy_browse_repositories_page( strings_displayed=browse_strings_displayed ) self.display_installed_repository_manage_page( installed_convert_repository, strings_displayed=strings_displayed )
def test_0080_reinstall_convert_repository( self ): '''Reinstall convert_chars with repository dependencies, verify that this installs both convert_chars and column_maker.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name ) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name ) self.reinstall_repository( installed_convert_repository, install_repository_dependencies=True, no_changes=False, new_tool_panel_section='convert_maker' ) strings_displayed = [ 'column_maker_0080', 'Add column', self.url.replace( 'http://', '' ), installed_column_repository.installed_changeset_revision, 'convert_chars_0080', installed_convert_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_column_repository, strings_displayed=strings_displayed ) strings_displayed = [ 'convert_chars_0080', 'Convert delimiters', self.url.replace( 'http://', '' ), installed_convert_repository.installed_changeset_revision, 'column_maker_0080', installed_column_repository.installed_changeset_revision, 'Installed repository dependencies' ] self.display_installed_repository_manage_page( installed_convert_repository, strings_displayed=strings_displayed )
def test_0075_install_freebayes_repository( self ): '''Install freebayes with repository dependencies. This should also automatically reactivate emboss_datatypes and reinstall emboss_5.''' original_datatypes = self.get_datatypes_count() strings_displayed = [ 'Handle', 'tool dependencies', 'freebayes', '0.9.4_9696d0ce8a9', 'samtools', '0.1.18' ] self.install_repository( freebayes_repository_name, common.test_user_1_name, category_name, strings_displayed=strings_displayed, install_tool_dependencies=False, install_repository_dependencies=True, new_tool_panel_section='freebayes' ) assert original_datatypes < self.get_datatypes_count(), 'Installing a repository that depends on emboss_datatypes did not add datatypes.' emboss_repository = test_db_util.get_installed_repository_by_name_owner( emboss_repository_name, common.test_user_1_name ) datatypes_repository = test_db_util.get_installed_repository_by_name_owner( emboss_datatypes_repository_name, common.test_user_1_name ) strings_displayed = [ 'emboss_0050', 'emboss_datatypes_0050', emboss_repository.installed_changeset_revision, datatypes_repository.installed_changeset_revision ] self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed ) # Installing freebayes should automatically reinstall emboss and reactivate emboss_datatypes. # Now column_maker, convert_chars, emboss, emboss_datatypes, freebayes, and bismark should be installed. installed_repositories = [ ( column_repository_name, common.test_user_1_name ), ( emboss_datatypes_repository_name, common.test_user_1_name ), ( emboss_repository_name, common.test_user_1_name ), ( freebayes_repository_name, common.test_user_1_name ), ( convert_repository_name, common.test_user_1_name ), ( bismark_repository_name, common.test_user_1_name ) ] strings_displayed = [ 'emboss_0050', 'emboss_datatypes_0050', 'column_maker_0050', 'convert_chars_0050', 'bismark_0050', 'freebayes_0050' ] strings_not_displayed = [ 'filtering_0050' ] self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed, strings_not_displayed=strings_not_displayed ) self.verify_installed_repositories( installed_repositories )
def test_0050_verify_reinstallation_order( self ): '''Verify that convert_chars_0160 and column_maker_0160 were reinstalled before filtering_0160.''' filter_repository = test_db_util.get_installed_repository_by_name_owner( filter_repository_name, common.test_user_1_name ) column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name ) convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name ) # Filtering was selected for reinstallation, so convert chars and column maker should have been installed first. assert filter_repository.update_time > convert_repository.update_time, 'Error: convert_chars_0160 shows a later update time than filtering_0160' assert filter_repository.update_time > column_repository.update_time, 'Error: column_maker_0160 shows a later update time than filtering_0160'
def test_0030_verify_installation_order(self): '''Verify that convert_chars_0150 was installed before column_maker_0150.''' column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name) convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name) # Column maker was selected for installation, so convert chars should have been installed first, as reflected by the update_time field. assert column_repository.update_time > convert_repository.update_time, 'Error: column_maker_0150 shows an earlier update time than convert_chars_0150'
def test_0040_uninstall_all_repositories( self ): '''Uninstall convert_chars_0160, column_maker_0160, and filtering_0160.''' filter_repository = test_db_util.get_installed_repository_by_name_owner( filter_repository_name, common.test_user_1_name ) column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name ) convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name ) self.uninstall_repository( filter_repository, remove_from_disk=True ) self.uninstall_repository( column_repository, remove_from_disk=True ) self.uninstall_repository( convert_repository, remove_from_disk=True )
def test_0040_uninstall_filtering_repository( self ): '''Uninstall filtering, verify tool panel section.''' installed_filtering_repository = test_db_util.get_installed_repository_by_name_owner( filtering_repository_name, common.test_user_1_name ) installed_freebayes_repository = test_db_util.get_installed_repository_by_name_owner( freebayes_repository_name, common.test_user_1_name ) self.uninstall_repository( installed_filtering_repository, remove_from_disk=True ) test_db_util.ga_refresh( installed_filtering_repository ) self.check_galaxy_repository_tool_panel_section( installed_filtering_repository, '' ) strings_displayed = [ 'Missing repository', 'filtering' ] self.display_installed_repository_manage_page( installed_freebayes_repository, strings_displayed=strings_displayed ) self.check_galaxy_repository_db_status( filtering_repository_name, common.test_user_1_name, 'Uninstalled' )
def test_0045_uninstall_freebayes_repository( self ): '''Uninstall freebayes, verify tool panel section and missing repository dependency.''' installed_freebayes_repository = test_db_util.get_installed_repository_by_name_owner( freebayes_repository_name, common.test_user_1_name ) installed_filtering_repository = test_db_util.get_installed_repository_by_name_owner( filtering_repository_name, common.test_user_1_name ) self.uninstall_repository( installed_freebayes_repository, remove_from_disk=True ) test_db_util.ga_refresh( installed_freebayes_repository ) self.check_galaxy_repository_tool_panel_section( installed_freebayes_repository, 'freebayes' ) strings_displayed = [ 'Missing repository', 'freebayes', 'filtering_0040', 'user1', "Galaxy's filtering tool for test 0040" ] self.display_installed_repository_manage_page( installed_filtering_repository, strings_displayed=strings_displayed ) self.check_galaxy_repository_db_status( 'freebayes_0040', 'user1', 'Uninstalled' )
def test_0085_uninstall_all_repositories( self ): '''Uninstall convert_chars and column_maker to verify that they are in the right tool panel sections.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name ) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name ) self.uninstall_repository( installed_column_repository, remove_from_disk=True ) self.uninstall_repository( installed_convert_repository, remove_from_disk=True ) test_db_util.ga_refresh( installed_column_repository ) test_db_util.ga_refresh( installed_convert_repository ) self.check_galaxy_repository_tool_panel_section( installed_column_repository, 'convert_maker' ) self.check_galaxy_repository_tool_panel_section( installed_convert_repository, 'convert_maker' )
def test_0045_deactivate_convert_repository( self ): '''Deactivate convert_chars, verify that both convert_chars and column_maker are deactivated.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name ) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name ) self.uninstall_repository( installed_convert_repository, remove_from_disk=False ) strings_not_displayed = [ 'column_maker_0080', installed_column_repository.installed_changeset_revision, 'convert_chars_0080', installed_convert_repository.installed_changeset_revision ] self.display_galaxy_browse_repositories_page( strings_not_displayed=strings_not_displayed )
def test_0045_uninstall_and_verify_tool_panel_sections( self ): '''uninstall both and verify tool panel sections''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name ) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name ) self.uninstall_repository( installed_column_repository, remove_from_disk=True ) self.uninstall_repository( installed_convert_repository, remove_from_disk=True ) test_db_util.ga_refresh( installed_convert_repository ) test_db_util.ga_refresh( installed_column_repository ) self.check_galaxy_repository_tool_panel_section( installed_column_repository, 'new_column_maker' ) self.check_galaxy_repository_tool_panel_section( installed_convert_repository, 'new_convert_chars' )
def test_0030_verify_installation_order( self ): '''Verify that the numpy repository was installed before the matplotlib repository.''' ''' This is step 5 - Verify that the prior_installation_required attribute resulted in package_numpy_1_7_0170 being installed first. In the previous step, package_matplotlib_1_2_0170 was selected for installation, but package_numpy_1_7_0170 had the prior_installation_required attribute set. Confirm that this resulted in package_numpy_1_7_0170 being installed before package_matplotlib_1_2_0170. ''' matplotlib_repository = test_db_util.get_installed_repository_by_name_owner( matplotlib_repository_name, common.test_user_1_name ) numpy_repository = test_db_util.get_installed_repository_by_name_owner( numpy_repository_name, common.test_user_1_name ) assert matplotlib_repository.update_time > numpy_repository.update_time, \ 'Error: package_numpy_1_7_0170 shows a later update time than package_matplotlib_1_2_0170'
def test_0055_verify_complex_tool_dependency( self ): '''Verify that the generated env.sh contains the right data.''' base_repository = test_db_util.get_installed_repository_by_name_owner( bwa_base_repository_name, common.test_user_1_name ) tool_repository = test_db_util.get_installed_repository_by_name_owner( bwa_package_repository_name, common.test_user_1_name ) env_sh_path = self.get_env_sh_path( tool_dependency_name='bwa', tool_dependency_version='0.5.9', repository=base_repository ) assert os.path.exists( env_sh_path ), 'env.sh was not generated in %s for this dependency.' % env_sh_path contents = file( env_sh_path, 'r' ).read() if tool_repository.installed_changeset_revision not in contents: raise AssertionError( 'Installed changeset revision %s not found in env.sh.\nContents of env.sh: %s' % \ ( tool_repository.installed_changeset_revision, contents ) ) if 'package_bwa_0_5_9_0100' not in contents: raise AssertionError( 'Repository name package_bwa_0_5_9_0100 not found in env.sh.\nContents of env.sh: %s' % contents )
def test_0030_verify_installation_order(self): '''Verify that the numpy repository was installed before the matplotlib repository.''' ''' This is step 5 - Verify that the prior_installation_required attribute resulted in package_numpy_1_7_0170 being installed first. In the previous step, package_matplotlib_1_2_0170 was selected for installation, but package_numpy_1_7_0170 had the prior_installation_required attribute set. Confirm that this resulted in package_numpy_1_7_0170 being installed before package_matplotlib_1_2_0170. ''' matplotlib_repository = test_db_util.get_installed_repository_by_name_owner( matplotlib_repository_name, common.test_user_1_name) numpy_repository = test_db_util.get_installed_repository_by_name_owner( numpy_repository_name, common.test_user_1_name) assert matplotlib_repository.update_time > numpy_repository.update_time, \ 'Error: package_numpy_1_7_0170 shows a later update time than package_matplotlib_1_2_0170'
def test_0055_verify_complex_tool_dependency( self ): '''Verify that the generated env.sh contains the right data.''' base_repository = test_db_util.get_installed_repository_by_name_owner( bwa_base_repository_name, common.test_user_1_name ) tool_repository = test_db_util.get_installed_repository_by_name_owner( bwa_tool_repository_name, common.test_user_1_name ) env_sh_path = os.path.join( self.galaxy_tool_dependency_dir, 'bwa', '0.5.9', base_repository.owner, base_repository.name, base_repository.installed_changeset_revision, 'env.sh' ) assert os.path.exists( env_sh_path ), 'env.sh was not generated in %s for this dependency.' % env_sh_path contents = file( env_sh_path, 'r' ).read() if tool_repository.installed_changeset_revision not in contents or tool_repository.name not in contents: raise AssertionError( 'The env.sh file was not correctly generated. Contents: %s' % contents )
def test_0065_deactivate_datatypes_repository(self): '''Deactivate emboss_datatypes and verify that the datatypes count is reduced.''' original_datatypes = self.get_datatypes_count() repository = test_db_util.get_installed_repository_by_name_owner( emboss_datatypes_repository_name, common.test_user_1_name) self.uninstall_repository(repository, remove_from_disk=False) assert original_datatypes > self.get_datatypes_count( ), 'Deactivating emboss_datatypes did not remove datatypes.' # Now we have emboss, bismark, column_maker, and convert_chars installed, filtering and freebayes never installed, and emboss_datatypes deactivated. installed_repositories = [ (column_repository_name, common.test_user_1_name), (emboss_repository_name, common.test_user_1_name), (convert_repository_name, common.test_user_1_name), (bismark_repository_name, common.test_user_1_name) ] uninstalled_repositories = [ (emboss_datatypes_repository_name, common.test_user_1_name), (filtering_repository_name, common.test_user_1_name), (freebayes_repository_name, common.test_user_1_name) ] self.verify_installed_uninstalled_repositories( installed_repositories=installed_repositories, uninstalled_repositories=uninstalled_repositories) strings_not_displayed = [ repository.name, repository.installed_changeset_revision ] self.display_galaxy_browse_repositories_page( strings_not_displayed=strings_not_displayed)
def test_0015_install_emboss_repository( self ): '''Install the emboss repository without installing tool dependencies.''' global repository_datatypes_count global base_datatypes_count strings_displayed = [ 'Handle', 'Never installed', 'tool dependencies', 'emboss', '5.0.0', 'package' ] self.install_repository( 'emboss_0020', common.test_user_1_name, 'Test 0020 Basic Repository Dependencies', strings_displayed=strings_displayed, install_tool_dependencies=False, new_tool_panel_section='test_1020' ) installed_repository = test_db_util.get_installed_repository_by_name_owner( 'emboss_0020', common.test_user_1_name ) strings_displayed = [ 'emboss_0020', 'Galaxy wrappers for Emboss version 5.0.0 tools for test 0020', 'user1', self.url.replace( 'http://', '' ), installed_repository.installed_changeset_revision ] self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed ) strings_displayed.extend( [ 'Installed tool shed repository', 'Valid tools', 'antigenic' ] ) self.display_installed_repository_manage_page( installed_repository, strings_displayed=strings_displayed ) strings_displayed = [ 'emboss', '5.0.0', 'package' ] self.check_installed_repository_tool_dependencies( installed_repository, strings_displayed=strings_displayed, dependencies_installed=False ) self.verify_tool_metadata_for_installed_repository( installed_repository ) current_datatypes = int( self.get_datatypes_count() ) assert current_datatypes > base_datatypes_count, 'Installing emboss did not add new datatypes. Expected: %d. Found: %d' % \ ( base_datatypes_count + repository_datatypes_count, current_datatypes )
def test_0035_reactivate_convert_repository(self): '''Reactivate convert_chars, both convert_chars and column_maker should now show as installed.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name) self.reactivate_repository(installed_convert_repository) strings_displayed = [ 'convert_chars_0080', 'Compute', 'an expression on every row', '1.1.0', 'column_maker_0080', 'Installed repository dependencies', self.url.replace('http://', ''), installed_column_repository.installed_changeset_revision, installed_convert_repository.installed_changeset_revision ] self.display_installed_repository_manage_page( installed_column_repository, strings_displayed=strings_displayed)
def test_0030_repair_column_repository( self ): '''Repair the column_1430 repository.''' ''' This is step 3 - Repair the column_1430 repository. ''' column_repository = test_db_util.get_installed_repository_by_name_owner( 'column_1430', common.test_user_1_name ) self.repair_installed_repository( column_repository )
def test_0045_uninstall_and_verify_tool_panel_sections(self): '''uninstall both and verify tool panel sections''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name) self.uninstall_repository(installed_column_repository, remove_from_disk=True) self.uninstall_repository(installed_convert_repository, remove_from_disk=True) test_db_util.ga_refresh(installed_convert_repository) test_db_util.ga_refresh(installed_column_repository) self.check_galaxy_repository_tool_panel_section( installed_column_repository, 'new_column_maker') self.check_galaxy_repository_tool_panel_section( installed_convert_repository, 'new_convert_chars')
def test_0045_install_repository_with_invalid_repository_dependency(self): '''Install the repository and verify that galaxy detects invalid repository dependencies.''' self.galaxy_logout() self.galaxy_login(email=common.admin_email, username=common.admin_username) repository = test_db_util.get_repository_by_name_and_owner( emboss_repository_name, common.test_user_1_name) preview_strings_displayed = [ 'emboss_0110', self.get_repository_tip(repository), 'Ignoring repository dependency definition' ] self.install_repository( emboss_repository_name, common.test_user_1_name, category_name, install_tool_dependencies=False, install_repository_dependencies=True, preview_strings_displayed=preview_strings_displayed, post_submit_strings_displayed=[ repository.name, repository.name, 'new' ], includes_tools_for_display_in_tool_panel=True) repository = test_db_util.get_installed_repository_by_name_owner( emboss_repository_name, common.test_user_1_name) self.display_installed_repository_manage_page( repository, strings_not_displayed=['Repository dependencies'])
def test_0010_install_filtering_repository(self): '''Install the filtering_1410 repository.''' ''' We are at step 2 - Install filtering_1410 to Galaxy. Install the filtering repository to Galaxy. ''' self.galaxy_logout() self.galaxy_login(email=common.admin_email, username=common.admin_username) self.install_repository('filtering_1410', common.test_user_1_name, category_name, new_tool_panel_section='test_1410') installed_repository = test_db_util.get_installed_repository_by_name_owner( 'filtering_1410', common.test_user_1_name) strings_displayed = [ 'filtering_1410', "Galaxy's filtering tool", 'user1', self.url.replace('http://', ''), installed_repository.installed_changeset_revision ] self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed) strings_displayed.extend( ['Installed tool shed repository', 'Valid tools', 'Filter1']) self.display_installed_repository_manage_page( installed_repository, strings_displayed=strings_displayed) self.verify_tool_metadata_for_installed_repository( installed_repository)
def test_0025_uninstall_column_repository( self ): '''uninstall column_maker, verify same section''' installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name ) self.uninstall_repository( installed_column_repository, remove_from_disk=True ) test_db_util.ga_refresh( installed_column_repository ) self.check_galaxy_repository_tool_panel_section( installed_column_repository, 'column_maker' )
def test_0015_install_freebayes_repository(self): '''Install the freebayes repository without installing tool dependencies.''' strings_displayed = [ 'Never installed', 'dependencies can be automatically handled', 'Handle', 'tool dependencies' ] strings_displayed.extend( ['freebayes', '0.9.4_9696d0ce8a9', 'samtools', '0.1.18']) self.install_repository(repository_name, common.test_user_1_name, category_name, strings_displayed=strings_displayed, install_tool_dependencies=False, new_tool_panel_section='test_1010') installed_repository = test_db_util.get_installed_repository_by_name_owner( repository_name, common.test_user_1_name) strings_displayed = [ installed_repository.name, installed_repository.description, installed_repository.owner, installed_repository.tool_shed, installed_repository.installed_changeset_revision ] self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed) self.display_installed_repository_manage_page( installed_repository, strings_displayed=[ 'Installed tool shed repository', 'Valid tools', 'FreeBayes' ]) self.check_installed_repository_tool_dependencies( installed_repository, dependencies_installed=False) self.verify_tool_metadata_for_installed_repository( installed_repository)
def test_0010_install_emboss_repository( self ): '''Install the emboss repository into the Galaxy instance.''' global repository_datatypes_count global base_datatypes_count self.galaxy_logout() self.galaxy_login( email=common.admin_email, username=common.admin_username ) base_datatypes_count = int( self.get_datatypes_count() ) strings_displayed = [ 'Handle', 'Never installed', 'tool dependencies', 'emboss', '5.0.0', 'package' ] self.install_repository( emboss_repository_name, common.test_user_1_name, 'Test 0020 Basic Repository Dependencies', strings_displayed=strings_displayed, new_tool_panel_section='test_1210' ) installed_repository = test_db_util.get_installed_repository_by_name_owner( emboss_repository_name, common.test_user_1_name ) strings_displayed = [ installed_repository.name, installed_repository.description, installed_repository.owner, installed_repository.tool_shed, installed_repository.installed_changeset_revision ] self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed ) current_datatypes = int( self.get_datatypes_count() ) # If we are running this test by itself, installing the emboss repository should also install the emboss_datatypes # repository, and this should add datatypes to the datatypes registry. If that is the case, verify that datatypes # have been added, otherwise verify that the count is unchanged. if running_standalone: assert current_datatypes == base_datatypes_count + repository_datatypes_count, 'Installing emboss did not add new datatypes.' else: assert current_datatypes == base_datatypes_count, 'Installing emboss added new datatypes.'
def test_0015_install_emboss_repository( self ): '''Install the emboss repository without installing tool dependencies.''' global repository_datatypes_count global base_datatypes_count global running_standalone base_datatypes_count = int( self.get_datatypes_count() ) strings_displayed = [ 'Handle', 'Never installed', 'tool dependencies', 'emboss', '5.0.0', 'package' ] self.install_repository( 'emboss_0030', common.test_user_1_name, 'Test 0030 Repository Dependency Revisions', strings_displayed=strings_displayed, install_tool_dependencies=False, new_tool_panel_section='test_1030' ) installed_repository = test_db_util.get_installed_repository_by_name_owner( 'emboss_0030', common.test_user_1_name ) strings_displayed = [ installed_repository.name, installed_repository.description, installed_repository.owner, installed_repository.tool_shed, installed_repository.installed_changeset_revision ] self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed ) self.display_installed_repository_manage_page( installed_repository, strings_displayed=[ 'Installed tool shed repository', 'Valid tools', 'antigenic' ] ) self.check_installed_repository_tool_dependencies( installed_repository, dependencies_installed=False ) self.verify_tool_metadata_for_installed_repository( installed_repository ) self.update_installed_repository( installed_repository, strings_displayed=[ "there are no updates available" ] ) current_datatypes = int( self.get_datatypes_count() ) if running_standalone: assert current_datatypes == base_datatypes_count + repository_datatypes_count, 'Installing emboss did not add new datatypes.' else: assert current_datatypes == base_datatypes_count, 'Installing emboss added new datatypes.'
def test_0050_install_deactivate_filtering_repository( self ): '''Install and deactivate filtering.''' global running_standalone original_datatypes = self.get_datatypes_count() # After this test, the repositories should be in the following states: # Installed: freebayes # Deactivated: filtering # Never installed: emboss, emboss_datatypes, bwa_color, bwa_base self.install_repository( filtering_repository_name, common.test_user_1_name, category_name, install_tool_dependencies=False, install_repository_dependencies=False, new_tool_panel_section='filtering_1090' ) installed_repositories = [ ( filtering_repository_name, common.test_user_1_name ), ( freebayes_repository_name, common.test_user_1_name ) ] strings_displayed = [ 'filtering_0090', 'freebayes_0090' ] strings_not_displayed = [ 'emboss_0090', 'emboss_datatypes_0090', 'bwa_color_0090', 'bwa_base_0090' ] self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed, strings_not_displayed=strings_not_displayed ) self.verify_installed_repositories( installed_repositories ) filtering_repository = test_db_util.get_installed_repository_by_name_owner( filtering_repository_name, common.test_user_1_name ) self.uninstall_repository( filtering_repository, remove_from_disk=False ) strings_displayed = [ 'freebayes_0090' ] strings_not_displayed = [ 'filtering_0090', 'emboss_0090', 'emboss_datatypes_0090', 'bwa_color_0090', 'bwa_base_0090' ] self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed, strings_not_displayed=strings_not_displayed )
def test_0010_install_emboss_repository(self): '''Install the emboss repository into the Galaxy instance.''' global repository_datatypes_count global base_datatypes_count global running_standalone self.galaxy_logout() self.galaxy_login(email=common.admin_email, username=common.admin_username) base_datatypes_count = int(self.get_datatypes_count()) strings_displayed = [ 'Handle', 'Never installed', 'tool dependencies', 'emboss', '5.0.0', 'package' ] self.install_repository(emboss_repository_name, common.test_user_1_name, 'Test 0030 Repository Dependency Revisions', strings_displayed=strings_displayed, new_tool_panel_section='test_1210') installed_repository = test_db_util.get_installed_repository_by_name_owner( emboss_repository_name, common.test_user_1_name) strings_displayed = [ installed_repository.name, installed_repository.description, installed_repository.owner, installed_repository.tool_shed, installed_repository.installed_changeset_revision ] self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed) current_datatypes = int(self.get_datatypes_count()) # If we are running this test by itself, installing the emboss repository should also install the emboss_datatypes # repository, and this should add datatypes to the datatypes registry. If that is the case, verify that datatypes # have been added, otherwise verify that the count is unchanged. if running_standalone: assert current_datatypes == base_datatypes_count + repository_datatypes_count, 'Installing emboss did not add new datatypes.' else: assert current_datatypes == base_datatypes_count, 'Installing emboss added new datatypes.'
def test_0055_install_uninstall_datatypes_repository( self ): '''Install and uninstall emboss_datatypes.''' # After this test, the repositories should be in the following states: # Installed: freebayes # Deactivated: filtering # Uninstalled: emboss_datatypes # Never installed: emboss, bwa_color, bwa_base self.install_repository( emboss_datatypes_repository_name, common.test_user_1_name, category_name, includes_tools_for_display_in_tool_panel=False ) installed_repositories = [ ( emboss_datatypes_repository_name, common.test_user_1_name ), ( freebayes_repository_name, common.test_user_1_name ) ] uninstalled_repositories = [ ( emboss_repository_name, common.test_user_1_name ), ( filtering_repository_name, common.test_user_1_name ), ( bwa_color_repository_name, common.test_user_1_name ), ( bwa_base_repository_name, common.test_user_1_name ) ] strings_displayed = [ 'emboss_datatypes_0090', 'freebayes_0090' ] strings_not_displayed = [ 'filtering_0090', 'emboss_0090', 'bwa_color_0090', 'bwa_base_0090' ] self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed, strings_not_displayed=strings_not_displayed ) self.verify_installed_repositories( installed_repositories ) datatypes_repository = test_db_util.get_installed_repository_by_name_owner( emboss_datatypes_repository_name, common.test_user_1_name ) self.uninstall_repository( datatypes_repository, remove_from_disk=True ) strings_displayed = [ 'freebayes_0090' ] strings_not_displayed = [ 'emboss_datatypes_0090', 'filtering_0090', 'emboss_0090', 'bwa_color_0090', 'bwa_base_0090' ] self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed, strings_not_displayed=strings_not_displayed )
def test_0070_uninstall_emboss_repository(self): '''Uninstall the emboss_5 repository.''' repository = test_db_util.get_installed_repository_by_name_owner( emboss_repository_name, common.test_user_1_name) self.uninstall_repository(repository, remove_from_disk=True) strings_not_displayed = [ repository.name, repository.installed_changeset_revision ] self.display_galaxy_browse_repositories_page( strings_not_displayed=strings_not_displayed) test_db_util.ga_refresh(repository) self.check_galaxy_repository_tool_panel_section( repository, 'emboss_5_0050') # Now we have bismark, column_maker, and convert_chars installed, filtering and freebayes never installed, emboss_datatypes deactivated, # and emboss uninstalled. installed_repositories = [ (column_repository_name, common.test_user_1_name), (convert_repository_name, common.test_user_1_name), (bismark_repository_name, common.test_user_1_name) ] uninstalled_repositories = [ (emboss_datatypes_repository_name, common.test_user_1_name), (emboss_repository_name, common.test_user_1_name), (filtering_repository_name, common.test_user_1_name), (freebayes_repository_name, common.test_user_1_name) ] self.verify_installed_uninstalled_repositories( installed_repositories=installed_repositories, uninstalled_repositories=uninstalled_repositories)
def test_0025_uninstall_datatypes_repository( self ): '''Uninstall the emboss_datatypes repository.''' global base_datatypes_count installed_repository = test_db_util.get_installed_repository_by_name_owner( datatypes_repository_name, common.test_user_1_name ) self.uninstall_repository( installed_repository, remove_from_disk=True ) current_datatypes = int( self.get_datatypes_count() ) assert current_datatypes == base_datatypes_count, 'Uninstalling emboss did not remove datatypes.'
def test_0085_uninstall_all_repositories(self): '''Uninstall convert_chars and column_maker to verify that they are in the right tool panel sections.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name) self.uninstall_repository(installed_column_repository, remove_from_disk=True) self.uninstall_repository(installed_convert_repository, remove_from_disk=True) test_db_util.ga_refresh(installed_column_repository) test_db_util.ga_refresh(installed_convert_repository) self.check_galaxy_repository_tool_panel_section( installed_column_repository, 'convert_maker') self.check_galaxy_repository_tool_panel_section( installed_convert_repository, 'convert_maker')
def test_0025_deactivate_emboss_repository( self ): '''Deactivate the emboss repository without removing it from disk.''' installed_repository = test_db_util.get_installed_repository_by_name_owner( emboss_repository_name, common.test_user_1_name ) self.uninstall_repository( installed_repository, remove_from_disk=False ) strings_not_displayed = [ installed_repository.name, installed_repository.installed_changeset_revision ] self.display_galaxy_browse_repositories_page( strings_not_displayed=strings_not_displayed )
def test_0045_deactivate_convert_repository(self): '''Deactivate convert_chars, verify that both convert_chars and column_maker are deactivated.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name) self.uninstall_repository(installed_convert_repository, remove_from_disk=False) strings_not_displayed = [ installed_column_repository.name, installed_column_repository.installed_changeset_revision, installed_convert_repository.name, installed_convert_repository.installed_changeset_revision ] self.display_galaxy_browse_repositories_page( strings_not_displayed=strings_not_displayed)
def test_0040_reactivate_datatypes_repository( self ): '''Reactivate the datatypes repository and verify that the datatypes are again present.''' global repository_datatypes_count global base_datatypes_count installed_repository = test_db_util.get_installed_repository_by_name_owner( datatypes_repository_name, common.test_user_1_name ) self.reactivate_repository( installed_repository ) current_datatypes = int( self.get_datatypes_count() ) assert current_datatypes > base_datatypes_count, 'Reactivating emboss did not add new datatypes.'
def test_0075_install_freebayes_repository(self): '''Install freebayes with repository dependencies. This should also automatically reactivate emboss_datatypes and reinstall emboss_5.''' original_datatypes = self.get_datatypes_count() strings_displayed = [ 'Handle', 'tool dependencies', 'freebayes', '0.9.4_9696d0ce8a9', 'samtools', '0.1.18' ] self.install_repository(freebayes_repository_name, common.test_user_1_name, category_name, strings_displayed=strings_displayed, install_tool_dependencies=False, install_repository_dependencies=True, new_tool_panel_section='freebayes') assert original_datatypes < self.get_datatypes_count( ), 'Installing a repository that depends on emboss_datatypes did not add datatypes.' emboss_repository = test_db_util.get_installed_repository_by_name_owner( emboss_repository_name, common.test_user_1_name) datatypes_repository = test_db_util.get_installed_repository_by_name_owner( emboss_datatypes_repository_name, common.test_user_1_name) strings_displayed = [ 'emboss_0050', 'emboss_datatypes_0050', emboss_repository.installed_changeset_revision, datatypes_repository.installed_changeset_revision ] self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed) # Installing freebayes should automatically reinstall emboss and reactivate emboss_datatypes. # Now column_maker, convert_chars, emboss, emboss_datatypes, freebayes, and bismark should be installed. installed_repositories = [ (column_repository_name, common.test_user_1_name), (emboss_datatypes_repository_name, common.test_user_1_name), (emboss_repository_name, common.test_user_1_name), (freebayes_repository_name, common.test_user_1_name), (convert_repository_name, common.test_user_1_name), (bismark_repository_name, common.test_user_1_name) ] strings_displayed = [ 'emboss_0050', 'emboss_datatypes_0050', 'column_maker_0050', 'convert_chars_0050', 'bismark_0050', 'freebayes_0050' ] strings_not_displayed = ['filtering_0050'] self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed, strings_not_displayed=strings_not_displayed) self.verify_installed_repositories(installed_repositories)
def test_0050_verify_installed_repositories( self ): '''Verify that the installed repositories are displayed properly.''' base_repository = test_db_util.get_installed_repository_by_name_owner( bwa_base_repository_name, common.test_user_1_name ) tool_repository = test_db_util.get_installed_repository_by_name_owner( bwa_tool_repository_name, common.test_user_1_name ) strings_displayed = [ base_repository.name, base_repository.owner, base_repository.installed_changeset_revision ] strings_displayed.extend( [ tool_repository.name, tool_repository.owner, tool_repository.installed_changeset_revision ] ) strings_displayed.append( self.url.replace( 'http://', '' ) ) self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed, strings_not_displayed=[] ) checks = [ ( tool_repository, [ tool_repository.name, tool_repository.owner, tool_repository.installed_changeset_revision ], [ 'Missing tool dependencies' ] ), ( base_repository, [ base_repository.name, base_repository.owner, base_repository.installed_changeset_revision, tool_repository.name, tool_repository.owner, tool_repository.installed_changeset_revision ], [ 'Missing tool dependencies' ] ) ] for repository, strings_displayed, strings_not_displayed in checks: self.display_installed_repository_manage_page( repository, strings_displayed=strings_displayed, strings_not_displayed=strings_not_displayed )
def test_0050_reactivate_column_repository(self): '''Reactivate column_maker. This should not automatically reactivate convert_chars, so column_maker should be displayed as installed but missing repository dependencies.''' installed_convert_repository = test_db_util.get_installed_repository_by_name_owner( convert_repository_name, common.test_user_1_name) installed_column_repository = test_db_util.get_installed_repository_by_name_owner( column_repository_name, common.test_user_1_name) self.reactivate_repository(installed_column_repository) strings_displayed = [ 'column_maker_0080', 'Add column', self.url.replace('http://', ''), installed_column_repository.installed_changeset_revision, 'convert_chars_0080', installed_convert_repository.installed_changeset_revision, 'Missing repository dependencies', 'Deactivated' ] self.display_installed_repository_manage_page( installed_column_repository, strings_displayed=strings_displayed)