示例#1
0
class TestFieldsMetadata(TestMetadata):
    def setup(self):
        self.metadata = FieldsMetadata(provider, 'test_table')
        
    def testGetItem(self):
        field = self.metadata['id']
        assert field.name == 'id'
    
    def testAutoIncrementFields(self):
        #this is expected input for SA, but I think we can do better
        value = self.metadata.autoIncrementFields
        eq_(value, ['id', 'created', 'BLOB', 'BOOLEAN_', 'Binary', 
                    'Boolean', 'CHAR', 'CLOB', 'DATE_', 'DATETIME_', 
                    'DECIMAL', 'Date', 'DateTime', 'FLOAT_', 
                    'Float', 'INT', 'Integer', 'Numeric', 'PickleType', 
                    'SMALLINT', 'SmallInteger', 'String', 'TEXT', 'TIME_', 
                    'Time', 'TIMESTAMP', 'Unicode', 'VARCHAR', 'Password'])

    @raises(KeyError)
    def testGetItemKeyError(self):
        self.metadata['asdf']
        
    def testSetItem(self):
        self.metadata['asdf'] = '1234'
        assert self.metadata['asdf'] == '1234'
        
    @raises(MetadataError)
    def testSetItemBad(self):
        self.metadata['id'] = '1234'
    
    def testKeys(self):
        self.metadata['asdf'] = '1234'
        keys = sorted(self.metadata.keys())
        assert keys ==['BLOB', 'BOOLEAN_', 'Binary', 'Boolean', 'CHAR', 'CLOB', 'DATETIME_', 'DATE_', 'DECIMAL', 'Date', 'DateTime', 'FLOAT_', 'Float', 'INT', 'Integer', 'Numeric', 'Password', 'PickleType', 'SMALLINT', 'SmallInteger', 'String', 'TEXT', 'TIMESTAMP', 'TIME_', 'Time', 'Unicode', 'VARCHAR', 'asdf', 'created', 'id'], "actual: %s"%keys
        
    def testPrimaryKeys(self):
        pks = self.metadata.primaryKeys()
        assert ['id',] == pks, "%s"%pks

    def testGetForeignKeys(self):
        metadata = FieldsMetadata(provider, 'tg_user')
        pks = metadata.foreignKeys
        assert ['town',] == pks, "%s"%pks
示例#2
0
 def setup(self):
     self.metadata = FieldsMetadata(provider, 'test_table')