community.mysql/tests/unit/plugins/module_utils/test_mysql_user_implementation.py
Jorge Rodriguez (A.K.A. Tiriel) 11958ec46a
Handle divergences between MySQL and MariaDB (#103)
* Initial attempt

* First functional approach

* Remove unused imports

* Add dychotomy handling for mysql_replication

* Fix cursor lookup

* Fix sanity tests

* Cleanup implementation conditional import

* Fix unit tests

* Fix conditional import to satisfy both sanity and integration tests

* Add changelog fragment
2021-03-16 09:15:19 +01:00

33 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
import pytest
from ansible_collections.community.mysql.plugins.module_utils.implementations.mysql.user import (
supports_identified_by_password,
)
from ..utils import dummy_cursor_class
@pytest.mark.parametrize(
'function_return,cursor_output,cursor_ret_type',
[
(True, '5.5.1-mysql', 'list'),
(True, '5.7.0-mysql', 'dict'),
(False, '8.0.22-mysql', 'list'),
(False, '8.1.2-mysql', 'dict'),
(False, '9.0.0-mysql', 'list'),
(False, '8.0.0-mysql', 'list'),
(False, '8.0.11-mysql', 'dict'),
(False, '8.0.21-mysql', 'list'),
]
)
def test_supports_identified_by_password(function_return, cursor_output, cursor_ret_type):
"""
Tests whether 'CREATE USER %s@%s IDENTIFIED BY PASSWORD %s' is supported,
which is currently supported by everything besides MySQL >= 8.0.
"""
cursor = dummy_cursor_class(cursor_output, cursor_ret_type)
assert supports_identified_by_password(cursor) == function_return