class MySQLExplorerTest(CommonExplorerTestCases.CommonExplorerTests): pii_db_drop = """ DROP TABLE full_pii; DROP TABLE partial_pii; DROP TABLE no_pii; """ @staticmethod def execute_script(cursor, script): for query in script.split(";"): if len(query.strip()) > 0: cursor.execute(query) @pytest.fixture(scope="class") def create_tables(self, request): self.conn = pymysql.connect( host="127.0.0.1", user="******", password="******", database="piidb", ) with self.conn.cursor() as cursor: self.execute_script(cursor, pii_data_script) cursor.execute("commit") cursor.close() def drop_tables(): with self.conn.cursor() as cursor: self.execute_script(cursor, self.pii_db_drop) logging.info("Executed drop script") cursor.close() self.conn.close() request.addfinalizer(drop_tables) def setUp(self): self.explorer = MySQLExplorer( Namespace( host="127.0.0.1", user="******", password="******", database="piidb", include_schema=(), exclude_schema=(), include_table=(), exclude_table=(), catalog=None, )) def tearDown(self): self.explorer.get_connection().close() def test_schema(self): names = [sch.get_name() for sch in self.explorer.get_schemas()] self.assertEqual(["piidb"], names) return "piidb" def get_test_schema(self): return "piidb"
class MySQLDataTypeTest(CommonDataTypeTestCases.CommonDataTypeTests): char_db_drop = """ DROP TABLE char_columns; DROP TABLE no_char_columns; DROP TABLE some_char_columns; """ @staticmethod def execute_script(cursor, script): for query in script.split(";"): if len(query.strip()) > 0: cursor.execute(query) @pytest.fixture(scope="class") def create_tables(self, request): self.conn = pymysql.connect(host="127.0.0.1", user="******", password="******", database="piidb") with self.conn.cursor() as cursor: self.execute_script(cursor, char_data_types) cursor.execute("commit") cursor.close() def drop_tables(): with self.conn.cursor() as drop_cursor: self.execute_script(drop_cursor, self.char_db_drop) logging.info("Executed drop script") drop_cursor.close() self.conn.close() request.addfinalizer(drop_tables) def setUp(self): self.explorer = MySQLExplorer( Namespace( host="127.0.0.1", user="******", password="******", database="piidb", include_schema=(), exclude_schema=(), include_table=(), exclude_table=(), catalog=None, )) def tearDown(self): self.explorer.get_connection().close() def get_test_schema(self): return "piidb"