示例#1
0
 def setUp(self):
     unittest.TestCase.setUp(self)
     server = gnats.Server('somehost')
     conn = FakeServerConnectionForDB(server)
     self.db = Database(server, 'testdb', conn)
     self.db._validate = self.my_validate
     self.pr_in = ''
     self.validate_in = ''
示例#2
0
 def setUp(self):
     unittest.TestCase.setUp(self)
     server = gnats.Server('somehost')
     conn = FakeServerConnectionForDB(server)
     self.db = Database(server, 'testdb', conn)
     self.db.validate_field = self.my_validate_field
     self.fname_in = []
     self.pr_in = []
     self.check_cr_in = []
     self.vf_out = []
示例#3
0
 def test_03_none(self):
     """ NO_METADATA """
     gnats.metadata_level = gnats.NO_METADATA
     db = Database(self.server, 'testdb', self.conn)
     self.assertEqual(db.name, 'testdb')
     self.assertEqual(db.description, '')
     self.assertRaises(GnatsException, db.unparse_pr, 1)
     self.assertRaises(GnatsException, db.build_format, 1)
     self.assertRaises(GnatsException, db.builtin, 1)
     self.assertRaises(GnatsException, db.list_fields)
     self.assertEqual(len(db.initial_entry_fields), 0)
     self.assertEqual(len(db.fields), 0)
示例#4
0
 def test_03_minimal(self):
     """ MINIMAL_METADATA """
     gnats.metadata_level = gnats.MINIMAL_METADATA
     db = Database(self.server, 'testdb', self.conn)
     self.assertEqual(db.name, 'testdb')
     self.assertEqual(db.description, '')
     self.assertEqual(db.builtin('number'), 'number')
     self.assertEqual(len(db.list_fields()), 8)
     self.assertEqual(len(db.initial_entry_fields), 0)
     self.assertEqual(db.fields['synopsis'].lcname, 'synopsis')
     self.assertEqual(db.fields['synopsis'].description, '')
     self.assertEqual(len(db.fields['enum-fld'].values), 0)
示例#5
0
 def test_01_full(self):
     """ FULL_METADATA """
     gnats.metadata_level = gnats.FULL_METADATA
     db = Database(self.server, 'testdb', self.conn)
     self.assertEqual(db.name, 'testdb')
     self.assertEqual(db.description, 'Fake Database')
     self.assertEqual(len(db.list_fields()), 8)
     self.assertEqual(len(db.initial_entry_fields), 4)
     self.assertEqual(db.fields['synopsis'].lcname, 'synopsis')
     self.assertEqual(db.fields['synopsis'].name, 'Synopsis')
     self.assertEqual(db.fields['synopsis'].description, 'Synopsis field')
     self.assertEqual(db.fields['enum-fld'].values[0], 'cat1')
示例#6
0
    def test_05_refresh_false(self):
        """ refresh_metadata_automatically honored if False"""
        gnats.refresh_metadata_automatically = False
        db = Database(self.server, 'testdb', self.conn)

        def cb(dbx):
            cb.dbin = dbx

        cb.dbin = None
        db.post_metadata_callback = cb
        # "Refresh" the conn, so that metadata can run again
        self.conn = FakeServerConnectionForDB(self.server)
        db.last_config_time = 987
        db.get_handle('user', 'pass', self.conn)
        self.assertEqual(cb.dbin, None)
示例#7
0
 def test_02_no_enum(self):
     """ NO_ENUM_METADATA """
     gnats.metadata_level = gnats.NO_ENUM_METADATA
     db = Database(self.server, 'testdb', self.conn)
     self.assertEqual(db.name, 'testdb')
     self.assertEqual(db.description, 'Fake Database')
     self.assertEqual(len(db.list_fields()), 8)
     self.assertEqual(db.builtin('number'), 'number')
     self.assertRaises(GnatsException, db._validate, 1, 1)
     self.assertRaises(GnatsException, db.validate_field, 1, 1)
     self.assertEqual(len(db.initial_entry_fields), 4)
     self.assertEqual(db.fields['synopsis'].lcname, 'synopsis')
     self.assertEqual(db.fields['synopsis'].name, 'Synopsis')
     self.assertEqual(db.fields['synopsis'].description, 'Synopsis field')
     self.assertEqual(len(db.fields['enum-fld'].values), 0)
     self.assertRaises(GnatsException, db.fields['enum-fld'].list_values)
示例#8
0
    def get_database(self, dbname, conn=None):
        """ Get a Database object.

        If a connection is supplied, it will be used to fetch the db metadata.
        """
        global connection
        conn = connection
        if not dbname in self._database_names:
            self._dbls_time = 0
            self.list_databases(conn)
            if not dbname in self._database_names:
                raise GnatsException(
                    "Database '%s' not found on server %s:%s" %
                    (dbname, self.host, self.port))
        if self._databases.has_key(dbname):
            return self._databases[dbname]
        else:
            db = Database(self, dbname, self.get_connection(conn))
            self._databases[dbname] = db
            return db
示例#9
0
 def setUp(self):
     unittest.TestCase.setUp(self)
     server = gnats.Server('somehost')
     conn = FakeServerConnectionForDB(server)
     self.db = Database(server, 'testdb', conn)
示例#10
0
 def setUp(self):
     self.server = gnats.Server('somehost')
     self.conn = FakeServerConnectionForDB(self.server)
     self.db = Database(self.server, 'testdb', self.conn)
示例#11
0
 def setUp(self):
     self.server = gnats.Server('somehost')
     self.conn = FakeServerConnectionForDB(self.server)
     self.db = Database(self.server, 'testdb', self.conn)
     self.tfield = self.db.fields['change-log']
示例#12
0
 def setUp(self):
     self.server = gnats.Server('somehost')
     self.conn = FakeServerConnectionForDB(self.server)
     self.db = Database(self.server, 'testdb', self.conn)
     self.enum = self.db.fields['enum-fld']
     self.multi = self.db.fields['multienum-fld']