From d44f8f20396b5963f6a8fb03bf20fde68837dcb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Inderm=C3=BChle?= Date: Mon, 28 Apr 2025 13:52:40 +0200 Subject: [PATCH] CI: fix string templating for ansible devel (core 2.19, 12 beta) in tests (#713) * fix string templating for ansible devel (core 2.19, 12 beta) * fix order to prevent [ERROR]: Task failed: Module failed: 'Server_id' * cut jinja templates from conditionals * fix 'item' already in use --- .../tasks/multi_db_create_delete.yml | 120 +++++++++--------- .../test_mysql_db/tasks/state_dump_import.yml | 16 ++- .../tasks/state_present_absent.yml | 36 ++++-- .../tasks/mysql_query_initial.yml | 63 ++++++--- .../tasks/mysql_replication_channel.yml | 2 +- .../tasks/mysql_replication_initial.yml | 3 +- .../tasks/mysql_replication_primary_delay.yml | 2 +- .../test_mysql_user/tasks/test_privs.yml | 4 +- .../tasks/test_user_plugin_auth.yml | 2 +- .../tasks/utils/assert_user.yml | 4 +- .../test_mysql_variables/tasks/assert_var.yml | 6 +- .../tasks/assert_var_output.yml | 6 +- .../tasks/mysql_variables.yml | 22 +++- 13 files changed, 173 insertions(+), 113 deletions(-) diff --git a/tests/integration/targets/test_mysql_db/tasks/multi_db_create_delete.yml b/tests/integration/targets/test_mysql_db/tasks/multi_db_create_delete.yml index 0bd7d58..d65b422 100644 --- a/tests/integration/targets/test_mysql_db/tasks/multi_db_create_delete.yml +++ b/tests/integration/targets/test_mysql_db/tasks/multi_db_create_delete.yml @@ -33,9 +33,9 @@ - name: assert that databases does not exist assert: that: - - "'{{ db1_name }}' not in mysql_result.stdout" - - "'{{ db2_name }}' not in mysql_result.stdout" - - "'{{ db3_name }}' not in mysql_result.stdout" + - db1_name not in mysql_result.stdout + - db2_name not in mysql_result.stdout + - db3_name not in mysql_result.stdout # ========================================================================== # Create multiple databases that does not exists (check mode) @@ -65,9 +65,9 @@ - name: assert that databases does not exist (since created via check mode) assert: that: - - "'{{ db1_name }}' not in mysql_result.stdout" - - "'{{ db2_name }}' not in mysql_result.stdout" - - "'{{ db3_name }}' not in mysql_result.stdout" + - db1_name not in mysql_result.stdout + - db2_name not in mysql_result.stdout + - db3_name not in mysql_result.stdout # ========================================================================== # Create multiple databases @@ -88,7 +88,7 @@ assert: that: - result is changed - - result.db_list == ['{{ db1_name }}', '{{ db2_name }}', '{{ db3_name }}'] + - result.db_list == [db1_name, db2_name, db3_name] - name: run command to list databases like specified database name command: "{{ mysql_command }} \"-e show databases like 'database%'\"" @@ -97,9 +97,9 @@ - name: assert that databases exist after creation assert: that: - - "'{{ db1_name }}' in mysql_result.stdout" - - "'{{ db2_name }}' in mysql_result.stdout" - - "'{{ db3_name }}' in mysql_result.stdout" + - db1_name in mysql_result.stdout + - db2_name in mysql_result.stdout + - db3_name in mysql_result.stdout # ========================================================================= # Recreate already existing databases (check mode) @@ -129,9 +129,9 @@ - name: assert that databases exist (since performed recreation of existing databases via check mode) assert: that: - - "'{{ db1_name }}' in mysql_result.stdout" - - "'{{ db2_name }}' in mysql_result.stdout" - - "'{{ db3_name }}' in mysql_result.stdout" + - db1_name in mysql_result.stdout + - db2_name in mysql_result.stdout + - db3_name in mysql_result.stdout # ========================================================================== # Recreate same databases @@ -160,9 +160,9 @@ - name: assert that databases does priorly exist assert: that: - - "'{{ db1_name }}' in mysql_result.stdout" - - "'{{ db2_name }}' in mysql_result.stdout" - - "'{{ db3_name }}' in mysql_result.stdout" + - db1_name in mysql_result.stdout + - db2_name in mysql_result.stdout + - db3_name in mysql_result.stdout # ========================================================================== # Delete one of the databases (db2 here) @@ -189,9 +189,9 @@ - name: assert that only db2 database does not exist assert: that: - - "'{{ db1_name }}' in mysql_result.stdout" - - "'{{ db2_name }}' not in mysql_result.stdout" - - "'{{ db3_name }}' in mysql_result.stdout" + - db1_name in mysql_result.stdout + - db2_name not in mysql_result.stdout + - db3_name in mysql_result.stdout # ========================================================================= # Recreate multiple databases in which few databases does not exists (check mode) @@ -221,9 +221,9 @@ - name: assert that recreated non existing databases does not exist (since created via check mode) assert: that: - - "'{{ db1_name }}' in mysql_result.stdout" - - "'{{ db2_name }}' not in mysql_result.stdout" - - "'{{ db3_name }}' in mysql_result.stdout" + - db1_name in mysql_result.stdout + - db2_name not in mysql_result.stdout + - db3_name in mysql_result.stdout # ========================================================================== # Create multiple databases @@ -252,9 +252,9 @@ - name: assert that databases exist assert: that: - - "'{{ db1_name }}' in mysql_result.stdout" - - "'{{ db2_name }}' in mysql_result.stdout" - - "'{{ db3_name }}' in mysql_result.stdout" + - db1_name in mysql_result.stdout + - db2_name in mysql_result.stdout + - db3_name in mysql_result.stdout # ============================== DUMP TEST ================================= # @@ -293,9 +293,9 @@ - name: assert that databases exist (check mode) assert: that: - - "'{{ db1_name }}' in mysql_result.stdout" - - "'{{ db2_name }}' in mysql_result.stdout" - - "'{{ db3_name }}' in mysql_result.stdout" + - db1_name in mysql_result.stdout + - db2_name in mysql_result.stdout + - db3_name in mysql_result.stdout - name: state dump - file name should not exist (since dumped via check mode) file: @@ -332,10 +332,10 @@ - name: assert that databases exist (since check mode) assert: that: - - "'{{ db1_name }}' in mysql_result.stdout" - - "'{{ db2_name }}' in mysql_result.stdout" - - "'{{ db3_name }}' in mysql_result.stdout" - - "'{{ db4_name }}' not in mysql_result.stdout" + - db1_name in mysql_result.stdout + - db2_name in mysql_result.stdout + - db3_name in mysql_result.stdout + - db4_name not in mysql_result.stdout - name: state dump - file name should not exist (since prior dump operation performed via check mode) file: @@ -371,11 +371,11 @@ - name: assert that databases exist (since delete via check mode) assert: that: - - "'{{ db1_name }}' in mysql_result.stdout" - - "'{{ db2_name }}' in mysql_result.stdout" - - "'{{ db3_name }}' in mysql_result.stdout" - - "'{{ db4_name }}' not in mysql_result.stdout" - - "'{{ db5_name }}' not in mysql_result.stdout" + - db1_name in mysql_result.stdout + - db2_name in mysql_result.stdout + - db3_name in mysql_result.stdout + - db4_name not in mysql_result.stdout + - db5_name not in mysql_result.stdout - name: state dump - file name should not exist (since prior dump operation performed via check mode) file: @@ -403,7 +403,7 @@ assert: that: - dump_result is changed - - dump_result.db_list == ['{{ db1_name }}', '{{ db2_name }}', '{{ db3_name }}'] + - dump_result.db_list == [db1_name, db2_name, db3_name] - name: Run command to list databases like specified database name command: "{{ mysql_command }} \"-e show databases like 'database%'\"" @@ -412,9 +412,9 @@ - name: assert that databases exist assert: that: - - "'{{ db1_name }}' in mysql_result.stdout" - - "'{{ db2_name }}' in mysql_result.stdout" - - "'{{ db3_name }}' in mysql_result.stdout" + - db1_name in mysql_result.stdout + - db2_name in mysql_result.stdout + - db3_name in mysql_result.stdout - name: State dump - file name should exist (dump1_file) file: @@ -461,11 +461,11 @@ - name: assert that databases exist assert: that: - - "'{{ db1_name }}' in mysql_result.stdout" - - "'{{ db2_name }}' in mysql_result.stdout" - - "'{{ db3_name }}' in mysql_result.stdout" - - "'{{ db4_name }}' not in mysql_result.stdout" - - "'{{ db5_name }}' not in mysql_result.stdout" + - db1_name in mysql_result.stdout + - db2_name in mysql_result.stdout + - db3_name in mysql_result.stdout + - db4_name not in mysql_result.stdout + - db5_name not in mysql_result.stdout - name: state dump - file name should exist (dump2_file) file: @@ -501,8 +501,8 @@ - name: assert that databases exist even after deleting (since deleted via check mode) assert: that: - - "'{{ db2_name }}' in mysql_result.stdout" - - "'{{ db3_name }}' in mysql_result.stdout" + - db2_name in mysql_result.stdout + - db3_name in mysql_result.stdout # ========================================================================== # Delete multiple databases @@ -522,7 +522,7 @@ assert: that: - result is changed - - result.db_list == ['{{ db2_name }}', '{{ db3_name }}'] + - result.db_list == [db2_name, db3_name] - name: run command to list databases like specified database name command: "{{ mysql_command }} \"-e show databases like 'database%'\"" @@ -531,8 +531,8 @@ - name: assert that databases does not exist assert: that: - - "'{{ db2_name }}' not in mysql_result.stdout" - - "'{{ db3_name }}' not in mysql_result.stdout" + - db2_name not in mysql_result.stdout + - db3_name not in mysql_result.stdout # ========================================================================== # Delete non existing databases (check mode) @@ -561,8 +561,8 @@ - name: assert that databases does not exist since were deleted priorly (check mode) assert: that: - - "'{{ db2_name }}' not in mysql_result.stdout" - - "'{{ db4_name }}' not in mysql_result.stdout" + - db2_name not in mysql_result.stdout + - db4_name not in mysql_result.stdout # ========================================================================== # Delete already deleted databases @@ -590,8 +590,8 @@ - name: assert that databases does not exists assert: that: - - "'{{ db2_name }}' not in mysql_result.stdout" - - "'{{ db4_name }}' not in mysql_result.stdout" + - db2_name not in mysql_result.stdout + - db4_name not in mysql_result.stdout # ========================================================================== # Delete all databases @@ -622,11 +622,11 @@ - name: assert that specific databases does not exist assert: that: - - "'{{ db1_name }}' not in mysql_result.stdout" - - "'{{ db2_name }}' not in mysql_result.stdout" - - "'{{ db3_name }}' not in mysql_result.stdout" - - "'{{ db4_name }}' not in mysql_result.stdout" - - "'{{ db5_name }}' not in mysql_result.stdout" + - db1_name not in mysql_result.stdout + - db2_name not in mysql_result.stdout + - db3_name not in mysql_result.stdout + - db4_name not in mysql_result.stdout + - db5_name not in mysql_result.stdout - name: state dump - dump 1 file name should be removed file: diff --git a/tests/integration/targets/test_mysql_db/tasks/state_dump_import.yml b/tests/integration/targets/test_mysql_db/tasks/state_dump_import.yml index f8d2b4b..96e6371 100644 --- a/tests/integration/targets/test_mysql_db/tasks/state_dump_import.yml +++ b/tests/integration/targets/test_mysql_db/tasks/state_dump_import.yml @@ -283,7 +283,7 @@ - name: Dump and Import | Assert that db_name2 database does not exist assert: that: - - "'{{ db_name2 }}' not in mysql_result.stdout" + - db_name2 not in mysql_result.stdout - name: Dump and Import | Test state=import to restore a database from dumped file2 (check mode) mysql_db: @@ -309,7 +309,7 @@ - name: Dump and Import | Assert that db_name2 database does not exist (check mode) assert: that: - - "'{{ db_name2 }}' not in mysql_result.stdout" + - db_name2 not in mysql_result.stdout - name: Dump and Import | Test state=import to restore a database from multiple database dumped file2 mysql_db: @@ -326,7 +326,7 @@ assert: that: - import_result2 is changed - - import_result2.db_list == ['{{ db_name2 }}'] + - import_result2.db_list == [db_name2] - name: Dump and Import | Run command to list databases command: "{{ mysql_command }} \"-e show databases like 'data%'\"" @@ -335,7 +335,7 @@ - name: Dump and Import | Assert that db_name2 database does exist after import assert: that: - - "'{{ db_name2 }}' in mysql_result.stdout" + - db_name2 in mysql_result.stdout - name: Dump and Import | Test state=dump to backup the database of type {{ format_type }} (expect changed=true) mysql_db: @@ -487,18 +487,22 @@ login_password: '{{ mysql_password }}' login_host: '{{ mysql_host }}' login_port: '{{ mysql_primary_port }}' - name: '{{ item }}' + name: '{{ cleanup_db }}' state: absent loop: - '{{ db_name }}' - '{{ db_name2 }}' + loop_control: + loop_var: cleanup_db - name: Dump and Import | Clean up files file: - name: '{{ item }}' + name: '{{ cleanup_file }}' state: absent loop: - '{{ db_file_name }}' - '{{ wrong_sql_file }}' - '{{ dump_file1 }}' - '{{ dump_file2 }}' + loop_control: + loop_var: cleanup_file diff --git a/tests/integration/targets/test_mysql_db/tasks/state_present_absent.yml b/tests/integration/targets/test_mysql_db/tasks/state_present_absent.yml index 12633f2..6b3c772 100644 --- a/tests/integration/targets/test_mysql_db/tasks/state_present_absent.yml +++ b/tests/integration/targets/test_mysql_db/tasks/state_present_absent.yml @@ -41,8 +41,10 @@ assert: that: - result is changed - - result.db == '{{ db_name }}' - - result.executed_commands == ["CREATE DATABASE `{{ db_name }}`"] + - result.db == db_name + - result.executed_commands == expected_commands + vars: + expected_commands: ["CREATE DATABASE `{{ db_name }}`"] - name: State Present Absent | Run command to test state=present for a database name (expect db_name in stdout) command: "{{ mysql_command }} -e \"show databases like '{{ db_name | regex_replace(\"([%_\\\\])\", \"\\\\\\1\") }}'\"" @@ -51,7 +53,7 @@ - name: State Present Absent | Assert database exist assert: that: - - "'{{ db_name }}' in result.stdout" + - db_name in result.stdout # ============================================================ - name: State Present Absent | Test state=absent for a database name (expect changed=true) @@ -68,8 +70,10 @@ assert: that: - result is changed - - result.db == '{{ db_name }}' - - result.executed_commands == ["DROP DATABASE `{{ db_name }}`"] + - result.db == db_name + - result.executed_commands == expected_commands + vars: + expected_commands: ["DROP DATABASE `{{ db_name }}`"] - name: State Present Absent | Run command to test state=absent for a database name (expect db_name not in stdout) command: "{{ mysql_command }} -e \"show databases like '{{ db_name | regex_replace(\"([%_\\\\])\", \"\\\\\\1\") }}'\"" @@ -78,7 +82,7 @@ - name: State Present Absent | Assert database does not exist assert: that: - - "'{{ db_name }}' not in result.stdout" + - db_name not in result.stdout # ============================================================ - name: State Present Absent | Test mysql_db encoding param not valid - issue 8075 @@ -116,7 +120,9 @@ assert: that: - result is changed - - result.executed_commands == ["CREATE DATABASE `en{{ db_name }}` CHARACTER SET 'utf8'"] + - result.executed_commands == expected_commands + vars: + expected_commands: ["CREATE DATABASE `en{{ db_name }}` CHARACTER SET 'utf8'"] - name: State Present Absent | Test database was created command: "{{ mysql_command }} -e \"SHOW CREATE DATABASE `en{{ db_name }}`\"" @@ -152,7 +158,9 @@ assert: that: - result is changed - - result.executed_commands == ["CREATE DATABASE `en{{ db_name }}` CHARACTER SET 'binary'"] + - result.executed_commands == expected_commands + vars: + expected_commands: ["CREATE DATABASE `en{{ db_name }}` CHARACTER SET 'binary'"] - name: State Present Absent | Run command to test database was created command: "{{ mysql_command }} -e \"SHOW CREATE DATABASE `en{{ db_name }}`\"" @@ -207,7 +215,7 @@ - name: State Present Absent | Assert database exist assert: that: - - "'{{ db_user1 }}' in result.stdout" + - db_user1 in result.stdout # ============================================================ - name: State Present Absent | Create user2 to access database with privilege select only @@ -245,7 +253,7 @@ - name: State Present Absent | Assert database does not exist assert: that: - - "'{{ db_user2 }}' not in result.stdout" + - db_user2 not in result.stdout # ============================================================ - name: State Present Absent | Delete database using user2 with no privilege to delete (expect failed=true) @@ -272,7 +280,7 @@ - name: State Present Absent | Assert database still exist assert: that: - - "'{{ db_user1 }}' in result.stdout" + - db_user1 in result.stdout # ============================================================ - name: State Present Absent | Delete database using user1 with all privilege to delete a database (expect changed=true) @@ -290,7 +298,9 @@ assert: that: - result is changed - - result.executed_commands == ["DROP DATABASE `{{ db_user1 }}`"] + - result.executed_commands == expected_commands + vars: + expected_commands: ["DROP DATABASE `{{ db_user1 }}`"] - name: State Present Absent | Run command to test database was deleted using user1 command: "{{ mysql_command }} -e \"show databases like '{{ db_name | regex_replace(\"([%_\\\\])\", \"\\\\\\1\") }}'\"" @@ -299,4 +309,4 @@ - name: State Present Absent | Assert database does not exist assert: that: - - "'{{ db_user1 }}' not in result.stdout" + - db_user1 not in result.stdout diff --git a/tests/integration/targets/test_mysql_query/tasks/mysql_query_initial.yml b/tests/integration/targets/test_mysql_query/tasks/mysql_query_initial.yml index 310f925..5545111 100644 --- a/tests/integration/targets/test_mysql_query/tasks/mysql_query_initial.yml +++ b/tests/integration/targets/test_mysql_query/tasks/mysql_query_initial.yml @@ -21,7 +21,9 @@ assert: that: - result is changed - - result.executed_queries == ['CREATE DATABASE {{ test_db }}'] + - result.executed_queries == expected_queries + vars: + expected_queries: ['CREATE DATABASE {{ test_db }}'] - name: Create {{ test_table1 }} mysql_query: @@ -34,8 +36,10 @@ assert: that: - result is changed - - result.executed_queries == ['CREATE TABLE {{ test_table1 }} (id int)'] + - result.executed_queries == expected_queries - result.execution_time_ms[0] > 0 + vars: + expected_queries: ['CREATE TABLE {{ test_table1 }} (id int)'] - name: Insert test data mysql_query: @@ -52,9 +56,14 @@ that: - result is changed - result.rowcount == [2, 1] - - result.executed_queries == ['INSERT INTO {{ test_table1 }} VALUES (1), (2)', 'INSERT INTO {{ test_table1 }} VALUES (3)'] + - result.executed_queries == expected_queries - result.execution_time_ms[0] > 0 - result.execution_time_ms[1] > 0 + vars: + expected_queries: [ + 'INSERT INTO {{ test_table1 }} VALUES (1), (2)', + 'INSERT INTO {{ test_table1 }} VALUES (3)', + ] - name: Check data in {{ test_table1 }} mysql_query: @@ -67,11 +76,13 @@ assert: that: - result is not changed - - result.executed_queries == ['SELECT * FROM {{ test_table1 }}'] + - result.executed_queries == expected_queries - result.rowcount == [3] - result.query_result[0][0].id == 1 - result.query_result[0][1].id == 2 - result.query_result[0][2].id == 3 + vars: + expected_queries: ['SELECT * FROM {{ test_table1 }}'] - name: Check data in {{ test_table1 }} using positional args mysql_query: @@ -86,9 +97,11 @@ assert: that: - result is not changed - - result.executed_queries == ["SELECT * FROM {{ test_table1 }} WHERE id = 1"] + - result.executed_queries == expected_queries - result.rowcount == [1] - result.query_result[0][0].id == 1 + vars: + expected_queries: ["SELECT * FROM {{ test_table1 }} WHERE id = 1"] - name: Check data in {{ test_table1 }} using named args mysql_query: @@ -103,9 +116,11 @@ assert: that: - result is not changed - - result.executed_queries == ["SELECT * FROM {{ test_table1 }} WHERE id = 1"] + - result.executed_queries == expected_queries - result.rowcount == [1] - result.query_result[0][0].id == 1 + vars: + expected_queries: ["SELECT * FROM {{ test_table1 }} WHERE id = 1"] - name: Update data in {{ test_table1 }} mysql_query: @@ -121,8 +136,10 @@ assert: that: - result is changed - - result.executed_queries == ['UPDATE {{ test_table1 }} SET id = 0 WHERE id = 1'] + - result.executed_queries == expected_queries - result.rowcount == [1] + vars: + expected_queries: ['UPDATE {{ test_table1 }} SET id = 0 WHERE id = 1'] - name: Check the prev update - row with value 1 does not exist anymore mysql_query: @@ -137,8 +154,10 @@ assert: that: - result is not changed - - result.executed_queries == ['SELECT * FROM {{ test_table1 }} WHERE id = 1'] + - result.executed_queries == expected_queries - result.rowcount == [0] + vars: + expected_queries: ['SELECT * FROM {{ test_table1 }} WHERE id = 1'] - name: Check the prev update - row with value - exist mysql_query: @@ -153,8 +172,10 @@ assert: that: - result is not changed - - result.executed_queries == ['SELECT * FROM {{ test_table1 }} WHERE id = 0'] + - result.executed_queries == expected_queries - result.rowcount == [1] + vars: + expected_queries: ['SELECT * FROM {{ test_table1 }} WHERE id = 0'] - name: Update data in {{ test_table1 }} again mysql_query: @@ -170,8 +191,10 @@ assert: that: - result is not changed - - result.executed_queries == ['UPDATE {{ test_table1 }} SET id = 0 WHERE id = 1'] + - result.executed_queries == expected_queries - result.rowcount == [0] + vars: + expected_queries: ['UPDATE {{ test_table1 }} SET id = 0 WHERE id = 1'] - name: Delete data from {{ test_table1 }} mysql_query: @@ -186,8 +209,10 @@ assert: that: - result is changed - - result.executed_queries == ['DELETE FROM {{ test_table1 }} WHERE id = 0', 'SELECT * FROM {{ test_table1 }} WHERE id = 0'] + - result.executed_queries == expected_queries - result.rowcount == [1, 0] + vars: + expected_queries: ['DELETE FROM {{ test_table1 }} WHERE id = 0', 'SELECT * FROM {{ test_table1 }} WHERE id = 0'] - name: Delete data from {{ test_table1 }} again mysql_query: @@ -200,8 +225,10 @@ assert: that: - result is not changed - - result.executed_queries == ['DELETE FROM {{ test_table1 }} WHERE id = 0'] + - result.executed_queries == expected_queries - result.rowcount == [0] + vars: + expected_queries: ['DELETE FROM {{ test_table1 }} WHERE id = 0'] - name: Truncate {{ test_table1 }} mysql_query: @@ -216,8 +243,10 @@ assert: that: - result is changed - - result.executed_queries == ['TRUNCATE {{ test_table1 }}', 'SELECT * FROM {{ test_table1 }}'] + - result.executed_queries == expected_queries - result.rowcount == [0, 0] + vars: + expected_queries: ['TRUNCATE {{ test_table1 }}', 'SELECT * FROM {{ test_table1 }}'] - name: Rename {{ test_table1 }} mysql_query: @@ -230,8 +259,10 @@ assert: that: - result is changed - - result.executed_queries == ['RENAME TABLE {{ test_table1 }} TO {{ test_table2 }}'] + - result.executed_queries == expected_queries - result.rowcount == [0] + vars: + expected_queries: ['RENAME TABLE {{ test_table1 }} TO {{ test_table2 }}'] - name: Check the prev rename mysql_query: @@ -398,7 +429,9 @@ assert: that: - result is changed - - result.executed_queries == ['DROP DATABASE {{ test_db }}'] + - result.executed_queries == expected_queries + vars: + expected_queries: ['DROP DATABASE {{ test_db }}'] always: diff --git a/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_channel.yml b/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_channel.yml index 0bcc6e6..67d9261 100644 --- a/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_channel.yml +++ b/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_channel.yml @@ -75,7 +75,7 @@ - assert: that: - result is changed - - result.queries == result_query or result_query2 + - result.queries in [result_query, result_query2] vars: result_query: ["START SLAVE FOR CHANNEL '{{ test_channel }}'"] result_query2: ["START REPLICA FOR CHANNEL '{{ test_channel }}'"] diff --git a/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_initial.yml b/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_initial.yml index 00699c1..182ea5c 100644 --- a/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_initial.yml +++ b/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_initial.yml @@ -337,5 +337,6 @@ - name: Assert that stopslave returns expected error message assert: that: - - result.msg == "value of mode must be one of{{ ":" }} getprimary, getreplica, changeprimary, stopreplica, startreplica, resetprimary, resetreplica, resetreplicaall, changereplication, got{{ ":" }} stopslave" + - + "result.msg == 'value of mode must be one of: getprimary, getreplica, changeprimary, stopreplica, startreplica, resetprimary, resetreplica, resetreplicaall, changereplication, got: stopslave'" - result is failed diff --git a/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_primary_delay.yml b/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_primary_delay.yml index 2093b70..fe22db8 100644 --- a/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_primary_delay.yml +++ b/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_primary_delay.yml @@ -55,5 +55,5 @@ - assert: that: - - replica_status.SQL_Delay == {{ test_primary_delay }} + - replica_status.SQL_Delay == test_primary_delay - replica_status is not changed diff --git a/tests/integration/targets/test_mysql_user/tasks/test_privs.yml b/tests/integration/targets/test_mysql_user/tasks/test_privs.yml index 95d44aa..cd50427 100644 --- a/tests/integration/targets/test_mysql_user/tasks/test_privs.yml +++ b/tests/integration/targets/test_mysql_user/tasks/test_privs.yml @@ -220,7 +220,7 @@ - name: Privs | Assert that 'GRANT' permission is present assert: that: - - mysql_info_about_users.users.localhost.{{ user_name_2 }}.Grant_priv == 'Y' + - mysql_info_about_users.users.localhost.db_user2.Grant_priv == 'Y' - name: Privs | Test idempotency (expect ok) mysql_user: @@ -246,7 +246,7 @@ - name: Privs | Assert that 'GRANT' permission is present (by host) assert: that: - - mysql_info_about_users.users.localhost.{{ user_name_2 }}.Grant_priv == 'Y' + - mysql_info_about_users.users.localhost.db_user2.Grant_priv == 'Y' # ============================================================ - name: Privs | Update user with invalid privileges 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 f6f3c2e..164fea7 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 @@ -45,7 +45,7 @@ - name: Plugin auth | Check that the expected plugin type is set (with hash string) ansible.builtin.assert: that: - - "'{{ test_plugin_type }}' in show_create_user.stdout" + - test_plugin_type in show_create_user.stdout when: db_engine == 'mysql' or (db_engine == 'mariadb' and db_version is version('10.3', '>=')) - ansible.builtin.include_tasks: utils/assert_user.yml diff --git a/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml b/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml index e6bd23f..e03386e 100644 --- a/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml +++ b/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml @@ -17,5 +17,7 @@ - name: Utils | Assert user | Assert user has given privileges ansible.builtin.assert: that: - - "'GRANT {{ priv }} ON *.*' in result.stdout" + - expected_command in result.stdout when: priv is defined + vars: + expected_command: "GRANT {{ priv }} ON *.*" diff --git a/tests/integration/targets/test_mysql_variables/tasks/assert_var.yml b/tests/integration/targets/test_mysql_variables/tasks/assert_var.yml index e64c5a7..d72c7e8 100644 --- a/tests/integration/targets/test_mysql_variables/tasks/assert_var.yml +++ b/tests/integration/targets/test_mysql_variables/tasks/assert_var.yml @@ -23,7 +23,7 @@ - name: Assert output message changed value assert: that: - - "output.changed | bool == changed | bool" + - output.changed | bool == changed | bool - name: Run mysql command to show variable command: "{{ mysql_command }} \"-e show variables like '{{ var_name }}'\"" @@ -33,5 +33,5 @@ assert: that: - result is changed - - "'{{ var_name }}' in result.stdout" - - "'{{ var_value }}' in result.stdout" + - var_name | string in result.stdout + - var_value | string in result.stdout diff --git a/tests/integration/targets/test_mysql_variables/tasks/assert_var_output.yml b/tests/integration/targets/test_mysql_variables/tasks/assert_var_output.yml index 6f26386..0e9874c 100644 --- a/tests/integration/targets/test_mysql_variables/tasks/assert_var_output.yml +++ b/tests/integration/targets/test_mysql_variables/tasks/assert_var_output.yml @@ -22,7 +22,7 @@ - name: assert output message changed value assert: that: - - "output.changed | bool == changed | bool" + - output.changed | bool == changed | bool - set_fact: key_name: "{{ var_name }}" @@ -36,5 +36,5 @@ assert: that: - result is changed - - "key_name in result.stdout" - - "key_value in result.stdout" + - key_name in result.stdout + - key_value in result.stdout diff --git a/tests/integration/targets/test_mysql_variables/tasks/mysql_variables.yml b/tests/integration/targets/test_mysql_variables/tasks/mysql_variables.yml index 8194172..e2fe9ab 100644 --- a/tests/integration/targets/test_mysql_variables/tasks/mysql_variables.yml +++ b/tests/integration/targets/test_mysql_variables/tasks/mysql_variables.yml @@ -92,7 +92,9 @@ - assert: that: - - result.queries == ["SET GLOBAL `{{ set_name }}` = {{ set_value }}"] + - result.queries == expected_queries + vars: + expected_queries: ["SET GLOBAL `{{ set_name }}` = {{ set_value }}"] - include_tasks: assert_var.yml vars: @@ -291,9 +293,9 @@ # Bugfix https://github.com/ansible-collections/community.mysql/issues/652 - name: Get server version - register: result mysql_info: <<: *mysql_params + register: result - name: Set variable name when running on MySQL set_fact: @@ -316,7 +318,9 @@ assert: that: - result is changed or result.msg == "Variable is already set to requested value." - - result.msg == "Variable is already set to requested value." or result.queries == ["SET GLOBAL `{{ log_slow_statements }}` = ON"] + - result.msg == "Variable is already set to requested value." or result.queries == expected_queries + vars: + expected_queries: ["SET GLOBAL `{{ log_slow_statements }}` = ON"] - name: Set a boolean value again using ON mysql_variables: @@ -378,7 +382,9 @@ assert: that: - result is changed - - result.queries == ["SET GLOBAL `{{ log_slow_statements }}` = ON"] + - result.queries == expected_queries + vars: + expected_queries: ["SET GLOBAL `{{ log_slow_statements }}` = ON"] #============================================================ # Verify mysql_variable fails with an incorrect login_password parameter @@ -452,7 +458,9 @@ - assert: that: - - result.queries == ["SET PERSIST `{{ set_name }}` = {{ set_value }}"] + - result.queries == expected_queries + vars: + expected_queries: ["SET PERSIST `{{ set_name }}` = {{ set_value }}"] - include_tasks: assert_var.yml vars: @@ -494,7 +502,9 @@ - assert: that: - result is changed - - result.queries == ["SET PERSIST_ONLY `{{ set_name }}` = {{ set_value }}"] + - result.queries == expected_queries + vars: + expected_queries: ["SET PERSIST_ONLY `{{ set_name }}` = {{ set_value }}"] - name: try to update mysql variable value (expect changed=false) in persist_only mode again mysql_variables: