Integration tests for influxdb_user module (#35315)

* Added integration tests for influxdb_user
* Tests for idempotency checking and check mode
This commit is contained in:
Artem Zinenko 2018-01-27 17:54:34 +05:00 committed by Abhijeet Kasurde
parent 47d8d8c36e
commit 1f1402ea68
6 changed files with 124 additions and 0 deletions

View file

@ -0,0 +1,5 @@
destructive
posix/ci/group1
skip/osx
skip/freebsd
skip/rhel

View file

@ -0,0 +1,2 @@
dependencies:
- setup_influxdb

View file

@ -0,0 +1,4 @@
---
- include: tests.yml
when: ansible_distribution == 'Ubuntu' and ansible_distribution_release == 'trusty'

View file

@ -0,0 +1,83 @@
---
- name: Install influxdb python module
pip: name=influxdb
- name: Test add admin user in check mode
block:
- name: Add admin user
influxdb_user: user_name=admin user_password=admin admin=yes
check_mode: true
register: add_admin_user
- name: Check that admin user adding succeeds with a change
assert:
that:
- add_admin_user.changed == true
- name: Test add admin user
block:
- name: Add admin user
influxdb_user: user_name=admin user_password=admin admin=yes
register: add_admin_user
- name: Check that admin user adding succeeds with a change
assert:
that:
- add_admin_user.changed == true
- name: Test add admin user idempotence
block:
- name: Add admin user
influxdb_user: user_name=admin user_password=admin admin=yes
register: add_admin_user
- name: Check that admin user adding succeeds without a change
assert:
that:
- add_admin_user.changed == false
- name: Enable authentication and restart service
block:
- name: Enable authentication
lineinfile:
path: /etc/influxdb/influxdb.conf
regexp: 'auth-enabled ='
line: ' auth-enabled = true'
- name: Restart InfluxDB service
service: name=influxdb state=restarted
- name: Test add user in check mode when authentication enabled
block:
- name: Add user
influxdb_user: user_name=user user_password=user login_username=admin login_password=admin
check_mode: true
register: add_user_with_auth_enabled
- name: Check that adding user with enabled authentication succeeds with a change
assert:
that:
- add_user_with_auth_enabled.changed == true
- name: Test add user when authentication enabled
block:
- name: Add user
influxdb_user: user_name=user user_password=user login_username=admin login_password=admin
register: add_user_with_auth_enabled
- name: Check that adding user with enabled authentication succeeds with a change
assert:
that:
- add_user_with_auth_enabled.changed == true
- name: Test add user when authentication enabled idempotence
block:
- name: Add the same user
influxdb_user: user_name=user user_password=user login_username=admin login_password=admin
register: same_user
- name: Check that adding same user succeeds without a change
assert:
that:
- same_user.changed == false

View file

@ -0,0 +1,4 @@
---
- include: setup.yml
when: ansible_distribution == 'Ubuntu' and ansible_distribution_release == 'trusty'

View file

@ -0,0 +1,26 @@
---
- name: Install https transport for apt and ca-certificates
apt: name={{ item }} state=latest force=yes
with_items:
- apt-transport-https
- ca-certificates
- name: Install apt_key dependencies
pip: name={{ item }}
with_items:
- pyOpenSSL
- ndg-httpsclient
- pyasn1
- name: Add InfluxDB public GPG key
apt_key: url=https://repos.influxdata.com/influxdb.key state=present
- name: Add InfluxDB repository
apt_repository: repo='deb https://repos.influxdata.com/ubuntu trusty stable' filename='influxdb' state=present update_cache=yes
- name: Install InfluxDB
apt: name=influxdb state=latest
- name: Start InfluxDB service
service: name=influxdb state=started