def test_common_metadata_output_type_matches_input_type(self): metadata_clone = list(self.metadata_from_db_for_users) result_metadata, result_error = loadtables.get_common_metadata(self.metadata_from_db_for_users, metadata_clone) self.assertEqual(0, len(result_error)) self.assertListEqual(result_metadata, metadata_clone)
def test_common_metadata_item_names_are_in_both_metadata(self): result_metadata, result_error = loadtables.get_common_metadata(self.metadata_from_db_for_users, self.metadata_from_csv_for_users) result_column_names = set([item["name"] for item in result_metadata]) result_error_column_names = set([item["name"] for item in result_error]) self.assertSetEqual(set(('id', 'licensing_role_id')), result_column_names) self.assertSetEqual(set(('login_at',)), result_error_column_names)
def test_common_metadata_not_only_same_table(self): metadata_oldusers = [ {'attnum': '1', 'precision': 0, 'schema': 'public', 'name': 'id', 'type': 'integer', 'length': 0, 'table': 'oldusers'}, {'attnum': '2', 'precision': 0, 'schema': 'public', 'name': 'login_at', 'type': 'timestamp without time zone', 'length': 0, 'table': 'oldusers'}, {'attnum': '3', 'precision': 0, 'schema': 'public', 'name': 'licensing_role_id', 'type': 'integer', 'length': 0, 'table': 'oldusers'}] result_metadata, result_error = loadtables.get_common_metadata(metadata_oldusers, self.metadata_from_csv_for_users) self.assertEqual(3, len(result_metadata)) self.assertEqual(0, len(result_error))
def test_common_metadata_size(self): result_metadata, result_error = loadtables.get_common_metadata(self.metadata_from_db_for_users, self.metadata_from_csv_for_users) self.assertEqual(2, len(result_metadata)) self.assertEqual(1, len(result_error))
def test_common_metadata_empty_metadata_in_csv(self): result_metadata, result_error = loadtables.get_common_metadata(self.metadata_from_db_for_users, []) self.assertEqual(0, len(result_metadata)) self.assertEqual(0, len(result_error))