mysql_query, mysql_user: simple refactoring of type checks (#58)

* mysql_query: simple refactoring of query type check

* do the same for mysql_user

* Improve integration test coverage
This commit is contained in:
Andrew Klychkov 2020-11-06 13:12:07 +03:00 committed by GitHub
parent b2bde48020
commit 2dcbd7846f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 24 additions and 2 deletions

View file

@ -0,0 +1,3 @@
minor_changes:
- mysql_query - simple refactoring of query type check (https://github.com/ansible-collections/community.mysql/pull/58).
- mysql_user - simple refactoring of priv type check (https://github.com/ansible-collections/community.mysql/pull/58).

View file

@ -149,7 +149,7 @@ def main():
config_file = module.params['config_file']
query = module.params["query"]
if not isinstance(query, str) and not isinstance(query, list):
if not isinstance(query, (str, list)):
module.fail_json(msg="the query option value must be a string or list, passed %s" % type(query))
if isinstance(query, str):

View file

@ -1044,7 +1044,7 @@ def main():
plugin_hash_string = module.params["plugin_hash_string"]
plugin_auth_string = module.params["plugin_auth_string"]
resource_limits = module.params["resource_limits"]
if priv and not (isinstance(priv, str) or isinstance(priv, dict)):
if priv and not isinstance(priv, (str, dict)):
module.fail_json(msg="priv parameter must be str or dict but %s was passed" % type(priv))
if priv and isinstance(priv, dict):

View file

@ -192,6 +192,25 @@
- "'%db' in result.stdout"
- "'SELECT' in result.stdout"
- name: test priv type check, must fail
mysql_user:
<<: *mysql_params
name: '{{ user_name_1 }}'
priv:
- unsuitable
- type
append_privs: yes
host_all: yes
password: '{{ user_password_1 }}'
register: result
ignore_errors: yes
- name: check fail message
assert:
that:
- result is failed
- result.msg is search('priv parameter must be str or dict')
- name: change user access to database via wildcard
mysql_user:
<<: *mysql_params