mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-03-26 21:33:05 +00:00
Merge pull request #1281 from t-woerner/multi_user_test_generate_test_data
tests/user/test_users_present_*: Use new generate_test_data.yml
This commit is contained in:
@@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Create users.json
|
|
||||||
hosts: localhost
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
- name: Check if users.json exists
|
|
||||||
ansible.builtin.stat:
|
|
||||||
path: users.json
|
|
||||||
register: register_stat_users
|
|
||||||
|
|
||||||
- name: Create users.json
|
|
||||||
ansible.builtin.command: /bin/bash users.sh 500
|
|
||||||
when: not register_stat_users.stat.exists
|
|
||||||
48
tests/user/generate_test_data.yml
Normal file
48
tests/user/generate_test_data.yml
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# Generate lists for users
|
||||||
|
---
|
||||||
|
- name: Create present services.json data
|
||||||
|
ansible.builtin.shell: |
|
||||||
|
date=$(date --date='+2 years' "+%Y-%m-%d %H:%M:%S")
|
||||||
|
echo "["
|
||||||
|
for i in $(seq -w 1 "{{ NUM }}"); do
|
||||||
|
echo " {"
|
||||||
|
echo " \"name\": \"testuser_${i}\","
|
||||||
|
echo " \"first\": \"First ${i}\","
|
||||||
|
echo " \"last\": \"Last ${i}\","
|
||||||
|
echo " \"password\": \"user${i}PW\","
|
||||||
|
echo " \"passwordexpiration\": \"${date}\""
|
||||||
|
if [ "$i" -lt "{{ NUM }}" ]; then
|
||||||
|
echo " },"
|
||||||
|
else
|
||||||
|
echo " }"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "]"
|
||||||
|
vars:
|
||||||
|
NUM: 500
|
||||||
|
register: command
|
||||||
|
|
||||||
|
- name: Set user_list
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
user_list: "{{ command.stdout | from_json }}"
|
||||||
|
|
||||||
|
- name: Create absent user.json data
|
||||||
|
ansible.builtin.shell: |
|
||||||
|
echo "["
|
||||||
|
for i in $(seq -w 1 "{{ NUM }}"); do
|
||||||
|
echo " {"
|
||||||
|
echo " \"name\": \"testuser_${i}\""
|
||||||
|
if [ "$i" -lt "{{ NUM }}" ]; then
|
||||||
|
echo " },"
|
||||||
|
else
|
||||||
|
echo " }"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "]"
|
||||||
|
vars:
|
||||||
|
NUM: 500
|
||||||
|
register: command
|
||||||
|
|
||||||
|
- name: Set user_absent_list
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
user_absent_list: "{{ command.stdout | from_json }}"
|
||||||
@@ -1,39 +1,38 @@
|
|||||||
---
|
---
|
||||||
- name: Include create_users_json.yml
|
|
||||||
ansible.builtin.import_playbook: create_users_json.yml
|
|
||||||
|
|
||||||
- name: Test users present and absent
|
- name: Test users present and absent
|
||||||
hosts: ipaserver
|
hosts: ipaserver
|
||||||
become: true
|
become: true
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Include users.json
|
- name: Include generate_test_data.yml
|
||||||
ansible.builtin.include_vars:
|
ansible.builtin.include_tasks: generate_test_data.yml
|
||||||
file: users.json # noqa missing-import
|
|
||||||
|
|
||||||
- name: Create dict with user names
|
- name: Size of user_list
|
||||||
ansible.builtin.set_fact:
|
ansible.builtin.debug:
|
||||||
user_names: "{{ user_names | default([]) + [{'name': item.name}] }}"
|
msg: "{{ user_list | length }}"
|
||||||
loop: "{{ users }}"
|
|
||||||
|
|
||||||
- name: Cleanup test users len:{{ users | length }}
|
- name: Size of user_absent_list
|
||||||
|
ansible.builtin.debug:
|
||||||
|
msg: "{{ user_absent_list | length }}"
|
||||||
|
|
||||||
|
- name: Cleanup test users
|
||||||
ipauser:
|
ipauser:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
users: "{{ user_names }}"
|
users: "{{ user_absent_list }}"
|
||||||
state: absent
|
state: absent
|
||||||
|
|
||||||
- name: Users present len:{{ users | length }}
|
- name: Users present
|
||||||
ipauser:
|
ipauser:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
users: "{{ users }}"
|
users: "{{ user_list }}"
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed or result.failed
|
failed_when: not result.changed or result.failed
|
||||||
|
|
||||||
- name: Users absent len:{{ users | length }}
|
- name: Users absent
|
||||||
ipauser:
|
ipauser:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
users: "{{ user_names }}"
|
users: "{{ user_absent_list }}"
|
||||||
state: absent
|
state: absent
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed or result.failed
|
failed_when: not result.changed or result.failed
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
---
|
---
|
||||||
- name: Include create_users_json.yml
|
|
||||||
ansible.builtin.import_playbook: create_users_json.yml
|
|
||||||
|
|
||||||
- name: Test users present and absent with slice
|
- name: Test users present and absent with slice
|
||||||
hosts: ipaserver
|
hosts: ipaserver
|
||||||
become: true
|
become: true
|
||||||
@@ -10,39 +7,37 @@
|
|||||||
vars:
|
vars:
|
||||||
slice_size: 100
|
slice_size: 100
|
||||||
tasks:
|
tasks:
|
||||||
- name: Include users.json
|
- name: Include generate_test_data.yml
|
||||||
ansible.builtin.include_vars:
|
ansible.builtin.include_tasks: generate_test_data.yml
|
||||||
file: users.json # noqa missing-import
|
|
||||||
|
|
||||||
- name: Create dict with user names
|
- name: Size of user_list
|
||||||
ansible.builtin.set_fact:
|
|
||||||
user_names: "{{ user_names | default([]) + [{'name': item.name}] }}"
|
|
||||||
loop: "{{ users }}"
|
|
||||||
|
|
||||||
- name: Size of users slice.
|
|
||||||
ansible.builtin.debug:
|
ansible.builtin.debug:
|
||||||
msg: "{{ users | length }}"
|
msg: "{{ user_list | length }}"
|
||||||
|
|
||||||
|
- name: Size of user_absent_list
|
||||||
|
ansible.builtin.debug:
|
||||||
|
msg: "{{ user_absent_list | length }}"
|
||||||
|
|
||||||
- name: Cleanup test users
|
- name: Cleanup test users
|
||||||
ipauser:
|
ipauser:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
users: "{{ user_names[item : item + slice_size] }}"
|
users: "{{ user_absent_list[item : item + slice_size] }}"
|
||||||
state: absent
|
state: absent
|
||||||
loop: "{{ range(0, user_names | length, slice_size) | list }}"
|
loop: "{{ range(0, user_absent_list | length, slice_size) | list }}"
|
||||||
|
|
||||||
- name: Users present
|
- name: Users present
|
||||||
ipauser:
|
ipauser:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
users: "{{ users[item : item + slice_size] }}"
|
users: "{{ user_list[item : item + slice_size] }}"
|
||||||
loop: "{{ range(0, users | length, slice_size) | list }}"
|
loop: "{{ range(0, user_list | length, slice_size) | list }}"
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed or result.failed
|
failed_when: not result.changed or result.failed
|
||||||
|
|
||||||
- name: Users absent
|
- name: Users absent
|
||||||
ipauser:
|
ipauser:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
users: "{{ user_names[item : item + slice_size] }}"
|
users: "{{ user_absent_list[item : item + slice_size] }}"
|
||||||
state: absent
|
state: absent
|
||||||
loop: "{{ range(0, user_names | length, slice_size) | list }}"
|
loop: "{{ range(0, user_absent_list | length, slice_size) | list }}"
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed or result.failed
|
failed_when: not result.changed or result.failed
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
#!/bin/bash -eu
|
|
||||||
|
|
||||||
NUM=${1-1000}
|
|
||||||
FILE="users.json"
|
|
||||||
date=$(date --date='+2 years' "+%Y-%m-%d %H:%M:%S")
|
|
||||||
|
|
||||||
echo "{" > "$FILE"
|
|
||||||
|
|
||||||
echo " \"users\": [" >> "$FILE"
|
|
||||||
|
|
||||||
for i in $(seq 1 "$NUM"); do
|
|
||||||
{
|
|
||||||
echo " {"
|
|
||||||
echo " \"name\": \"user$i\","
|
|
||||||
echo " \"first\": \"First $i\","
|
|
||||||
echo " \"last\": \"Last $i\","
|
|
||||||
echo " \"password\": \"user${i}PW\","
|
|
||||||
echo " \"passwordexpiration\": \"$date\""
|
|
||||||
} >> "$FILE"
|
|
||||||
if [ "$i" -lt "$NUM" ]; then
|
|
||||||
echo " }," >> "$FILE"
|
|
||||||
else
|
|
||||||
echo " }" >> "$FILE"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
echo " ]" >> "$FILE"
|
|
||||||
|
|
||||||
echo "}" >> "$FILE"
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
#!/bin/bash -eu
|
|
||||||
|
|
||||||
NUM=1000
|
|
||||||
FILE="users_absent.json"
|
|
||||||
|
|
||||||
echo "{" > "$FILE"
|
|
||||||
|
|
||||||
echo " \"users\": [" >> "$FILE"
|
|
||||||
|
|
||||||
for i in $(seq 1 "$NUM"); do
|
|
||||||
echo " {" >> "$FILE"
|
|
||||||
echo " \"name\": \"user$i\"," >> "$FILE"
|
|
||||||
if [ "$i" -lt "$NUM" ]; then
|
|
||||||
echo " }," >> "$FILE"
|
|
||||||
else
|
|
||||||
echo " }" >> "$FILE"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
echo " ]" >> "$FILE"
|
|
||||||
|
|
||||||
echo "}" >> "$FILE"
|
|
||||||
Reference in New Issue
Block a user