mirror of https://github.com/ansible/ansible.git
postgresql_lang module: fixed doc formatting, added aliases, pg_utils, added missing CI tests (#54672)
* postgresql_lang: fixed doc * postgresql_lang: add pg_utils * postgresql_lang: added return value - queries * postgresql_lang: added CI tests * postgresql_lang: restricted CI using CentOS * postgresql_lang: fixed typos in CI commentspull/54676/head
parent
2176b53a55
commit
48ec8d13a0
@ -0,0 +1,233 @@
|
||||
# Copyright: (c) 2019, Andrew Klychkov (@Andersson007) <aaklychkov@mail.ru>
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
# Preparation for tests:
|
||||
- name: postgresql_lang - install lang plperl
|
||||
become: yes
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
with_items:
|
||||
- postgresql-plperl
|
||||
- postgresql-plpython
|
||||
|
||||
###############
|
||||
# Do main tests
|
||||
#
|
||||
|
||||
# Create language in check_mode:
|
||||
- name: postgresql_lang - create plperl in check_mode
|
||||
become_user: "{{ pg_user }}"
|
||||
become: yes
|
||||
postgresql_lang:
|
||||
db: postgres
|
||||
login_user: "{{ pg_user }}"
|
||||
name: plperl
|
||||
register: result
|
||||
ignore_errors: yes
|
||||
check_mode: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result.changed == true
|
||||
- result.queries == []
|
||||
|
||||
- name: postgresql_lang - check that lang doesn't exist after previous step, rowcount must be 0
|
||||
become_user: "{{ pg_user }}"
|
||||
become: yes
|
||||
postgresql_query:
|
||||
db: postgres
|
||||
login_user: "{{ pg_user }}"
|
||||
query: "SELECT 1 FROM pg_language WHERE lanname = 'plperl'"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result.rowcount == 0
|
||||
|
||||
# Create language:
|
||||
- name: postgresql_lang - create plperl
|
||||
become_user: "{{ pg_user }}"
|
||||
become: yes
|
||||
postgresql_lang:
|
||||
db: postgres
|
||||
login_user: "{{ pg_user }}"
|
||||
name: plperl
|
||||
register: result
|
||||
ignore_errors: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result.changed == true
|
||||
- result.queries == ['CREATE LANGUAGE "plperl"']
|
||||
|
||||
- name: postgresql_lang - check that lang exists after previous step
|
||||
become_user: "{{ pg_user }}"
|
||||
become: yes
|
||||
postgresql_query:
|
||||
db: postgres
|
||||
login_user: "{{ pg_user }}"
|
||||
query: "SELECT 1 FROM pg_language WHERE lanname = 'plperl'"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result.rowcount == 1
|
||||
|
||||
# Drop language in check_mode:
|
||||
- name: postgresql_lang - drop plperl in check_mode
|
||||
become_user: "{{ pg_user }}"
|
||||
become: yes
|
||||
postgresql_lang:
|
||||
db: postgres
|
||||
login_user: "{{ pg_user }}"
|
||||
name: plperl
|
||||
state: absent
|
||||
register: result
|
||||
ignore_errors: yes
|
||||
check_mode: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result.changed == true
|
||||
- result.queries == []
|
||||
|
||||
- name: postgresql_lang - check that lang exists after previous step, rowcount must be 1
|
||||
become_user: "{{ pg_user }}"
|
||||
become: yes
|
||||
postgresql_query:
|
||||
db: postgres
|
||||
login_user: "{{ pg_user }}"
|
||||
query: "SELECT 1 FROM pg_language WHERE lanname = 'plperl'"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result.rowcount == 1
|
||||
|
||||
# Drop language:
|
||||
- name: postgresql_lang - drop plperl
|
||||
become_user: "{{ pg_user }}"
|
||||
become: yes
|
||||
postgresql_lang:
|
||||
db: postgres
|
||||
login_user: "{{ pg_user }}"
|
||||
name: plperl
|
||||
state: absent
|
||||
register: result
|
||||
ignore_errors: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result.changed == true
|
||||
- result.queries == ['DROP LANGUAGE "plperl"']
|
||||
|
||||
- name: postgresql_lang - check that lang doesn't exist after previous step, rowcount must be 0
|
||||
become_user: "{{ pg_user }}"
|
||||
become: yes
|
||||
postgresql_query:
|
||||
db: postgres
|
||||
login_user: "{{ pg_user }}"
|
||||
query: "SELECT 1 FROM pg_language WHERE lanname = 'plperl'"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result.rowcount == 0
|
||||
|
||||
# Check fail_on_drop yes
|
||||
- name: postgresql_lang - drop c language to check fail_on_drop yes
|
||||
become_user: "{{ pg_user }}"
|
||||
become: yes
|
||||
postgresql_lang:
|
||||
db: postgres
|
||||
login_user: "{{ pg_user }}"
|
||||
name: c
|
||||
state: absent
|
||||
fail_on_drop: yes
|
||||
register: result
|
||||
ignore_errors: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result.failed == true
|
||||
|
||||
# Check fail_on_drop no
|
||||
- name: postgresql_lang - drop c language to check fail_on_drop no
|
||||
become_user: "{{ pg_user }}"
|
||||
become: yes
|
||||
postgresql_lang:
|
||||
db: postgres
|
||||
login_user: "{{ pg_user }}"
|
||||
name: c
|
||||
state: absent
|
||||
fail_on_drop: no
|
||||
register: result
|
||||
ignore_errors: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result.failed == false
|
||||
|
||||
# Create trusted language:
|
||||
- name: postgresql_lang - create plpythonu
|
||||
become_user: "{{ pg_user }}"
|
||||
become: yes
|
||||
postgresql_lang:
|
||||
db: postgres
|
||||
login_user: "{{ pg_user }}"
|
||||
name: plpythonu
|
||||
trust: yes
|
||||
force_trust: yes
|
||||
register: result
|
||||
ignore_errors: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result.changed == true
|
||||
- result.queries == ['CREATE TRUSTED LANGUAGE "plpythonu"', "UPDATE pg_language SET lanpltrusted = 'True' WHERE lanname = 'plpythonu'"]
|
||||
|
||||
- name: postgresql_lang - check that lang exists and it's trusted after previous step
|
||||
become_user: "{{ pg_user }}"
|
||||
become: yes
|
||||
postgresql_query:
|
||||
db: postgres
|
||||
login_user: "{{ pg_user }}"
|
||||
query: "SELECT 1 FROM pg_language WHERE lanname = 'plpythonu' AND lanpltrusted = 't'"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result.rowcount == 1
|
||||
|
||||
# Drop language cascade, tests of aliases:
|
||||
- name: postgresql_lang - drop plpythonu cascade
|
||||
become_user: "{{ pg_user }}"
|
||||
become: yes
|
||||
postgresql_lang:
|
||||
login_db: postgres
|
||||
login_user: "{{ pg_user }}"
|
||||
login_port: 5432
|
||||
lang: plpythonu
|
||||
state: absent
|
||||
cascade: yes
|
||||
register: result
|
||||
ignore_errors: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result.changed == true
|
||||
- result.queries == ['DROP LANGUAGE "plpythonu" CASCADE']
|
||||
|
||||
- name: postgresql_lang - check that lang doesn't exist after previous step, rowcount must be 0
|
||||
become_user: "{{ pg_user }}"
|
||||
become: yes
|
||||
postgresql_query:
|
||||
db: postgres
|
||||
login_user: "{{ pg_user }}"
|
||||
query: "SELECT 1 FROM pg_language WHERE lanname = 'plpythonu'"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result.rowcount == 0
|
Loading…
Reference in New Issue