community.general/tests/integration/targets/keycloak_user/tasks/main.yml

115 lines
3.2 KiB
YAML

# Copyright (c) 2022, Dušan Marković (@bratwurzt)
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
- name: Create realm
community.general.keycloak_realm:
auth_keycloak_url: "{{ url }}"
auth_realm: "{{ admin_realm }}"
auth_username: "{{ admin_user }}"
auth_password: "{{ admin_password }}"
id: "{{ realm }}"
realm: "{{ realm }}"
state: present
- name: Create new realm role
community.general.keycloak_role:
auth_keycloak_url: "{{ url }}"
auth_realm: "{{ admin_realm }}"
auth_username: "{{ admin_user }}"
auth_password: "{{ admin_password }}"
realm: "{{ realm }}"
name: "{{ role }}"
description: "{{ description_1 }}"
state: present
- name: Create client
community.general.keycloak_client:
auth_keycloak_url: "{{ url }}"
auth_realm: "{{ admin_realm }}"
auth_username: "{{ admin_user }}"
auth_password: "{{ admin_password }}"
realm: "{{ realm }}"
client_id: "{{ client_id }}"
service_accounts_enabled: true
state: present
register: client
- name: Create new client role
community.general.keycloak_role:
auth_keycloak_url: "{{ url }}"
auth_realm: "{{ admin_realm }}"
auth_username: "{{ admin_user }}"
auth_password: "{{ admin_password }}"
realm: "{{ realm }}"
client_id: "{{ client_id }}"
name: "{{ keycloak_client_role }}"
description: "{{ description_1 }}"
state: present
- name: Create new groups
community.general.keycloak_group:
auth_keycloak_url: "{{ url }}"
auth_realm: "{{ admin_realm }}"
auth_username: "{{ admin_user }}"
auth_password: "{{ admin_password }}"
realm: "{{ realm }}"
name: "{{ item.name }}"
state: present
with_items: "{{ keycloak_user_groups }}"
- name: Create user
community.general.keycloak_user:
auth_keycloak_url: "{{ url }}"
auth_username: "{{ admin_user }}"
auth_password: "{{ admin_password }}"
auth_realm: "{{ admin_realm }}"
username: "{{ keycloak_username }}"
realm: "{{ realm }}"
first_name: Ceciestes
last_name: Untestes
email: ceciestuntestes@test.com
groups: "{{ keycloak_user_groups }}"
attributes: "{{ keycloak_user_attributes }}"
state: present
register: create_result
- name: debug
debug:
var: create_result
- name: Assert user is created
assert:
that:
- create_result.changed
- create_result.end_state.username == 'test'
- create_result.end_state.attributes | length == 3
- create_result.end_state.groups | length == 2
- name: Delete User
community.general.keycloak_user:
auth_keycloak_url: "{{ url }}"
auth_username: "{{ admin_user }}"
auth_password: "{{ admin_password }}"
auth_realm: "{{ admin_realm }}"
username: "{{ keycloak_username }}"
realm: "{{ realm }}"
first_name: Ceciestes
last_name: Untestes
email: ceciestuntestes@test.com
groups: "{{ keycloak_user_groups }}"
attributes: "{{ keycloak_user_attributes }}"
state: absent
register: delete_result
- name: debug
debug:
var: delete_result
- name: Assert user is deleted
assert:
that:
- delete_result.changed
- delete_result.end_state | length == 0