Merge pull request #362 from t-woerner/extended_test_users

tests/user/test_users*.yml: Use extended dynamic users.json
This commit is contained in:
Rafael Guterres Jeffman
2020-08-26 10:15:20 -03:00
committed by GitHub
9 changed files with 36 additions and 8021 deletions

View File

@@ -2,7 +2,7 @@
## Before starting ## Before starting
In order to run ansible-freeipa tests you will need to have `ansible` and `pytest` installed on your machine. We'll call this local machine `controller`. In order to run ansible-freeipa tests you will need to have `ansible`, `pytest` and `jmespath` installed on your machine. We'll call this local machine `controller`. `jmespath` is needed for the `json_query` filter.
You will also need to have a remote host with freeipa server installed and configured. We'll call this remote host `ipaserver`. You will also need to have a remote host with freeipa server installed and configured. We'll call this remote host `ipaserver`.

View File

@@ -31,6 +31,7 @@ jobs:
pip install \ pip install \
"molecule[docker]>=3" \ "molecule[docker]>=3" \
"ansible${{ parameters.ansible_version }}" \ "ansible${{ parameters.ansible_version }}" \
jmespath \
pytest \ pytest \
pytest-split-tests pytest-split-tests
displayName: Install dependencies displayName: Install dependencies

View File

@@ -0,0 +1,13 @@
---
- name: Create users.json
hosts: localhost
tasks:
- name: Check if users.json exists
stat:
path: users.json
register: register_stat_users
- name: Create users.json
command: /bin/bash users.sh 500
when: not register_stat_users.stat.exists

View File

@@ -1,16 +1,19 @@
--- ---
- name: Include create_users_json.yml
import_playbook: create_users_json.yml
- name: Test users absent - name: Test users absent
hosts: ipaserver hosts: ipaserver
become: true become: true
gather_facts: false gather_facts: false
tasks: tasks:
- name: Include users_absent.json - name: Include users.json
include_vars: include_vars:
file: users_absent.json file: users.json
- name: Users absent - name: Users absent len:{{ users | length }}
ipauser: ipauser:
ipaadmin_password: SomeADMINpassword ipaadmin_password: SomeADMINpassword
users: "{{ users }}" users: "{{ users | json_query('[*].{name: name}') }}"
state: absent state: absent

View File

@@ -1,15 +1,18 @@
--- ---
- name: Include create_users_json.yml
import_playbook: create_users_json.yml
- name: Test users present - name: Test users present
hosts: ipaserver hosts: ipaserver
become: true become: true
gather_facts: false gather_facts: false
tasks: tasks:
- name: Include users_present.json - name: Include users.json
include_vars: include_vars:
file: users_present.json file: users.json
- name: Users present - name: Users present len:{{ users | length }}
ipauser: ipauser:
ipaadmin_password: SomeADMINpassword ipaadmin_password: SomeADMINpassword
users: "{{ users }}" users: "{{ users }}"

View File

@@ -7,9 +7,9 @@
vars: vars:
slice_size: 500 slice_size: 500
tasks: tasks:
- name: Include users_present.json - name: Include users.json
include_vars: include_vars:
file: users_present.json file: users.json
- debug: - debug:
msg: "{{ users | length }}" msg: "{{ users | length }}"
- name: Users present - name: Users present

View File

@@ -1,7 +1,8 @@
#!/bin/bash #!/bin/bash
NUM=1000 NUM=${1-1000}
FILE="users_present.json" FILE="users.json"
date=$(date --date='+2 years' "+%Y-%m-%d %H:%M:%S")
echo "{" > $FILE echo "{" > $FILE
@@ -11,7 +12,9 @@ for i in $(seq 1 $NUM); do
echo " {" >> $FILE echo " {" >> $FILE
echo " \"name\": \"user$i\"," >> $FILE echo " \"name\": \"user$i\"," >> $FILE
echo " \"first\": \"First $i\"," >> $FILE echo " \"first\": \"First $i\"," >> $FILE
echo " \"last\": \"Last $i\"" >> $FILE echo " \"last\": \"Last $i\"," >> $FILE
echo " \"password\": \"user${i}PW\"," >> $FILE
echo " \"passwordexpiration\": \"$date\"" >> $FILE
if [ $i -lt $NUM ]; then if [ $i -lt $NUM ]; then
echo " }," >> $FILE echo " }," >> $FILE
else else

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff