示例#1
0
    def test_aq_punch_value(self):
        """ Alters the module_name column of the dbrev databases table
            using the punch_value code, and verifies that the change
            went into effect.
        """
        from freevolv.apps.dbrev import config
        from freevolv.apps.dbrev import punch_value
        from freevolv.apps.dbrev.naming import sql92_naming
        from freevolv.dal import mssql_dao
        from freevolv.models.dbrev import databases_table
        from freevolv.models.dbrev import data_source

        self.config = config.Config.get_instance()
        data_source.INSTANCE = mssql_dao.Dao(self.config.arguments.connection_string)
        d_tbl = databases_table.DatabasesTable.get_instance()
        dbrev_db = d_tbl.get_one(name="rwf")
        if dbrev_db:
            old_mod_name = dbrev_db.module_name
            LOG.debug("old_mod_name: " + str(old_mod_name))
            if old_mod_name == None:
                old_mod_name = "NULL"

        new_mod_name = "asdf"
        test_pv = "DBREV:DATABASES:NAME(rwf):MODULE_NAME({})".format(new_mod_name)
        LOG.debug("test_pv: " + str(test_pv))
        punch_value.process(sql92_naming, [test_pv])
        dbrev_db = d_tbl.get_one(name="rwf")
        self.assertEqual(dbrev_db.module_name, new_mod_name)
        dbrev_db.module_name = old_mod_name
        d_tbl.update(dbrev_db)
示例#2
0
文件: app.py 项目: genevolv/dbrev
    def main(self):
        ''' Runs the dbrev application. '''
        from freevolv.apps.dbrev import code_generator

        rtn = 0
        welcome = PROGRAM
        welcome += " v" + VERSION
        LOG.info(welcome)

        log_lvl = LOG.getEffectiveLevel()
        if log_lvl < logging.INFO:
            env.log_env(log_lvl)
        data_source.INSTANCE = mssql_dao.Dao(
            self.config.arguments.connection_string)

        slogic = session_logic.SessionLogic()
        slogic.start_session()
        sch_logic = schema_logic.SchemaLogic()
        sch_logic.populate()

        # Check for user-specified punch_values
        if self.config.arguments.punch_values is not None:
            punch_value.process(self.config.name_strategy,
                                self.config.arguments.punch_values)

        # self.config.name_fk_lists()
        code_gen = code_generator.CodeGenerator()
        code_gen.generate()

        if self.old_args != None:
            sys.argv = self.old_args
        return rtn