def test_compare(self): with self.assertRaises(ValueError): SQLField("t1", "f1", SQLTypes.TEXT, 1) < SQLField( "t2", "f2", SQLTypes.TEXT, 1) self.assertTrue( SQLField("t", "f1", SQLTypes.TEXT, 1) < SQLField( "t", "f2", SQLTypes.TEXT, 2))
def setUp(self): self.provider = QueryProvider() self.field1 = SQLField("table", "field1", SQLTypes.BOOLEAN, comment="comment") self.field2 = SQLField("table", "field2", SQLTypes.NUMERIC) self.index = SQLIndex("table", "field1", SQLIndexTypes.HASH)
def setUp(self): print("SETUP MDB", unix_dialect.__dict__) self.field1 = SQLField("table", "field1", SQLTypes.BOOLEAN, comment="comment") self.field2 = SQLField("table", "field2", SQLTypes.NUMERIC) self.index = SQLIndex("table", "field1", SQLIndexTypes.HASH) self.table = SQLTable("table", [self.field1, self.field2], []) self.query_provider = MariaDBQueryProvider()
def setUp(self): self.provider = PostgreSQLQueryProvider() self.sql_field1 = SQLField("t", "f1", SQLTypes.TEXT, comment="comment1") self.sql_field2 = SQLField("t", "field_with_long_name2", SQLTypes.NUMERIC) self.sql_field3 = SQLField("t", "f3", SQLTypes.TEXT, comment="comment2")
def test_index_provider(self): self.assertEqual([ SQLIndex(table_name='tableName2', field_name='siren', type=SQLIndexTypes.HASH) ], list( self.provider.get_indices([ SQLField("tableName2", "fieldName", SQLTypes.TEXT), SQLField("tableName2", "siren", SQLTypes.TEXT), SQLField("tableName2", "other", SQLTypes.TEXT) ])))
def get_fields(self) -> Iterable[SQLField]: """ :return: orderd fields of the table (names are in snake_case) """ return sorted( SQLField(table_name=self._table_name, field_name=row.name, type=self._type_converter.get_type(row), rank=row.rank, length=row.length, comment=row.caption) for row in self._rows)
def test_one_indexed(self): p = SireneSchemaParser("t", [{ NAME: "siren", TYPE: "Texte", LENGTH: "10", RANK: "1", CAPTION: "c" }], self.type_provider, self.index_provider) self.assertEqual("t", p.table_name) self.assertEqual([SQLField('t', 'siren', SQLTypes.TEXT, 1, 'c', 10)], p.get_fields()) self.assertEqual([SQLIndex('t', 'siren', SQLIndexTypes.HASH)], list(p.get_indices()))
def test_sort(self): self.assertEqual([ SQLField("t", "f1", SQLTypes.TEXT, 1), SQLField("t", "f2", SQLTypes.TEXT, 2), SQLField("t", "f3", SQLTypes.TEXT, 3) ], list( sorted([ SQLField("t", "f3", SQLTypes.TEXT, 3), SQLField("t", "f1", SQLTypes.TEXT, 1), SQLField("t", "f2", SQLTypes.TEXT, 2) ])))
def test_process(self): f = SQLField("CamelCaseTable", "camelCaseField", SQLTypes.TEXT) self.assertEqual( SQLField('camel_case_table', 'camel_case_field', SQLTypes.TEXT), f.process(to_snake))
def get_table(record_format: RecordFormat) -> SQLTable: fields = [ SQLField(record_format.name, field, SQLTypes.TEXT, i) for i, field in enumerate(record_format.header) ] return SQLTable(record_format.name, fields, [])