improve tests

This commit is contained in:
SoledaD208 2024-10-31 22:35:42 +07:00
parent a086778c83
commit 24bf6397c9
2 changed files with 25 additions and 23 deletions

View file

@ -17,7 +17,7 @@
block: block:
- name: Issue-671| test setup | drop database - name: Issue-671| test setup | drop database
mysql_db: community.mysql.mysql_db:
<<: *mysql_params <<: *mysql_params
name: "{{ item }}" name: "{{ item }}"
state: absent state: absent
@ -26,7 +26,7 @@
- bar - bar
- name: Issue-671| test setup | create database - name: Issue-671| test setup | create database
mysql_db: community.mysql.mysql_db:
<<: *mysql_params <<: *mysql_params
name: "{{ item }}" name: "{{ item }}"
state: present state: present
@ -35,39 +35,41 @@
- bar - bar
- name: Issue-671| test setup | get value of GLOBAL.sql_mode - name: Issue-671| test setup | get value of GLOBAL.sql_mode
mysql_query: community.mysql.mysql_query:
<<: *mysql_params <<: *mysql_params
query: 'select @@GLOBAL.sql_mode AS sql_mode' query: 'select @@GLOBAL.sql_mode AS sql_mode'
register: sql_mode_orig register: sql_mode_orig
- name: Issue-671| Assert sql_mode_orig - name: Issue-671| Assert sql_mode_orig
assert: ansible.builtin.assert:
that: that:
- sql_mode_orig.query_result[0][0].sql_mode != None - sql_mode_orig.query_result[0][0].sql_mode != None
- name: Issue-671| enable sql_mode ANSI_QUOTES - name: Issue-671| enable sql_mode ANSI_QUOTES
mysql_variables: community.mysql.mysql_variables:
<<: *mysql_params <<: *mysql_params
variable: sql_mode variable: sql_mode
value: '{{ sql_mode_orig.query_result[0][0].sql_mode }},ANSI_QUOTES' value: '{{ sql_mode_orig.query_result[0][0].sql_mode }},ANSI_QUOTES'
mode: "{% if db_engine == 'mariadb' %}global{% else %}persist{% endif %}" mode: "{% if db_engine == 'mariadb' %}global{% else %}persist{% endif %}"
- name: Issue-671| Copy SQL scripts to remote - name: Issue-671| Copy SQL scripts to remote
copy: ansible.builtin.copy:
src: "{{ item }}" src: "{{ item }}"
dest: "{{ remote_tmp_dir }}/{{ item | basename }}" dest: "{{ remote_tmp_dir }}/{{ item | basename }}"
with_items: loop:
- create-function.sql - create-function.sql
- create-procedure.sql - create-procedure.sql
- name: Issue-671| Create function for test - name: Issue-671| Create function for test
shell: "{{ mysql_command }} < {{ remote_tmp_dir }}/create-function.sql" ansible.builtin.shell:
cmd: "{{ mysql_command }} < {{ remote_tmp_dir }}/create-function.sql"
- name: Issue-671| Create procedure for test - name: Issue-671| Create procedure for test
shell: "{{ mysql_command }} < {{ remote_tmp_dir }}/create-procedure.sql" ansible.builtin.shell:
cmd: "{{ mysql_command }} < {{ remote_tmp_dir }}/create-procedure.sql"
- name: Issue-671| Create user with FUNCTION and PROCEDURE privileges - name: Issue-671| Create user with FUNCTION and PROCEDURE privileges
mysql_user: community.mysql.mysql_user:
<<: *mysql_params <<: *mysql_params
name: '{{ user_name_2 }}' name: '{{ user_name_2 }}'
password: '{{ user_password_2 }}' password: '{{ user_password_2 }}'
@ -75,7 +77,7 @@
priv: 'FUNCTION foo.function:EXECUTE/foo.*:SELECT/PROCEDURE bar.procedure:EXECUTE' priv: 'FUNCTION foo.function:EXECUTE/foo.*:SELECT/PROCEDURE bar.procedure:EXECUTE'
- name: Issue-671| Grant the privileges again, remove ANSI_QUOTES from the session variable - name: Issue-671| Grant the privileges again, remove ANSI_QUOTES from the session variable
mysql_user: community.mysql.mysql_user:
<<: *mysql_params <<: *mysql_params
session_vars: session_vars:
sql_mode: "" sql_mode: ""
@ -84,15 +86,11 @@
state: present state: present
priv: 'FUNCTION foo.function:EXECUTE/foo.*:SELECT/PROCEDURE bar.procedure:EXECUTE' priv: 'FUNCTION foo.function:EXECUTE/foo.*:SELECT/PROCEDURE bar.procedure:EXECUTE'
register: result register: result
failed_when:
- name: Issue-671| Assert Create user with FUNCTION and PROCEDURE privileges - result is failed or result is changed
assert:
that:
- result is success
- result is not changed
- name: Issue-671| Test teardown | cleanup databases - name: Issue-671| Test teardown | cleanup databases
mysql_db: community.mysql.mysql_db:
<<: *mysql_params <<: *mysql_params
name: "{{ item }}" name: "{{ item }}"
state: absent state: absent
@ -101,12 +99,14 @@
- bar - bar
- name: Issue-671| set sql_mode back to original value - name: Issue-671| set sql_mode back to original value
mysql_variables: community.mysql.mysql_variables:
<<: *mysql_params <<: *mysql_params
variable: sql_mode variable: sql_mode
value: '{{ sql_mode_orig.query_result[0][0].sql_mode }}' value: '{{ sql_mode_orig.query_result[0][0].sql_mode }}'
mode: "{% if db_engine == 'mariadb' %}global{% else %}persist{% endif %}" mode: "{% if db_engine == 'mariadb' %}global{% else %}persist{% endif %}"
- include_tasks: utils/remove_user.yml - name: Issue-671| Teardown user_name_2
ansible.builtin.include_tasks:
file: utils/remove_user.yml
vars: vars:
user_name: "{{ user_name_2 }}" user_name: "{{ user_name_2 }}"

View file

@ -283,7 +283,9 @@
tags: tags:
- issue-64560 - issue-64560
- import_tasks: issue-671.yaml - name: Test ANSI_QUOTES
ansible.builtin.import_tasks:
file: issue-671.yaml
tags: tags:
- issue-671 - issue-671