mirror of
https://github.com/ansible-collections/community.mysql.git
synced 2025-07-23 13:20:25 -07:00
modules: add charset connection option
This commit is contained in:
parent
dad555a536
commit
915d125d70
7 changed files with 117 additions and 3 deletions
|
@ -10,11 +10,13 @@ user_name_1: 'db_user1'
|
|||
user_name_2: 'db_user2'
|
||||
user_name_3: 'db_user3'
|
||||
user_name_4: 'db_user4'
|
||||
user_name_5: 'db_user5'
|
||||
|
||||
user_password_1: 'gadfFDSdtTU^Sdfuj'
|
||||
user_password_2: 'jkFKUdfhdso78yi&td'
|
||||
user_password_3: 'jkFKUdfhdso78yi&tk'
|
||||
user_password_4: 's2R#7pLV31!ZJrXPa3'
|
||||
user_password_5: '£gadfFDSdtTU^Sdfuj'
|
||||
|
||||
root_password: 'zevuR6oPh7'
|
||||
|
||||
|
|
|
@ -265,6 +265,9 @@
|
|||
# Tests for the priv parameter with dict value (https://github.com/ansible/ansible/issues/57533)
|
||||
- include: test_priv_dict.yml
|
||||
|
||||
# Test charset option
|
||||
- include: test_charset.yml
|
||||
|
||||
# Test that append_privs will not attempt to make a change where current privileges are a superset of new privileges
|
||||
# (https://github.com/ansible-collections/community.mysql/issues/69)
|
||||
- include: test_priv_append.yml enable_check_mode=no
|
||||
|
|
|
@ -0,0 +1,97 @@
|
|||
- vars:
|
||||
mysql_parameters: &mysql_params
|
||||
login_user: '{{ mysql_user }}'
|
||||
login_password: '{{ mysql_password }}'
|
||||
login_host: 127.0.0.1
|
||||
login_port: '{{ mysql_primary_port }}'
|
||||
|
||||
block:
|
||||
|
||||
#- name: Change database charset
|
||||
# mysql_query:
|
||||
# <<: *mysql_params
|
||||
# query: ALTER DATABASE mysql CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci
|
||||
|
||||
#- name: Change user table charset
|
||||
# mysql_query:
|
||||
# <<: *mysql_params
|
||||
# query: ALTER TABLE mysql.user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
|
||||
|
||||
- name: Show charset settings
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: "SHOW SESSION VARIABLES LIKE 'character_set_%'"
|
||||
register: result
|
||||
- assert:
|
||||
that:
|
||||
- result is succeeded
|
||||
|
||||
- name: Show collation settings
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: "SHOW SESSION VARIABLES LIKE 'collation_connection%'"
|
||||
register: result
|
||||
- assert:
|
||||
that:
|
||||
- result is succeeded
|
||||
|
||||
- name: Show charset settings
|
||||
mysql_query:
|
||||
<<: *mysql_params
|
||||
query: "SELECT @@character_set_client"
|
||||
register: result
|
||||
- assert:
|
||||
that:
|
||||
- result is succeeded
|
||||
|
||||
- name: Create user with default charset
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_5 }}'
|
||||
password: '{{ user_password_5 }}'
|
||||
state: present
|
||||
|
||||
- name: Try to get connect and get info, must fail
|
||||
mysql_query:
|
||||
login_host: 127.0.0.1
|
||||
login_port: '{{ mysql_primary_port }}'
|
||||
login_user: '{{ user_name_5 }}'
|
||||
login_password: '{{ user_password_5 }}'
|
||||
query: 'SHOW DATABASES'
|
||||
register: result
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Assert that the previous task failed
|
||||
assert:
|
||||
that:
|
||||
- result is failed
|
||||
|
||||
- name: Drop user
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_5 }}'
|
||||
password: '{{ user_password_5 }}'
|
||||
state: absent
|
||||
|
||||
- name: Create user with utf8mb4 charset
|
||||
mysql_user:
|
||||
<<: *mysql_params
|
||||
name: '{{ user_name_5 }}'
|
||||
password: '{{ user_password_5 }}'
|
||||
state: present
|
||||
charset: utf8mb4
|
||||
|
||||
- name: Try to get connect and get info, must succeed
|
||||
mysql_query:
|
||||
login_host: 127.0.0.1
|
||||
login_port: '{{ mysql_primary_port }}'
|
||||
login_user: '{{ user_name_5 }}'
|
||||
login_password: '{{ user_password_5 }}'
|
||||
query: 'SHOW DATABASES'
|
||||
charset: utf8mb4
|
||||
register: result
|
||||
|
||||
- name: Assert that the previous task failed
|
||||
assert:
|
||||
that:
|
||||
- result is succeeded
|
Loading…
Add table
Add a link
Reference in a new issue