--- a/cubicweb/server/test/unittest_schema2sql.py Tue Oct 11 10:24:13 2016 +0200
+++ b/cubicweb/server/test/unittest_schema2sql.py Thu Oct 06 12:12:04 2016 +0200
@@ -245,6 +245,32 @@
output = list(schema2sql.schema2sql(dbhelper, schema, skip_relations=('works_for',)))
self.assertEqual(output, EXPECTED_DATA_NO_DROP)
+ def test_eschema_sql_def_attributes(self):
+ dbhelper = get_db_helper('postgres')
+ attr_defs = schema2sql.eschema_sql_def(dbhelper, schema['Person'])
+ self.assertEqual(attr_defs,
+ [('nom', 'varchar(64)'),
+ ('prenom', 'varchar(64)'),
+ ('sexe', "varchar(1) DEFAULT 'M'"),
+ ('promo', 'varchar(22)'),
+ ('titre', 'varchar(128)'),
+ ('adel', 'varchar(128)'),
+ ('ass', 'varchar(128)'),
+ ('web', 'varchar(128)'),
+ ('tel', 'integer'),
+ ('fax', 'integer'),
+ ('datenaiss', 'date'),
+ ('test', 'boolean'),
+ ('salary', 'float')])
+
+ def test_eschema_sql_def_inlined_rel(self):
+ dbhelper = get_db_helper('postgres')
+ attr_defs = schema2sql.eschema_sql_def(dbhelper, schema['Affaire'])
+ self.assertEqual(attr_defs,
+ [('sujet', 'varchar(128)'),
+ ('ref', 'varchar(12)'),
+ ('inline_rel', 'integer')])
+
if __name__ == '__main__':
unittest_main()