mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
1.9 KiB
YAML
79 lines
1.9 KiB
YAML
---
|
|
|
|
- name: Issue test setup - drop database
|
|
mysql_db:
|
|
name: "{{ item }}"
|
|
state: absent
|
|
login_unix_socket: '{{ mysql_socket }}'
|
|
loop:
|
|
- foo
|
|
- bar
|
|
|
|
- name: Issue test setup - create database
|
|
mysql_db:
|
|
name: "{{ item }}"
|
|
state: present
|
|
login_unix_socket: '{{ mysql_socket }}'
|
|
loop:
|
|
- foo
|
|
- bar
|
|
|
|
- name: Copy SQL scripts to remote
|
|
copy:
|
|
src: "{{ item }}"
|
|
dest: "{{ remote_tmp_dir }}/{{ item | basename }}"
|
|
with_items:
|
|
- create-function.sql
|
|
- create-procedure.sql
|
|
|
|
- name: Create function for test
|
|
shell: "mysql < {{ remote_tmp_dir }}/create-function.sql"
|
|
|
|
- name: Create procedure for test
|
|
shell: "mysql < {{ remote_tmp_dir }}/create-procedure.sql"
|
|
|
|
- name: Create user with FUNCTION and PROCEDURE privileges
|
|
mysql_user:
|
|
name: '{{ user_name_2 }}'
|
|
password: '{{ user_password_2 }}'
|
|
state: present
|
|
priv: 'FUNCTION foo.function:EXECUTE/foo.*:SELECT/PROCEDURE bar.procedure:EXECUTE'
|
|
login_unix_socket: '{{ mysql_socket }}'
|
|
register: result
|
|
|
|
- name: Assert Create user with FUNCTION and PROCEDURE privileges
|
|
assert:
|
|
that:
|
|
- result is success
|
|
- result is changed
|
|
|
|
- name: Create user with FUNCTION and PROCEDURE privileges - Idempotent check
|
|
mysql_user:
|
|
name: '{{ user_name_2 }}'
|
|
password: '{{ user_password_2 }}'
|
|
state: present
|
|
priv: 'FUNCTION foo.function:EXECUTE/foo.*:SELECT/PROCEDURE bar.procedure:EXECUTE'
|
|
login_unix_socket: '{{ mysql_socket }}'
|
|
register: result
|
|
|
|
- name: Assert Create user with FUNCTION and PROCEDURE privileges
|
|
assert:
|
|
that:
|
|
- result is success
|
|
- result is not changed
|
|
|
|
- name: Remove user
|
|
mysql_user:
|
|
name: '{{ user_name_2 }}'
|
|
state: absent
|
|
login_unix_socket: '{{ mysql_socket }}'
|
|
|
|
- name: Issue test teardown - cleanup databases
|
|
mysql_db:
|
|
name: "{{ item }}"
|
|
state: absent
|
|
login_unix_socket: '{{ mysql_socket }}'
|
|
loop:
|
|
- foo
|
|
- bar
|