mirror of https://github.com/ansible/ansible.git
adding encoding dump/import support for the mysql_db module, with upd… (#65228)
* adding encoding dump/import support for the mysql_db module, with updated documentation, and full test suite * fixing lint issue test #3 * fixing lint issue test #1 * fixing lint issue test #1 second time * Improving Test to be re-entrant * improving test to not fail on centos/6 * Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml Comminting suggestion Co-Authored-By: Benjamin MALYNOVYTCH <bmalynovytch@users.noreply.github.com> * Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml comminting suggestion Co-Authored-By: Benjamin MALYNOVYTCH <bmalynovytch@users.noreply.github.com> * adding comment Adding comment to explain test strategy * Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml Co-Authored-By: Benjamin MALYNOVYTCH <bmalynovytch@users.noreply.github.com> * Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml Co-Authored-By: Benjamin MALYNOVYTCH <bmalynovytch@users.noreply.github.com> * Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml accepted Co-Authored-By: Andrey Klychkov <aaklychkov@mail.ru> * Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml Co-Authored-By: Andrey Klychkov <aaklychkov@mail.ru> * Update encoding_dump_import.yml * Fixing typoopull/65327/head
parent
8df03a6f6e
commit
8d6192d61e
@ -0,0 +1,78 @@
|
||||
---
|
||||
|
||||
- set_fact:
|
||||
latin1_file1="{{tmp_dir}}/{{file}}"
|
||||
|
||||
- name: Deleting Latin1 encoded Database
|
||||
mysql_db:
|
||||
name: '{{ db_latin1_name }}'
|
||||
state: absent
|
||||
login_unix_socket: '{{ mysql_socket }}'
|
||||
|
||||
- name: create Latin1 encoded database
|
||||
mysql_db:
|
||||
name: '{{ db_latin1_name }}'
|
||||
state: present
|
||||
encoding: latin1
|
||||
login_unix_socket: '{{ mysql_socket }}'
|
||||
|
||||
- name: create a table in Latin1 database
|
||||
command: mysql {{ db_latin1_name }} -e 'create table testlatin1(id int, name varchar(100));'
|
||||
|
||||
|
||||
# Inserting a string in latin1 into table, , this string be tested later,
|
||||
# so report any change of content in the test too
|
||||
- name: inserting data into Latin1 database
|
||||
command: mysql {{ db_latin1_name }} -e "insert into testlatin1 value(47,'Amédée Bôlüt');"
|
||||
|
||||
- name: selecting table
|
||||
command: mysql {{ db_latin1_name }} -e "select * from testlatin1;"
|
||||
register: output
|
||||
|
||||
- name: Dumping a table in Latin1 database
|
||||
mysql_db:
|
||||
name: "{{ db_latin1_name }}"
|
||||
encoding: latin1
|
||||
target: "{{ latin1_file1 }}"
|
||||
state: dump
|
||||
login_unix_socket: '{{ mysql_socket }}'
|
||||
register: dump_result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result is changed
|
||||
|
||||
- name: state dump - file name should exist
|
||||
file: name={{ latin1_file1 }} state=file
|
||||
|
||||
- name: od the file and check of latin1 encoded string is present
|
||||
shell: grep -a 47 {{ latin1_file1 }} | od -c |grep "A m 351 d 351 e B 364\|A m 303 251 d 303 251 e B 303"
|
||||
|
||||
- name: Dropping {{ db_latin1_name }} database
|
||||
mysql_db:
|
||||
name: '{{ db_latin1_name }}'
|
||||
state: absent
|
||||
login_unix_socket: '{{ mysql_socket }}'
|
||||
|
||||
- name: Importing the latin1 mysql script
|
||||
mysql_db:
|
||||
state: import
|
||||
encoding: latin1
|
||||
name: '{{ db_latin1_name }}'
|
||||
target: "{{ latin1_file1 }}"
|
||||
login_unix_socket: '{{ mysql_socket }}'
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result is changed
|
||||
|
||||
- name: check encoding of table
|
||||
shell: mysql {{ db_latin1_name }} -e "SHOW FULL COLUMNS FROM testlatin1;"
|
||||
register: output
|
||||
failed_when: '"latin1_swedish_ci" not in output.stdout'
|
||||
|
||||
- name: remove database
|
||||
mysql_db:
|
||||
name: '{{ db_latin1_name }}'
|
||||
state: absent
|
||||
login_unix_socket: '{{ mysql_socket }}'
|
Loading…
Reference in New Issue