[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
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

@ -11,27 +11,40 @@
- name: Add fake port to config file
shell: 'echo "port = {{ fake_port }}" >> {{ config_file }}'
- name: Get pymysql version
shell: pip show pymysql | awk '/Version/ {print $2}'
register: pymysql_version
- name: Add blank line
shell: 'echo "" >> {{ config_file }}'
when: (pymysql_version.stdout | default('1000', true)) is version('0.9.3', '>=')
when:
- >
connector_name is not search('pymysql')
or (
connector_name is search('pymysql')
and connector_ver is version('0.9.3', '>=')
)
- name: Create include_dir
file:
path: '{{ include_dir }}'
state: directory
mode: '0777'
when: (pymysql_version.stdout | default('1000', true)) is version('0.9.3', '>=')
when:
- >
connector_name is not search('pymysql')
or (
connector_name is search('pymysql')
and connector_ver is version('0.9.3', '>=')
)
- name: Add include_dir
lineinfile:
path: '{{ config_file }}'
line: '!includedir {{ include_dir }}'
insertafter: EOF
when: (pymysql_version.stdout | default('1000', true)) is version('0.9.3', '>=')
when:
- >
connector_name is not search('pymysql')
or (
connector_name is search('pymysql')
and connector_ver is version('0.9.3', '>=')
)
- name: Create database using fake port to connect to, must fail
mysql_db:

View file

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

View file

@ -28,8 +28,8 @@
- name: remove database if it exists
command: >
"{{ mysql_command }} -sse 'drop database {{ db_name }}'"
ignore_errors: True
{{ mysql_command }} -sse 'drop database if exists {{ db_name }}'
ignore_errors: true
- name: make sure the test database is not there
command: "{{ mysql_command }} {{ db_name }}"