Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
    def test_ssl_cipher_in_option_file(self):
        config = tests.get_mysql_config()
        config['option_files'] = [OPTION_FILE]

        cnx = mysql.connector.MySQLConnection()
        cnx.config(**config)
        self.assertIn('cipher', cnx._ssl)
        self.assertEqual("AES256-SHA:CAMELLIA256-SHA", cnx._ssl['cipher'])

        if CMySQLConnection:
            cnx = CMySQLConnection()
            cnx.config(**config)
            self.assertIn('cipher', cnx._ssl)
            self.assertEqual("AES256-SHA:CAMELLIA256-SHA", cnx._ssl['cipher'])
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
 def setUp(self):
     self.config = get_mysql_config()
     # Import here allowed
     from mysql.connector.connection_cext import CMySQLConnection
     self.cnx = CMySQLConnection(**self.config)
Ejemplo n.º 7
0
 def _get_cursor(self, cnx=None):
     if not cnx:
         cnx = CMySQLConnection(**self.config)
     return CMySQLCursor(connection=cnx)
Ejemplo n.º 8
0
 def _get_cursor(self, cnx=None):
     if not cnx:
         cnx = CMySQLConnection(**self.config)
     self.cnx.buffered = True
     return CMySQLCursorBuffered(connection=cnx)
Ejemplo n.º 9
0
    def setUp(self):
        config = tests.get_mysql_config()
        self.cnx = CMySQLConnection(**config)

        self.pcnx = MySQLConnection(**config)
Ejemplo n.º 10
0
 def setUp(self):
     config = tests.get_mysql_config()
     self.cnx = CMySQLConnection(**config)
     self.cur = self.cnx.cursor(prepared=True)
     self.cur.execute(self.create_table_stmt.format(self.tbl))