--- - 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: Create function for test shell: "mysql < {{ role_path }}/files/create-function.sql" - name: Create procedure for test shell: "mysql < {{ role_path }}/files/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