--- - hosts: localhost gather_facts: False vars_files: - vars.yaml tasks: - name: list initial users odl_usermod: state: list register: init_state_users - name: ensure test user does not exist assert: that: - "init_state_users != None" - name: ensure no test user via API uri: url: "http://localhost:8181/auth/v1/users/{{ test_user_username}}@sdn" url_username: admin url_password: admin status_code: 404 register: verify_no_test_user_api until: verify_no_test_user_api.status == 404 retries: 5 delay: 5 - name: create odl user odl_usermod: username: "{{ test_user_username }}" password: "{{ test_user_password }}" state: present - name: list users after creation odl_usermod: state: list register: users_after_create - name: ensure user creation assert: that: - "test_user_username != None" - "test_user_username in users_after_create.msg" - name: ensure test user creation via API uri: url: "http://localhost:8181/auth/v1/users/{{ test_user_username}}@sdn" url_username: admin url_password: admin status_code: 200 register: verify_test_user_creation_api until: verify_test_user_creation_api.status == 200 retries: 5 delay: 5 - name: delete odl user odl_usermod: username: "{{ test_user_username }}" state: absent - name: list users after deletion odl_usermod: state: list register: users_after_delete - name: ensure user deletion assert: that: - "users_after_delete != None" - "'admin' in users_after_delete.msg" - name: ensure test user deletion via API uri: url: "http://localhost:8181/auth/v1/users/{{ test_user_username}}@sdn" url_username: admin url_password: admin status_code: 404 register: verify_test_user_deletion_api until: verify_test_user_deletion_api.status == 404 retries: 5 delay: 5 - name: create user without username or password odl_usermod: state: present register: create_without_credentials ignore_errors: yes - name: assert user creation failed without passing the credentials assert: that: - "create_without_credentials.msg == 'Username or password not provided'" - name: delete odl user without passing username odl_usermod: state: absent register: delete_without_username ignore_errors: yes - name: assert user deletion failed without passing username assert: that: - "delete_without_username.msg == 'Username not provided'"