1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

mysql_info: added spaces to CI tests (#146)

* mysql_info: added spaces to CI tests

* added comments

* added comments
This commit is contained in:
Andrew Klychkov 2020-04-10 11:30:39 +03:00 committed by GitHub
parent 6dd5cb5dea
commit 758561070a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,3 +1,12 @@
# Test code for mysql_info module
# Copyright: (c) 2019, Andrew Klychkov (@Andersson007) <aaklychkov@mail.ru>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
###################
# Prepare for tests
#
# Create role for tests
- name: mysql_info - create mysql user {{ user_name }}
mysql_user:
name: '{{ user_name }}'
@ -5,20 +14,30 @@
state: present
priv: '*.*:ALL'
login_unix_socket: '{{ mysql_socket }}'
# Create default MySQL config file with credentials
- name: mysql_info - create default config file
template:
src: my.cnf.j2
dest: /root/.my.cnf
mode: '0400'
# Create non-default MySQL config file with credentials
- name: mysql_info - create non-default config file
template:
src: my.cnf.j2
dest: /root/non-default_my.cnf
mode: '0400'
###############
# Do tests
# Access by default cred file
- name: mysql_info - collect default cred file
mysql_info:
login_user: '{{ user_name }}'
register: result
- assert:
that:
- result.changed == false
@ -28,15 +47,20 @@
- result.databases != {}
- result.engines != {}
- result.users != {}
# Access by non-default cred file
- name: mysql_info - check non-default cred file
mysql_info:
login_user: '{{ user_name }}'
config_file: /root/non-default_my.cnf
register: result
- assert:
that:
- result.changed == false
- result.version != {}
# Remove cred files
- name: mysql_info - remove cred files
file:
path: '{{ item }}'
@ -44,21 +68,27 @@
with_items:
- /root/.my.cnf
- /root/non-default_my.cnf
# Access with password
- name: mysql_info - check access with password
mysql_info:
login_user: '{{ user_name }}'
login_password: '{{ user_pass }}'
register: result
- assert:
that:
- result.changed == false
- result.version != {}
# Test excluding
- name: Collect all info except settings and users
mysql_info:
login_user: '{{ user_name }}'
login_password: '{{ user_pass }}'
filter: '!settings,!users'
register: result
- assert:
that:
- result.changed == false
@ -68,6 +98,8 @@
- result.engines != {}
- result.settings is not defined
- result.users is not defined
# Test including
- name: Collect info only about version and databases
mysql_info:
login_user: '{{ user_name }}'
@ -76,6 +108,7 @@
- version
- databases
register: result
- assert:
that:
- result.changed == false
@ -85,6 +118,10 @@
- result.settings is not defined
- result.global_status is not defined
- result.users is not defined
# Test exclude_fields: db_size
# 'unsupported' element is passed to check that an unsupported value
# won't break anything (will be ignored regarding to the module's documentation).
- name: Collect info about databases excluding their sizes
mysql_info:
login_user: '{{ user_name }}'
@ -95,16 +132,22 @@
- db_size
- unsupported
register: result
- assert:
that:
- result.changed == false
- result.databases != {}
- result.databases.mysql == {}
########################################################
# Issue #65727, empty databases must be in returned dict
#
- name: Create empty database acme
mysql_db:
login_user: '{{ user_name }}'
login_password: '{{ user_pass }}'
name: acme
- name: Collect info about databases
mysql_info:
login_user: '{{ user_name }}'
@ -113,11 +156,14 @@
- databases
return_empty_dbs: true
register: result
# Check acme is in returned dict
- assert:
that:
- result.changed == false
- result.databases.acme.size == 0
- result.databases.mysql != {}
- name: Collect info about databases excluding their sizes
mysql_info:
login_user: '{{ user_name }}'
@ -128,11 +174,14 @@
- db_size
return_empty_dbs: true
register: result
# Check acme is in returned dict
- assert:
that:
- result.changed == false
- result.databases.acme == {}
- result.databases.mysql == {}
- name: Remove acme database
mysql_db:
login_user: '{{ user_name }}'