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
def setup(self): self.metadata = FieldsMetadata(provider, 'test_table')