[PR #416/97318559 backport][stable-1] Fix ci python requirements (#418)

* :Fix ci python requirements (#416)

* Add matrix for python and ansible-core versions for sanity tests

* Add python 3.9 to integrations tests

* Add python 3.9 to unit tests

* Reformat sort by python version first

(cherry picked from commit 97318559e5)

* Fix string to int comparison error 1292

* Fix assert expected changed value

* Cut assertion that is incorrect

With both connectors, and only in stable-1 apparently, the test is
always failed.

* Fix bool comparison

* Revert separated tests for both connectors

* Refactor test using connector.name variable

* Refactor filtering of tasks using connector's vars sets during setup

* Fix "command not found" and "database doesn't exists"

* Fix assertion by not running on failing connectors

* Fix missing package when using sha256_password with MySQL 8
This commit is contained in:
Laurent Indermühle 2022-08-12 16:51:40 +02:00 committed by GitHub
parent 41e7ce5aaa
commit 836a1ce048
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 99 additions and 61 deletions

View file

@ -22,4 +22,4 @@
- name: assert message failure (expect failed=true)
assert:
that:
- "output.failed == true"
- "output.failed | bool == true"

View file

@ -22,7 +22,7 @@
- name: assert output message changed value
assert:
that:
- "output.changed == {{ changed }}"
- "output.changed | bool == changed | bool"
- name: run mysql command to show variable
command: "{{ mysql_command }} \"-e show variables like '{{ var_name }}'\""
@ -31,6 +31,6 @@
- name: assert output mysql variable name and value
assert:
that:
- "result.changed == true"
- "result.changed | bool == true"
- "'{{ var_name }}' in result.stdout"
- "'{{ var_value }}' in result.stdout"

View file

@ -22,7 +22,7 @@
- name: assert output message changed value
assert:
that:
- "output.changed == {{ changed }}"
- "output.changed | bool == changed | bool"
- set_fact:
key_name: "{{ var_name }}"

View file

@ -9,8 +9,6 @@
block:
# ============================================================
- shell: pip show pymysql | awk '/Version/ {print $2}'
register: pymysql_version
- name: get server certificate
copy:
@ -48,12 +46,12 @@
- assert:
that:
- result is failed
when: pymysql_version.stdout != ""
when: connector.name.0 is search('pymysql')
- assert:
that:
- result is succeeded
when: pymysql_version.stdout == ""
when: connector.name.0 is not search('pymysql')
- name: attempt connection with newly created user ignoring hostname
mysql_variables:

View file

@ -151,22 +151,20 @@
# ============================================================
# Verify mysql_variable fails when setting an incorrect value (out of range)
#
- shell: pip show pymysql | awk '/Version/ {print $2}'
register: pymysql_version
- name: set mysql variable value to a number out of range
mysql_variables:
<<: *mysql_params
variable: max_connect_errors
value: -1
value: '-1'
register: oor_result
ignore_errors: true
- include: assert_var.yml changed=true output={{ oor_result }} var_name=max_connect_errors var_value=1
when: pymysql_version.stdout == ""
when: connector.name.0 is not search('pymysql')
- include: assert_fail_msg.yml output={{ oor_result }} msg='Truncated incorrect'
when: pymysql_version.stdout != ""
when: connector.name.0 is search('pymysql')
# ============================================================
# Verify mysql_variable fails when setting an incorrect value (incorrect type)