From e97324a04dd60c1efac0cf8bae23a814810fc087 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Sanju=C3=A1n?= Date: Mon, 26 Aug 2024 10:11:58 +0200 Subject: [PATCH] Add tests --- .../tasks/test_user_plugin_auth.yml | 181 +++++++++++------- 1 file changed, 110 insertions(+), 71 deletions(-) diff --git a/tests/integration/targets/test_mysql_user/tasks/test_user_plugin_auth.yml b/tests/integration/targets/test_mysql_user/tasks/test_user_plugin_auth.yml index 6330d3a..97cb126 100644 --- a/tests/integration/targets/test_mysql_user/tasks/test_user_plugin_auth.yml +++ b/tests/integration/targets/test_mysql_user/tasks/test_user_plugin_auth.yml @@ -545,84 +545,123 @@ register: result failed_when: result is success - # # ============================================================ - # # Test auth plugin change - # # - # - name: Cleanup user - # ansible.builtin.include_tasks: utils/remove_user.yml - # vars: - # user_name: "{{ test_user_name }}" - # - name: Plugin auth | Create user with mysql_native_password - # community.mysql.mysql_user: - # <<: *mysql_params - # name: "{{ test_user_name }}" - # host: "%" - # plugin: "{{ test_plugin_type }}" - # password: "{{ test_plugin_auth_string }}" - # priv: "{{ test_default_priv }}" - # - name: Plugin auth | Check that the expected plugin type is set - # ansible.builtin.include_tasks: utils/assert_plugin.yml - # vars: - # user_name: "{{ test_user_name }}" - # plugin_type: "{{ test_plugin_type }}" - # - name: Plugin auth | Connect with user and password - # ansible.builtin.command: '{{ mysql_command }} -u {{ test_user_name }} -p{{ test_plugin_auth_string }} -e "SELECT 1"' + # ============================================================ + # Test auth plugin change + # - # - name: Plugin auth | Change auth user plugin in check mode - # community.mysql.mysql_user: - # <<: *mysql_params - # name: "{{ test_user_name }}" - # host: '%' - # plugin: caching_sha2_password - # plugin_auth_string: "{{ test_plugin_auth_string }}" - # salt: "{{ test_salt }}" - # priv: "{{ test_default_priv }}" - # check_mode: true - # register: result - # failed_when: result is not changed + - name: Cleanup user + ansible.builtin.include_tasks: utils/remove_user.yml + vars: + user_name: "{{ test_user_name }}" - # - name: Plugin auth | Check that the expected plugin type is set (not changed) - # ansible.builtin.include_tasks: utils/assert_plugin.yml - # vars: - # user_name: "{{ test_user_name }}" - # plugin_type: "{{ test_plugin_type }}" + - name: Plugin auth | Create user with mysql_native_password + community.mysql.mysql_user: + <<: *mysql_params + name: "{{ test_user_name }}" + host: "%" + plugin: "{{ test_plugin_type }}" + password: "{{ test_plugin_auth_string }}" + priv: "{{ test_default_priv }}" - # - name: Plugin auth | Change auth user plugin - # community.mysql.mysql_user: - # <<: *mysql_params - # name: "{{ test_user_name }}" - # host: '%' - # plugin: caching_sha2_password - # plugin_auth_string: "{{ test_plugin_auth_string }}" - # salt: "{{ test_salt }}" - # priv: "{{ test_default_priv }}" - # register: result - # failed_when: result is not changed + - name: Plugin auth | Check that the expected plugin type is set + ansible.builtin.include_tasks: utils/assert_plugin.yml + vars: + user_name: "{{ test_user_name }}" + plugin_type: "{{ test_plugin_type }}" - # - name: Plugin auth | Check that the expected (new) plugin type is set - # ansible.builtin.include_tasks: utils/assert_plugin.yml - # vars: - # user_name: "{{ test_user_name }}" - # plugin_type: caching_sha2_password + - name: Plugin auth | Connect with user and password + ansible.builtin.command: '{{ mysql_command }} -u {{ test_user_name }} -p{{ test_plugin_auth_string }} -e "SELECT 1"' - # - name: Plugin auth | Change auth user plugin again (should not change) - # community.mysql.mysql_user: - # <<: *mysql_params - # name: "{{ test_user_name }}" - # host: '%' - # plugin: caching_sha2_password - # plugin_auth_string: "{{ test_plugin_auth_string }}" - # salt: "{{ test_salt }}" - # priv: "{{ test_default_priv }}" - # register: result - # failed_when: result is changed + - name: Plugin auth | Change auth user plugin in check mode + community.mysql.mysql_user: + <<: *mysql_params + name: "{{ test_user_name }}" + host: '%' + plugin: caching_sha2_password + plugin_auth_string: "{{ test_plugin_auth_string }}" + salt: "{{ test_salt }}" + priv: "{{ test_default_priv }}" + check_mode: true + register: result + failed_when: result is not changed + when: + - > + connector_name != 'pymysql' + or ( + connector_name == 'pymysql' + and connector_version is version('0.9', '>=') + ) - # - name: Plugin auth | Check that the expected (not changed) plugin type is set - # ansible.builtin.include_tasks: utils/assert_plugin.yml - # vars: - # user_name: "{{ test_user_name }}" - # plugin_type: caching_sha2_password + - name: Plugin auth | Check that the expected plugin type is set (not changed) + ansible.builtin.include_tasks: utils/assert_plugin.yml + vars: + user_name: "{{ test_user_name }}" + plugin_type: "{{ test_plugin_type }}" + + - name: Plugin auth | Change auth user plugin + community.mysql.mysql_user: + <<: *mysql_params + name: "{{ test_user_name }}" + host: '%' + plugin: caching_sha2_password + plugin_auth_string: "{{ test_plugin_auth_string }}" + salt: "{{ test_salt }}" + priv: "{{ test_default_priv }}" + register: result + failed_when: result is not changed + when: + - > + connector_name != 'pymysql' + or ( + connector_name == 'pymysql' + and connector_version is version('0.9', '>=') + ) + + - name: Plugin auth | Check that the expected (new) plugin type is set + ansible.builtin.include_tasks: utils/assert_plugin.yml + vars: + user_name: "{{ test_user_name }}" + plugin_type: caching_sha2_password + when: + - > + connector_name != 'pymysql' + or ( + connector_name == 'pymysql' + and connector_version is version('0.9', '>=') + ) + + - name: Plugin auth | Change auth user plugin again (should not change) + community.mysql.mysql_user: + <<: *mysql_params + name: "{{ test_user_name }}" + host: '%' + plugin: caching_sha2_password + plugin_auth_string: "{{ test_plugin_auth_string }}" + salt: "{{ test_salt }}" + priv: "{{ test_default_priv }}" + register: result + failed_when: result is changed + when: + - > + connector_name != 'pymysql' + or ( + connector_name == 'pymysql' + and connector_version is version('0.9', '>=') + ) + + - name: Plugin auth | Check that the expected (not changed) plugin type is set + ansible.builtin.include_tasks: utils/assert_plugin.yml + vars: + user_name: "{{ test_user_name }}" + plugin_type: caching_sha2_password + when: + - > + connector_name != 'pymysql' + or ( + connector_name == 'pymysql' + and connector_version is version('0.9', '>=') + )