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