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:
parent
47d8d8c36e
commit
1f1402ea68
6 changed files with 124 additions and 0 deletions
5
test/integration/targets/influxdb_user/aliases
Normal file
5
test/integration/targets/influxdb_user/aliases
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
destructive
|
||||||
|
posix/ci/group1
|
||||||
|
skip/osx
|
||||||
|
skip/freebsd
|
||||||
|
skip/rhel
|
2
test/integration/targets/influxdb_user/meta/main.yml
Normal file
2
test/integration/targets/influxdb_user/meta/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
dependencies:
|
||||||
|
- setup_influxdb
|
4
test/integration/targets/influxdb_user/tasks/main.yml
Normal file
4
test/integration/targets/influxdb_user/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- include: tests.yml
|
||||||
|
when: ansible_distribution == 'Ubuntu' and ansible_distribution_release == 'trusty'
|
83
test/integration/targets/influxdb_user/tasks/tests.yml
Normal file
83
test/integration/targets/influxdb_user/tasks/tests.yml
Normal 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
|
4
test/integration/targets/setup_influxdb/tasks/main.yml
Normal file
4
test/integration/targets/setup_influxdb/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- include: setup.yml
|
||||||
|
when: ansible_distribution == 'Ubuntu' and ansible_distribution_release == 'trusty'
|
26
test/integration/targets/setup_influxdb/tasks/setup.yml
Normal file
26
test/integration/targets/setup_influxdb/tasks/setup.yml
Normal 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
|
Loading…
Reference in a new issue