mirror of
https://github.com/ansible-collections/community.mysql.git
synced 2025-04-08 11:40:33 -07:00
* Fix show master status for MySQL 8.2+ * Fix mysqldump option form --master-data to --source-data * Fix incompatibility between mysqldump 8.0 and MySQL 8.4 Installing the same version between the client and the server makes sense anyway. The incompatibility arise when you use mysqldump with --source-data. The the tool tries to perform a SHOW MASTER STATUS which is deprecated in MySQL 8.2+. * Fix missing condition * Fix unit tests * Add a query resolver depending on implementation and version * Sanity * Fix SHOW REPLICA STATUS queries * Fix mariadb's SHOW REPLICA HOSTS query * Fix CHANGE MASTER for MySQL 8.0.23+ * Fix integration test for CHANGE MASTER * Fix integration test for CHANGE MASTER * Fix replication queries for MySQL 8.0.23+ and 8.4+ * Revert file edited by mistake * Enhance tests format
37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
from __future__ import (absolute_import, division, print_function)
|
|
__metaclass__ = type
|
|
|
|
import pytest
|
|
|
|
try:
|
|
from unittest.mock import MagicMock
|
|
except ImportError:
|
|
from mock import MagicMock
|
|
|
|
from ansible_collections.community.mysql.plugins.modules.mysql_info import MySQL_Info
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
'suffix,cursor_output,server_implementation,server_version,user_implementation',
|
|
[
|
|
('mysql', '5.5.1-mysql', 'mysql', '5.5.1', 'mysql'),
|
|
('log', '5.7.31-log', 'mysql', '5.7.31', 'mysql'),
|
|
('mariadb', '10.5.0-mariadb', 'mariadb', '10.5.0', 'mariadb'),
|
|
('', '8.0.22', 'mysql', '8.0.22', 'mysql'),
|
|
]
|
|
)
|
|
def test_get_info_suffix(suffix, cursor_output, server_implementation, server_version, user_implementation):
|
|
def __cursor_return_value(input_parameter):
|
|
if input_parameter == "SHOW GLOBAL VARIABLES":
|
|
cursor.fetchall.return_value = [{"Variable_name": "version", "Value": cursor_output}]
|
|
else:
|
|
cursor.fetchall.return_value = MagicMock()
|
|
|
|
cursor = MagicMock()
|
|
cursor.execute.side_effect = __cursor_return_value
|
|
|
|
info = MySQL_Info(MagicMock(), cursor, server_implementation, server_version, user_implementation)
|
|
|
|
assert info.get_info([], [], False)['version']['suffix'] == suffix
|