def testAllTableNamesMatchClassNames(self): for schema_module in ALL_SCHEMA_MODULES: for cls in get_all_table_classes_in_module(schema_module): table_name = cls.__tablename__ table_name_to_capital_case = table_name.title().replace( "_", "") self.assertEqual( table_name_to_capital_case, cls.__name__, f'Table class {cls.__name__} does not have matching table ' f'name: {table_name}')
def testNoRepeatTableClassNames(self): table_class_names_set = set() for schema_module in ALL_SCHEMA_MODULES: table_classes = get_all_table_classes_in_module(schema_module) for cls in table_classes: table_class_name = cls.__name__ self.assertNotIn( table_class_name, table_class_names_set, f'Table name [{table_class_name}] defined in ' f'[{schema_module}]) already exists.')
def testDatabaseEntityFunctionality(self): for schema_module in ALL_SCHEMA_MODULES: for cls in get_all_table_classes_in_module(schema_module): primary_key_col_name = cls.get_primary_key_column_name() self.assertIsNotNone(primary_key_col_name) primary_key_prop_name = cls.get_column_property_names() self.assertTrue(len(primary_key_prop_name) > 0) self.assertTrue(primary_key_col_name in primary_key_prop_name) # Just should not crash cls.get_relationship_property_names() cls.get_relationship_property_names_and_properties()
def _get_all_non_history_schema_object_type_names_in_module( schema: ModuleType) -> Set[str]: all_table_classes = get_all_table_classes_in_module(schema) expected_schema_object_types: Set[str] = set() for table_class in all_table_classes: class_name = table_class.__name__ if not class_name.endswith(HISTORICAL_TABLE_CLASS_SUFFIX): expected_schema_object_types.add(class_name) return expected_schema_object_types
def testNoRepeatTableNames(self): table_names_set = set() for schema_module in ALL_SCHEMA_MODULES: table_classes = get_all_table_classes_in_module(schema_module) for table in table_classes: table_name = table.name self.assertNotIn( table_name, table_names_set, f'Table name [{table_name}] defined in [{schema_module}]) ' f'already exists.' ) table_names_set.add(table_name)
def testAllTableNamesPrefixedWithState(self): for cls in get_all_table_classes_in_module(schema): self.assertTrue(cls.name.startswith('state_'))