def test_run_mysql_executemany_query_execute_error(config): conn = CMySQLConnection() conn.cursor = MagicMock() conn.commit = MagicMock() conn.rollback = MagicMock() conn.close = MagicMock() cursor = conn.cursor.return_value cursor.executemany = MagicMock(side_effect=Exception("Boom!")) cursor.close = MagicMock() with pytest.raises(Exception): run_mysql_executemany_query( mysql_conn=conn, sql_query=SQL_MLWH_MULTIPLE_INSERT, values=["test"] # type: ignore ) # check transaction is not committed assert conn.commit.called is False # check connection is closed assert cursor.close.called is True assert conn.close.called is True
def test_run_mysql_execute_formatted_query_execute_error(config): conn = CMySQLConnection() conn.cursor = MagicMock() conn.commit = MagicMock() conn.rollback = MagicMock() conn.close = MagicMock() cursor = conn.cursor.return_value cursor.execute = MagicMock(side_effect=Exception("Boom!")) cursor.close = MagicMock() with pytest.raises(Exception): run_mysql_execute_formatted_query( mysql_conn=conn, formatted_sql_query= SQL_MLWH_MULTIPLE_FILTERED_POSITIVE_UPDATE_BATCH, formatting_args=["1", "2"], query_args=[True, "v2", "2020-01-01", "2020-01-01"], ) # check transaction is not committed assert conn.commit.called is False # check connection is closed assert cursor.close.called is True
def test_run_mysql_executemany_query_success(config): conn = CMySQLConnection() conn.cursor = MagicMock() conn.commit = MagicMock() conn.rollback = MagicMock() conn.close = MagicMock() cursor = conn.cursor.return_value cursor.executemany = MagicMock() cursor.close = MagicMock() run_mysql_executemany_query(mysql_conn=conn, sql_query=SQL_MLWH_MULTIPLE_INSERT, values=[{}]) # check transaction is committed assert conn.commit.called is True # check connection is closed assert cursor.close.called is True assert conn.close.called is True
def test_run_mysql_execute_formatted_query_success(config): conn = CMySQLConnection() conn.cursor = MagicMock() conn.commit = MagicMock() conn.rollback = MagicMock() conn.close = MagicMock() cursor = conn.cursor.return_value cursor.execute = MagicMock() cursor.close = MagicMock() run_mysql_execute_formatted_query( mysql_conn=conn, formatted_sql_query=SQL_MLWH_MULTIPLE_FILTERED_POSITIVE_UPDATE_BATCH, formatting_args=["1", "2"], query_args=[True, "v2", "2020-01-01", "2020-01-01"], ) # check transaction is committed assert conn.commit.called is True # check connection is closed assert cursor.close.called is True