mirror of https://github.com/ansible/ansible.git
Fix iam_password_policy integration tests (#60930)
* iam_password_policy: (integration tests) Use module defaults for AWS connection details * iam_password_policy: (integration tests) Ensure the policy is removed when tests fail * iam_password_policy: (integration tests) Add regression test for #59102 * iam_password_policy: Only return changed when the policy changes. * iam_password_policy: PasswordReusePrevention must be omitted to remove/set to 0 * #60930 add changelog * Update hacking AWS security policy to allow testing of Password Policy Managementpull/61177/head
parent
35ed1fbe8d
commit
70777020c4
@ -0,0 +1,3 @@
|
|||||||
|
bugfixes:
|
||||||
|
- iam_password_policy now only returns changed when the policy changes
|
||||||
|
- iam_password_policy no longer throws errors when you don't set pw_reuse_prevent
|
||||||
@ -1,90 +1,105 @@
|
|||||||
- name: set connection information for all tasks
|
- module_defaults:
|
||||||
set_fact:
|
group/aws:
|
||||||
aws_connection_info: &aws_connection_info
|
|
||||||
aws_access_key: "{{ aws_access_key }}"
|
aws_access_key: "{{ aws_access_key }}"
|
||||||
aws_secret_key: "{{ aws_secret_key }}"
|
aws_secret_key: "{{ aws_secret_key }}"
|
||||||
security_token: "{{ security_token }}"
|
security_token: "{{ security_token | default(omit) }}"
|
||||||
region: "{{ aws_region }}"
|
region: "{{ aws_region }}"
|
||||||
no_log: true
|
block:
|
||||||
|
- name: set iam password policy
|
||||||
|
iam_password_policy:
|
||||||
|
state: present
|
||||||
|
min_pw_length: 8
|
||||||
|
require_symbols: false
|
||||||
|
require_numbers: true
|
||||||
|
require_uppercase: true
|
||||||
|
require_lowercase: true
|
||||||
|
allow_pw_change: true
|
||||||
|
pw_max_age: 60
|
||||||
|
pw_reuse_prevent: 5
|
||||||
|
pw_expire: false
|
||||||
|
register: result
|
||||||
|
|
||||||
- name: set iam password policy
|
- name: assert that changes were made
|
||||||
iam_password_policy:
|
assert:
|
||||||
<<: *aws_connection_info
|
that:
|
||||||
state: present
|
- result.changed
|
||||||
min_pw_length: 8
|
|
||||||
require_symbols: false
|
|
||||||
require_numbers: true
|
|
||||||
require_uppercase: true
|
|
||||||
require_lowercase: true
|
|
||||||
allow_pw_change: true
|
|
||||||
pw_max_age: 60
|
|
||||||
pw_reuse_prevent: 5
|
|
||||||
pw_expire: false
|
|
||||||
register: result
|
|
||||||
|
|
||||||
- name: assert that changes were made
|
- name: verify iam password policy has been created
|
||||||
assert:
|
iam_password_policy:
|
||||||
that:
|
state: present
|
||||||
- result.changed
|
min_pw_length: 8
|
||||||
|
require_symbols: false
|
||||||
|
require_numbers: true
|
||||||
|
require_uppercase: true
|
||||||
|
require_lowercase: true
|
||||||
|
allow_pw_change: true
|
||||||
|
pw_max_age: 60
|
||||||
|
pw_reuse_prevent: 5
|
||||||
|
pw_expire: false
|
||||||
|
register: result
|
||||||
|
|
||||||
- name: verify iam password policy has been created
|
- name: assert that no changes were made
|
||||||
iam_password_policy:
|
assert:
|
||||||
<<: *aws_connection_info
|
that:
|
||||||
state: present
|
- not result.changed
|
||||||
min_pw_length: 8
|
|
||||||
require_symbols: false
|
|
||||||
require_numbers: true
|
|
||||||
require_uppercase: true
|
|
||||||
require_lowercase: true
|
|
||||||
allow_pw_change: true
|
|
||||||
pw_max_age: 60
|
|
||||||
pw_reuse_prevent: 5
|
|
||||||
pw_expire: false
|
|
||||||
register: result
|
|
||||||
|
|
||||||
- name: assert that no changes were made
|
- name: update iam password policy with different settings
|
||||||
assert:
|
iam_password_policy:
|
||||||
that:
|
state: present
|
||||||
- not result.changed
|
min_pw_length: 15
|
||||||
|
require_symbols: true
|
||||||
|
require_numbers: true
|
||||||
|
require_uppercase: true
|
||||||
|
require_lowercase: true
|
||||||
|
allow_pw_change: true
|
||||||
|
pw_max_age: 30
|
||||||
|
pw_reuse_prevent: 10
|
||||||
|
pw_expire: true
|
||||||
|
register: result
|
||||||
|
|
||||||
- name: update iam password policy
|
- name: assert that updates were made
|
||||||
iam_password_policy:
|
assert:
|
||||||
<<: *aws_connection_info
|
that:
|
||||||
state: present
|
- result.changed
|
||||||
min_pw_length: 15
|
|
||||||
require_symbols: true
|
|
||||||
require_numbers: true
|
|
||||||
require_uppercase: true
|
|
||||||
require_lowercase: true
|
|
||||||
allow_pw_change: true
|
|
||||||
pw_max_age: 30
|
|
||||||
pw_reuse_prevent: 10
|
|
||||||
pw_expire: true
|
|
||||||
register: result
|
|
||||||
|
|
||||||
- name: assert that updates were made
|
# Test for regression of #59102
|
||||||
assert:
|
- name: update iam password policy without expiry
|
||||||
that:
|
iam_password_policy:
|
||||||
- result.changed
|
state: present
|
||||||
|
min_pw_length: 15
|
||||||
|
require_symbols: true
|
||||||
|
require_numbers: true
|
||||||
|
require_uppercase: true
|
||||||
|
require_lowercase: true
|
||||||
|
allow_pw_change: true
|
||||||
|
register: result
|
||||||
|
|
||||||
- name: remove iam password policy
|
- name: assert that changes were made
|
||||||
iam_password_policy:
|
assert:
|
||||||
<<: *aws_connection_info
|
that:
|
||||||
state: absent
|
- result.changed
|
||||||
register: result
|
|
||||||
|
|
||||||
- name: assert password policy has been removed
|
- name: remove iam password policy
|
||||||
assert:
|
iam_password_policy:
|
||||||
that:
|
state: absent
|
||||||
- result.changed
|
register: result
|
||||||
|
|
||||||
- name: verify password policy has been removed
|
- name: assert password policy has been removed
|
||||||
iam_password_policy:
|
assert:
|
||||||
<<: *aws_connection_info
|
that:
|
||||||
state: absent
|
- result.changed
|
||||||
register: result
|
|
||||||
|
|
||||||
- name: assert no changes were made
|
- name: verify password policy has been removed
|
||||||
assert:
|
iam_password_policy:
|
||||||
that:
|
state: absent
|
||||||
- not result.changed
|
register: result
|
||||||
|
|
||||||
|
- name: assert no changes were made
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- not result.changed
|
||||||
|
always:
|
||||||
|
- name: remove iam password policy
|
||||||
|
iam_password_policy:
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
|||||||
Loading…
Reference in New Issue