From 54f5805798107f6def2241ee27a8f650d61c0c80 Mon Sep 17 00:00:00 2001 From: Laurent Indermuehle Date: Mon, 24 Apr 2023 16:28:54 +0200 Subject: [PATCH] Disable tests for pymysql newer than 0.10.0 because the behavior changed --- .../test_mysql_query/tasks/mysql_query_initial.yml | 14 ++++++++++---- .../tasks/mysql_replication_initial.yml | 6 ++++-- 2 files changed, 14 insertions(+), 6 deletions(-) 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 d97c554..82665af 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 @@ -363,21 +363,27 @@ - name: Assert that create table IF NOT EXISTS is not changed with pymysql assert: that: - # PyMySQL driver throws a warning, so the following is correct + # PyMySQL driver throws a warning for version before 0.10.0 - result is not changed when: - connector_name == 'pymysql' + - connector_version is version('0.10.0', '<') # Issue https://github.com/ansible-collections/community.mysql/issues/268 - name: Assert that create table IF NOT EXISTS is changed with mysqlclient assert: that: - # Mysqlclient 2.0.1, driver throws nothing with mysql, so it's - # impossible to figure out if the state was changed or not. + # Mysqlclient 2.0.1 and pymysql 0.10.0+ drivers throws no warning, + # so it's impossible to figure out if the state was changed or not. # We assume that it was for DDL queries by default in the code - result is changed when: - - connector_name == 'mysqlclient' + - > + connector_name == 'mysqlclient' + or ( + connector_name == 'pymysql' + and connector_version is version('0.10.0', '>') + ) - name: Drop db {{ test_db }} mysql_query: 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 1dd4c88..ca7301c 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 @@ -247,13 +247,14 @@ fail_on_error: true register: result - # mysqlclient 2.0.1 always return "changed" + # mysqlclient 2.0.1 and pymysql 0.10.0+ always return "changed" - name: Assert that startreplica is not changed assert: that: - result is not changed when: - connector_name == 'pymysql' + - connector_version is version('0.10.0', '<') # Test stopreplica mode: - name: Stop replica @@ -274,7 +275,7 @@ timeout: 2 # Test stopreplica mode: - # mysqlclient 2.0.1 always return "changed" + # mysqlclient 2.0.1 and pymysql 0.10.0+ always return "changed" - name: Stop replica that is no longer running mysql_replication: <<: *mysql_params @@ -289,6 +290,7 @@ - result is not changed when: - connector_name == 'pymysql' + - connector_version is version('0.10.0', '<') # master / slave related choices were removed in 3.0.0 # https://github.com/ansible-collections/community.mysql/pull/252