def do_upgrade_environment(db): for realm in self.SCHEMA: realm_schema = self.SCHEMA[realm] if need_db_create_for_realm(self.env, realm, realm_schema, db): create_db_for_realm(self.env, realm, realm_schema, db) elif need_db_upgrade_for_realm(self.env, realm, realm_schema, db): upgrade_db_for_realm(self.env, 'testmanager.upgrades', realm, realm_schema, db) # Create default values for configuration properties and initialize counters db_insert_or_ignore(self.env, 'testconfig', 'NEXT_CATALOG_ID', '0', db) db_insert_or_ignore(self.env, 'testconfig', 'NEXT_TESTCASE_ID', '0', db) db_insert_or_ignore(self.env, 'testconfig', 'NEXT_PLAN_ID', '0', db) db.commit() # Fix templates with a blank id if self._check_blank_id_templates(db): self._fix_blank_id_templates(db) db.commit() self.env.log.info(_(""" Test Manager templates with blank IDs have been fixed.\n Please go to the Administration panel, in the Test Manager Templates section, and check the associations between templates and Test Cases and Test Catalogs.\n You will have to manually fix any misconfiguration you should find. """)) # Create the basic "TC" Wiki page, used as the root test catalog tc_page = WikiPage(self.env, 'TC') if not tc_page.exists: tc_page.text = ' ' tc_page.save('System', '', '127.0.0.1') db.commit() if self._need_upgrade(db): # Set custom ticket field to hold related test case custom = self.config['ticket-custom'] config_dirty = False if 'testcaseid' not in custom: custom.set('testcaseid', 'text') custom.set('testcaseid.label', _("Test Case")) config_dirty = True if 'planid' not in custom: custom.set('planid', 'text') custom.set('planid.label', _("Test Plan")) config_dirty = True # Set config section for test case outcomes if 'test-outcomes' not in self.config: self.config.set('test-outcomes', 'green.SUCCESSFUL', _("Successful")) self.config.set('test-outcomes', 'yellow.TO_BE_TESTED', _("Untested")) self.config.set('test-outcomes', 'red.FAILED', _("Failed")) self.config.set('test-outcomes', 'default', 'TO_BE_TESTED') config_dirty = True if config_dirty: self.config.save()
def do_upgrade_environment(db): for realm in self.SCHEMA: realm_metadata = self.SCHEMA[realm] if need_db_create_for_realm(self.env, realm, realm_metadata, db): create_db_for_realm(self.env, realm, realm_metadata, db) elif need_db_upgrade_for_realm(self.env, realm, realm_metadata, db): upgrade_db_for_realm(self.env, 'tracgenericworkflow.upgrades', realm, realm_metadata, db)
def upgrade_environment(self, db): # Create or update db for realm in self.SCHEMA: realm_metadata = self.SCHEMA[realm] if need_db_create_for_realm(self.env, realm, realm_metadata, db): create_db_for_realm(self.env, realm, realm_metadata, db) elif need_db_upgrade_for_realm(self.env, realm, realm_metadata, db): upgrade_db_for_realm(self.env, 'testmanager.upgrades', realm, realm_metadata, db) # Create default values for configuration properties and initialize counters db_insert_or_ignore(self.env, 'testconfig', 'NEXT_CATALOG_ID', '0') db_insert_or_ignore(self.env, 'testconfig', 'NEXT_TESTCASE_ID', '0') db_insert_or_ignore(self.env, 'testconfig', 'NEXT_PLAN_ID', '0') # Create the basic "TC" Wiki page, used as the root test catalog tc_page = WikiPage(self.env, 'TC') if not tc_page.exists: tc_page.text = ' ' tc_page.save('System', '', '127.0.0.1') if self._need_upgrade(db): # Set custom ticket field to hold related test case custom = self.config['ticket-custom'] config_dirty = False if 'testcaseid' not in custom: custom.set('testcaseid', 'text') custom.set('testcaseid.label', _("Test Case")) config_dirty = True if 'planid' not in custom: custom.set('planid', 'text') custom.set('planid.label', _("Test Plan")) config_dirty = True # Set config section for test case outcomes if 'test-outcomes' not in self.config: self.config.set('test-outcomes', 'green.SUCCESSFUL', _("Successful")) self.config.set('test-outcomes', 'yellow.TO_BE_TESTED', _("Untested")) self.config.set('test-outcomes', 'red.FAILED', _("Failed")) self.config.set('test-outcomes', 'default', 'TO_BE_TESTED') config_dirty = True # Set config section for default visible columns in tabular view if self.config.get('testmanager', 'testcatalog.visible_description') == '': self.config.set('testmanager', 'testcatalog.visible_description', 'False') config_dirty = True if config_dirty: self.config.save()
def environment_needs_upgrade(self, db=None): for realm in self.SCHEMA: realm_metadata = self.SCHEMA[realm] if need_db_create_for_realm(self.env, realm, realm_metadata, db) or \ need_db_upgrade_for_realm(self.env, realm, realm_metadata, db): return True return False
def upgrade_environment(self, db): # Create or update db for realm in self.SCHEMA: realm_metadata = self.SCHEMA[realm] if need_db_create_for_realm(self.env, realm, realm_metadata, db): create_db_for_realm(self.env, realm, realm_metadata, db) elif need_db_upgrade_for_realm(self.env, realm, realm_metadata, db): upgrade_db_for_realm(self.env, 'tracgenericworkflow.upgrades', realm, realm_metadata, db)
def environment_needs_upgrade(self, db=None): if self._need_upgrade(db): return True for realm in self.SCHEMA: realm_schema = self.SCHEMA[realm] if need_db_create_for_realm(self.env, realm, realm_schema, db) or \ need_db_upgrade_for_realm(self.env, realm, realm_schema, db): return True return False
def do_upgrade_environment(db): for realm in self.SCHEMA: realm_schema = self.SCHEMA[realm] if need_db_create_for_realm(self.env, realm, realm_schema, db): create_db_for_realm(self.env, realm, realm_schema, db) elif need_db_upgrade_for_realm(self.env, realm, realm_schema, db): upgrade_db_for_realm(self.env, 'testmanager.upgrades', realm, realm_schema, db) # Create default values for configuration properties and initialize counters db_insert_or_ignore(self.env, 'testconfig', 'NEXT_CATALOG_ID', '0', db) db_insert_or_ignore(self.env, 'testconfig', 'NEXT_TESTCASE_ID', '0', db) db_insert_or_ignore(self.env, 'testconfig', 'NEXT_PLAN_ID', '0', db) db.commit() # Fix templates with a blank id if self._check_blank_id_templates(db): self._fix_blank_id_templates(db) db.commit() self.env.log.info( _(""" Test Manager templates with blank IDs have been fixed.\n Please go to the Administration panel, in the Test Manager Templates section, and check the associations between templates and Test Cases and Test Catalogs.\n You will have to manually fix any misconfiguration you should find. """)) # Create the basic "TC" Wiki page, used as the root test catalog tc_page = WikiPage(self.env, 'TC') if not tc_page.exists: tc_page.text = ' ' tc_page.save('System', '', '127.0.0.1') db.commit() if self._need_upgrade(db): # Set custom ticket field to hold related test case custom = self.config['ticket-custom'] config_dirty = False if 'testcaseid' not in custom: custom.set('testcaseid', 'text') custom.set('testcaseid.label', _("Test Case")) config_dirty = True if 'planid' not in custom: custom.set('planid', 'text') custom.set('planid.label', _("Test Plan")) config_dirty = True # Set config section for test case outcomes if 'test-outcomes' not in self.config: self.config.set('test-outcomes', 'green.SUCCESSFUL', _("Successful")) self.config.set('test-outcomes', 'yellow.TO_BE_TESTED', _("Untested")) self.config.set('test-outcomes', 'red.FAILED', _("Failed")) self.config.set('test-outcomes', 'default', 'TO_BE_TESTED') config_dirty = True if config_dirty: self.config.save()