"""Test mysql connector.""" from unittest.mock import MagicMock from unittest.mock import patch EXPECTED_ARG = """ SELECT * FROM `table` INTO OUTFILE 'file' FIELDS ESCAPED BY '\\\\' TERMINATED BY '\\t' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\\n' """ @patch('sales.connectors.mysql.mysql.connector') def test_dump_table_to_outfile(mock_mysql): """Test mysql outfile call.""" mock_cursor = MagicMock() mock_cursor.execute = MagicMock() mock_connection = MagicMock() mock_connection.cursor = MagicMock(return_value=mock_cursor) mock_mysql.connect = MagicMock(return_value=mock_connection) from sales.connectors.mysql import dump_table_to_outfile dump_table_to_outfile({'db': 'foo'}, 'table', 'file') assert mock_mysql.connect.call_count == 1 assert mock_cursor.execute.call_count == 1 assert mock_connection.cursor.call_count == 1 assert mock_cursor.close.call_count == 1 assert mock_cursor.execute.call_args[0][0] == EXPECTED_ARG assert mock_connection.close.call_count == 1