mirror of
https://github.com/ansible-collections/community.mysql.git
synced 2025-07-25 14:20:24 -07:00
Merge branch 'main' into password_expiration_mysql_user
This commit is contained in:
commit
273fd2cdcc
21 changed files with 693 additions and 103 deletions
|
@ -269,6 +269,9 @@
|
|||
tags:
|
||||
- issue_465
|
||||
|
||||
# Tests for user attributes
|
||||
- include_tasks: test_user_attributes.yml
|
||||
|
||||
# Tests for the TLS requires dictionary
|
||||
- include_tasks: test_tls_requirements.yml
|
||||
|
||||
|
|
|
@ -0,0 +1,474 @@
|
|||
---
|
||||
- vars:
|
||||
mysql_parameters: &mysql_params
|
||||
login_user: '{{ mysql_user }}'
|
||||
login_password: '{{ mysql_password }}'
|
||||
login_host: '{{ mysql_host }}'
|
||||
login_port: '{{ mysql_primary_port }}'
|
||||
|
||||
block:
|
||||
|
||||
- when: db_engine == 'mariadb'
|
||||
block:
|
||||
|
||||
# ============================================================
|
||||
# Fail creating a user with mariadb
|
||||
#
|
||||
|
||||
# Check mode
|
||||
- name: Attributes | Attempt to create user with attributes with mariadb in check mode
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
password: '{{ user_password_2 }}'
|
||||
attributes:
|
||||
key1: "value1"
|
||||
ignore_errors: yes
|
||||
register: result_module
|
||||
check_mode: yes
|
||||
|
||||
- name: Attributes | Run query to verify user creation with attributes fails with mariadb in check mode
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT user FROM mysql.user WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
ignore_errors: yes
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that creating user with attributes fails with mariadb in check mode
|
||||
assert:
|
||||
that:
|
||||
- result_module is failed
|
||||
- not result_query.query_result[0]
|
||||
|
||||
# Real mode
|
||||
- name: Attributes | Attempt to create user with attributes with mariadb
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
password: '{{ user_password_2 }}'
|
||||
attributes:
|
||||
key1: "value1"
|
||||
ignore_errors: yes
|
||||
register: result_module
|
||||
|
||||
- name: Attributes | Run query to verify user creation with attributes fails with mariadb
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT user FROM mysql.user WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that creating user with attributes fails with mariadb
|
||||
assert:
|
||||
that:
|
||||
- result_module is failed
|
||||
- not result_query.query_result[0]
|
||||
|
||||
- when: db_engine == 'mysql'
|
||||
block:
|
||||
|
||||
# ============================================================
|
||||
# Create user with no attributes (test attributes return type)
|
||||
#
|
||||
|
||||
# Check mode
|
||||
- name: Attributes | Test creating a user with no attributes in check mode
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
password: '{{ user_password_2 }}'
|
||||
register: result_module
|
||||
check_mode: yes
|
||||
|
||||
- name: Attributes | Run query to verify user creation with no attributes did not take place in check mode
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT user FROM mysql.user WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that user would have been created without attributes
|
||||
assert:
|
||||
that:
|
||||
- result_module is changed
|
||||
- result_module.attributes is none
|
||||
- not result_query.query_result[0]
|
||||
|
||||
# Real mode
|
||||
- name: Attributes | Test creating a user with no attributes
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
password: '{{ user_password_2 }}'
|
||||
register: result_module
|
||||
|
||||
- name: Attributes | Run query to verify created user without attributes
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that user was created without attributes
|
||||
assert:
|
||||
that:
|
||||
- result_module is changed
|
||||
- result_module.attributes is none
|
||||
- result_query.query_result[0][0]['ATTRIBUTE'] is none
|
||||
|
||||
# Clean up user to allow it to be recreated with attributes
|
||||
- include_tasks: utils/remove_user.yml
|
||||
vars:
|
||||
user_name: "{{ user_name_2 }}"
|
||||
|
||||
# ============================================================
|
||||
# Create user with attributes
|
||||
#
|
||||
|
||||
# Check mode
|
||||
- name: Attributes | Test creating a user with attributes in check mode
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
password: '{{ user_password_2 }}'
|
||||
attributes:
|
||||
key1: "value1"
|
||||
register: result_module
|
||||
check_mode: yes
|
||||
|
||||
- name: Attributes | Run query to verify user creation did not take place in check mode
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT user FROM mysql.user WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that user would have been created with attributes
|
||||
assert:
|
||||
that:
|
||||
- result_module is changed
|
||||
- result_module.attributes.key1 == "value1"
|
||||
- not result_query.query_result[0]
|
||||
|
||||
# Real mode
|
||||
- name: Attributes | Test creating a user with attributes
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
password: '{{ user_password_2 }}'
|
||||
attributes:
|
||||
key1: "value1"
|
||||
register: result_module
|
||||
|
||||
- name: Attributes | Run query to verify created user attributes
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that user was created with attributes
|
||||
assert:
|
||||
that:
|
||||
- result_module is changed
|
||||
- result_module.attributes.key1 == "value1"
|
||||
- (result_query.query_result[0][0]['ATTRIBUTE'] | from_yaml)['key1'] == "value1"
|
||||
|
||||
# ============================================================
|
||||
# Append attributes on an existing user
|
||||
#
|
||||
|
||||
# Check mode
|
||||
- name: Attributes | Test appending attributes to an existing user in check mode
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
attributes:
|
||||
key2: "value2"
|
||||
register: result_module
|
||||
check_mode: yes
|
||||
|
||||
- name: Attributes | Run query to check appended attributes in check mode
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that attribute would have been appended and existing attribute stays
|
||||
assert:
|
||||
that:
|
||||
- result_module is changed
|
||||
- result_module.attributes.key1 == "value1"
|
||||
- result_module.attributes.key2 == "value2"
|
||||
- "'key2' not in result_query.query_result[0][0]['ATTRIBUTE'] | from_yaml"
|
||||
|
||||
# Real mode
|
||||
- name: Attributes | Test appending attributes to an existing user
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
attributes:
|
||||
key2: "value2"
|
||||
register: result_module
|
||||
|
||||
- name: Attributes | Run query to check appended attributes
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that new attribute was appended and existing attribute stays
|
||||
assert:
|
||||
that:
|
||||
- result_module is changed
|
||||
- result_module.attributes.key1 == "value1"
|
||||
- result_module.attributes.key2 == "value2"
|
||||
- (result_query.query_result[0][0]['ATTRIBUTE'] | from_yaml)['key1'] == "value1"
|
||||
- (result_query.query_result[0][0]['ATTRIBUTE'] | from_yaml)['key2'] == "value2"
|
||||
|
||||
# ============================================================
|
||||
# Test updating existing attributes
|
||||
#
|
||||
|
||||
# Check mode
|
||||
- name: Attributes | Test updating attributes on an existing user in check mode
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
attributes:
|
||||
key2: "new_value2"
|
||||
check_mode: yes
|
||||
register: result_module
|
||||
|
||||
- name: Attributes | Run query to verify updated attribute in check mode
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that attribute would have been updated
|
||||
assert:
|
||||
that:
|
||||
- result_module is changed
|
||||
- result_module.attributes.key2 == "new_value2"
|
||||
- (result_query.query_result[0][0]['ATTRIBUTE'] | from_yaml)['key2'] == "value2"
|
||||
|
||||
# Real mode
|
||||
- name: Attributes | Test updating attributes on an existing user
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
attributes:
|
||||
key2: "new_value2"
|
||||
register: result_module
|
||||
|
||||
- name: Attributes | Run query to verify updated attribute
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that attribute was updated
|
||||
assert:
|
||||
that:
|
||||
- result_module is changed
|
||||
- result_module.attributes.key2 == "new_value2"
|
||||
- (result_query.query_result[0][0]['ATTRIBUTE'] | from_yaml)['key2'] == "new_value2"
|
||||
|
||||
# ============================================================
|
||||
# Test attribute idempotency when specifying attributes
|
||||
#
|
||||
|
||||
# Check mode
|
||||
- name: Attributes | Test attribute idempotency by trying to change an already correct attribute in check mode
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
attributes:
|
||||
key1: "value1"
|
||||
register: result_module
|
||||
check_mode: yes
|
||||
|
||||
- name: Attributes | Run query to verify idempotency of already correct attribute in check mode
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that attribute would not have been updated
|
||||
assert:
|
||||
that:
|
||||
- result_module is not changed
|
||||
- result_module.attributes.key1 == "value1"
|
||||
- (result_query.query_result[0][0]['ATTRIBUTE'] | from_yaml)['key1'] == "value1"
|
||||
|
||||
# Real mode
|
||||
- name: Attributes | Test attribute idempotency by trying to change an already correct attribute
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
attributes:
|
||||
key1: "value1"
|
||||
register: result_module
|
||||
|
||||
- name: Attributes | Run query to verify idempotency of already correct attribute
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that attribute was not updated
|
||||
assert:
|
||||
that:
|
||||
- result_module is not changed
|
||||
- result_module.attributes.key1 == "value1"
|
||||
- (result_query.query_result[0][0]['ATTRIBUTE'] | from_yaml)['key1'] == "value1"
|
||||
|
||||
# ============================================================
|
||||
# Test attribute idempotency when not specifying attribute parameter
|
||||
#
|
||||
|
||||
# Check mode
|
||||
- name: Attributes | Test attribute idempotency by not specifying attribute parameter in check mode
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
register: result_module
|
||||
check_mode: yes
|
||||
|
||||
- name: Attributes | Run query to verify idempotency when not specifying attribute parameter in check mode
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that attribute is returned in check mode
|
||||
assert:
|
||||
that:
|
||||
- result_module is not changed
|
||||
- result_module.attributes.key1 == "value1"
|
||||
- (result_query.query_result[0][0]['ATTRIBUTE'] | from_yaml)['key1'] == "value1"
|
||||
|
||||
# Real mode
|
||||
- name: Attributes | Test attribute idempotency by not specifying attribute parameter
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
register: result_module
|
||||
|
||||
- name: Attributes | Run query to verify idempotency when not specifying attribute parameter
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that attribute is returned
|
||||
assert:
|
||||
that:
|
||||
- result_module is not changed
|
||||
- result_module.attributes.key1 == "value1"
|
||||
- (result_query.query_result[0][0]['ATTRIBUTE'] | from_yaml)['key1'] == "value1"
|
||||
|
||||
# ============================================================
|
||||
# Test deleting attributes
|
||||
#
|
||||
|
||||
# Check mode
|
||||
- name: Attributes | Test deleting attributes on an existing user in check mode
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
attributes:
|
||||
key2: null
|
||||
register: result_module
|
||||
check_mode: yes
|
||||
|
||||
- name: Attributes | Run query to verify deleted attribute in check mode
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that attribute would have been deleted
|
||||
assert:
|
||||
that:
|
||||
- result_module is changed
|
||||
- "'key2' not in result_module.attributes"
|
||||
- (result_query.query_result[0][0]['ATTRIBUTE'] | from_yaml)['key2'] == "new_value2"
|
||||
|
||||
# Real mode
|
||||
- name: Attributes | Test deleting attributes on an existing user
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
attributes:
|
||||
key2: null
|
||||
register: result_module
|
||||
|
||||
- name: Attributes | Run query to verify deleted attribute
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: 'SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = "{{ user_name_2 }}" AND host = "%"'
|
||||
register: result_query
|
||||
|
||||
- name: Attributes | Assert that attribute was deleted
|
||||
assert:
|
||||
that:
|
||||
- result_module is changed
|
||||
- "'key2' not in result_module.attributes"
|
||||
- "'key2' not in result_query.query_result[0][0]['ATTRIBUTE'] | from_yaml"
|
||||
|
||||
# ============================================================
|
||||
# Test attribute return value when no attributes exist
|
||||
#
|
||||
|
||||
# Check mode
|
||||
- name: Attributes | Test attributes return value when no attributes exist in check mode
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
attributes:
|
||||
key1: null
|
||||
register: result_module
|
||||
check_mode: yes
|
||||
|
||||
- name: Attributes | Assert attributes return value when no attributes exist in check mode
|
||||
assert:
|
||||
that:
|
||||
- result_module is changed
|
||||
- result_module.attributes is none
|
||||
|
||||
# Real mode
|
||||
- name: Attributes | Test attributes return value when no attributes exist
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_2 }}'
|
||||
host: '%'
|
||||
attributes:
|
||||
key1: null
|
||||
register: result_module
|
||||
|
||||
- name: Attributes | Assert attributes return value when no attributes exist
|
||||
assert:
|
||||
that:
|
||||
- result_module is changed
|
||||
- result_module.attributes is none
|
||||
|
||||
# ============================================================
|
||||
# Cleanup
|
||||
#
|
||||
- include_tasks: utils/remove_user.yml
|
||||
vars:
|
||||
user_name: "{{ user_name_2 }}"
|
|
@ -1,8 +1,2 @@
|
|||
plugins/modules/mysql_db.py validate-modules:doc-elements-mismatch
|
||||
plugins/modules/mysql_db.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/mysql_db.py validate-modules:use-run-command-not-popen
|
||||
plugins/modules/mysql_info.py validate-modules:doc-elements-mismatch
|
||||
plugins/modules/mysql_info.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/mysql_query.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/mysql_user.py validate-modules:undocumented-parameter
|
||||
plugins/modules/mysql_variables.py validate-modules:doc-required-mismatch
|
||||
|
|
|
@ -1,10 +1,4 @@
|
|||
plugins/modules/mysql_db.py validate-modules:doc-elements-mismatch
|
||||
plugins/modules/mysql_db.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/mysql_db.py validate-modules:use-run-command-not-popen
|
||||
plugins/modules/mysql_info.py validate-modules:doc-elements-mismatch
|
||||
plugins/modules/mysql_info.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/mysql_query.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/mysql_user.py validate-modules:undocumented-parameter
|
||||
plugins/modules/mysql_variables.py validate-modules:doc-required-mismatch
|
||||
plugins/module_utils/mysql.py pylint:unused-import
|
||||
plugins/module_utils/version.py pylint:unused-import
|
||||
|
|
|
@ -1,10 +1,4 @@
|
|||
plugins/modules/mysql_db.py validate-modules:doc-elements-mismatch
|
||||
plugins/modules/mysql_db.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/mysql_db.py validate-modules:use-run-command-not-popen
|
||||
plugins/modules/mysql_info.py validate-modules:doc-elements-mismatch
|
||||
plugins/modules/mysql_info.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/mysql_query.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/mysql_user.py validate-modules:undocumented-parameter
|
||||
plugins/modules/mysql_variables.py validate-modules:doc-required-mismatch
|
||||
plugins/module_utils/mysql.py pylint:unused-import
|
||||
plugins/module_utils/version.py pylint:unused-import
|
||||
|
|
|
@ -1,10 +1,4 @@
|
|||
plugins/modules/mysql_db.py validate-modules:doc-elements-mismatch
|
||||
plugins/modules/mysql_db.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/mysql_db.py validate-modules:use-run-command-not-popen
|
||||
plugins/modules/mysql_info.py validate-modules:doc-elements-mismatch
|
||||
plugins/modules/mysql_info.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/mysql_query.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/mysql_user.py validate-modules:undocumented-parameter
|
||||
plugins/modules/mysql_variables.py validate-modules:doc-required-mismatch
|
||||
plugins/module_utils/mysql.py pylint:unused-import
|
||||
plugins/module_utils/version.py pylint:unused-import
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
from __future__ import (absolute_import, division, print_function)
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
import pytest
|
||||
|
||||
from ansible_collections.community.mysql.plugins.module_utils.mysql import get_server_version
|
||||
from ansible_collections.community.mysql.plugins.module_utils.mysql import get_server_version, get_server_implementation
|
||||
from ..utils import dummy_cursor_class
|
||||
|
||||
|
||||
|
@ -22,3 +23,21 @@ def test_get_server_version(cursor_return_version, cursor_return_type):
|
|||
"""
|
||||
cursor = dummy_cursor_class(cursor_return_version, cursor_return_type)
|
||||
assert get_server_version(cursor) == cursor_return_version
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
'cursor_return_version,cursor_return_type,server_implementation',
|
||||
[
|
||||
('5.7.0-mysql', 'dict', 'mysql'),
|
||||
('8.0.0-mysql', 'list', 'mysql'),
|
||||
('10.5.0-mariadb', 'dict', 'mariadb'),
|
||||
('10.5.1-mariadb', 'list', 'mariadb'),
|
||||
]
|
||||
)
|
||||
def test_get_server_implamentation(cursor_return_version, cursor_return_type, server_implementation):
|
||||
"""
|
||||
Test that server implementation are handled properly by get_server_implementation() whether the server version returned as a list or dict.
|
||||
"""
|
||||
cursor = dummy_cursor_class(cursor_return_version, cursor_return_type)
|
||||
|
||||
assert get_server_implementation(cursor) == server_implementation
|
||||
|
|
|
@ -14,15 +14,15 @@ from ansible_collections.community.mysql.plugins.modules.mysql_info import MySQL
|
|||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
'suffix,cursor_output',
|
||||
'suffix,cursor_output,server_implementation',
|
||||
[
|
||||
('mysql', '5.5.1-mysql'),
|
||||
('log', '5.7.31-log'),
|
||||
('mariadb', '10.5.0-mariadb'),
|
||||
('', '8.0.22'),
|
||||
('mysql', '5.5.1-mysql', 'mysql'),
|
||||
('log', '5.7.31-log', 'mysql'),
|
||||
('mariadb', '10.5.0-mariadb', 'mariadb'),
|
||||
('', '8.0.22', 'mysql'),
|
||||
]
|
||||
)
|
||||
def test_get_info_suffix(suffix, cursor_output):
|
||||
def test_get_info_suffix(suffix, cursor_output, server_implementation):
|
||||
def __cursor_return_value(input_parameter):
|
||||
if input_parameter == "SHOW GLOBAL VARIABLES":
|
||||
cursor.fetchall.return_value = [{"Variable_name": "version", "Value": cursor_output}]
|
||||
|
@ -32,6 +32,6 @@ def test_get_info_suffix(suffix, cursor_output):
|
|||
cursor = MagicMock()
|
||||
cursor.execute.side_effect = __cursor_return_value
|
||||
|
||||
info = MySQL_Info(MagicMock(), cursor)
|
||||
info = MySQL_Info(MagicMock(), cursor, server_implementation)
|
||||
|
||||
assert info.get_info([], [], False)['version']['suffix'] == suffix
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue