Fix revoke only grant (#503)

* fix

* test

* changelog

(cherry picked from commit b34c23d07d)
This commit is contained in:
Markus Bergholz 2023-02-08 09:24:35 +01:00 committed by patchback[bot]
commit f2efed4b84
4 changed files with 73 additions and 9 deletions

View file

@ -289,3 +289,5 @@
# https://github.com/ansible-collections/community.mysql/issues/231
- include: test_user_grants_with_roles_applied.yml
- include: revoke_only_grant.yml

View file

@ -0,0 +1,58 @@
---
- 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: Drop mysql user if exists
mysql_user:
<<: *mysql_params
name: '{{ user_name_1 }}'
state: absent
ignore_errors: true
- name: create user with two grants
mysql_user:
<<: *mysql_params
name: "{{ user_name_1 }}"
password: "{{ user_password_1 }}"
update_password: on_create
priv: '*.*:SELECT,GRANT'
- name: user must have only on priv, grant priv must be dropped
register: result
mysql_user:
<<: *mysql_params
name: "{{ user_name_1 }}"
password: "{{ user_password_1 }}"
update_password: on_create
priv: '*.*:SELECT'
- assert:
that:
- result is not failed
- result is changed
- name: immutable - user must have only on priv, grant priv must be dropped
register: result
mysql_user:
<<: *mysql_params
name: "{{ user_name_1 }}"
password: "{{ user_password_1 }}"
update_password: on_create
priv: '*.*:SELECT'
- assert:
that:
- result is not failed
- result is not changed
always:
- name: drop user
mysql_user:
<<: *mysql_params
name: '{{ user_name_1 }}'
state: absent
ignore_errors: true