mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-03-26 21:33:05 +00:00
The file lookup is by default setting `rstrip=True` which could lead into a stripped new line. This is not happening always but resulted in failed tests sometimes with certificates pasted to the b64encode filter. For calls of lookup in the certificae tests `rstrip=False` has been added to make sure that this is not happening any more. Not in test_dnsrecord as lookup(..., rstrip=False) is adding a new line if there was not a new line and this is an issue for dnsrecord. The user and host tests have also been simplified to create the base64 encoded file in the beginning and use this file then later on in the tests without the need to use the b64encode filter. Ref: https://github.com/ansible/ansible/issues/57521#issuecomment-502238000
236 lines
6.6 KiB
YAML
236 lines
6.6 KiB
YAML
---
|
|
- name: Test user certmapdata
|
|
hosts: ipaserver
|
|
become: true
|
|
gather_facts: false
|
|
|
|
tasks:
|
|
- name: Generate self-signed certificates.
|
|
shell:
|
|
cmd: |
|
|
openssl req -x509 -newkey rsa:2048 -days 365 -nodes -keyout "private{{ item }}.key" -out "cert{{ item }}.pem" -subj '/CN=test'
|
|
openssl x509 -outform der -in "cert{{ item }}.pem" -out "cert{{ item }}.der"
|
|
base64 "cert{{ item }}.der" -w5000 > "cert{{ item }}.b64"
|
|
with_items: [1, 2, 3]
|
|
become: no
|
|
delegate_to: localhost
|
|
|
|
- name: User test absent
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
state: absent
|
|
|
|
- name: User test present
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
first: test
|
|
last: test
|
|
register: result
|
|
failed_when: not result.changed
|
|
|
|
- name: User test certmapdata members present
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
certmapdata:
|
|
- certificate: "{{ lookup('file', 'cert1.b64', rstrip=False) }}"
|
|
- certificate: "{{ lookup('file', 'cert2.b64', rstrip=False) }}"
|
|
- certificate: "{{ lookup('file', 'cert3.b64', rstrip=False) }}"
|
|
action: member
|
|
register: result
|
|
failed_when: not result.changed
|
|
|
|
- name: User test certmapdata members present again
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
certmapdata:
|
|
- certificate: "{{ lookup('file', 'cert1.b64', rstrip=False) }}"
|
|
- certificate: "{{ lookup('file', 'cert2.b64', rstrip=False) }}"
|
|
- certificate: "{{ lookup('file', 'cert3.b64', rstrip=False) }}"
|
|
action: member
|
|
register: result
|
|
failed_when: result.changed
|
|
|
|
- name: User test certmapdata members absent
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
certmapdata:
|
|
- certificate: "{{ lookup('file', 'cert1.b64', rstrip=False) }}"
|
|
- certificate: "{{ lookup('file', 'cert2.b64', rstrip=False) }}"
|
|
- certificate: "{{ lookup('file', 'cert3.b64', rstrip=False) }}"
|
|
action: member
|
|
state: absent
|
|
register: result
|
|
failed_when: not result.changed
|
|
|
|
- name: User test certmapdata members absent again
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
certmapdata:
|
|
- certificate: "{{ lookup('file', 'cert1.b64', rstrip=False) }}"
|
|
- certificate: "{{ lookup('file', 'cert2.b64', rstrip=False) }}"
|
|
- certificate: "{{ lookup('file', 'cert3.b64', rstrip=False) }}"
|
|
action: member
|
|
state: absent
|
|
register: result
|
|
failed_when: result.changed
|
|
|
|
- name: User test certmapdata members present
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
certmapdata:
|
|
- issuer: CN=issuer1
|
|
subject: CN=subject1
|
|
- issuer: CN=issuer2
|
|
subject: CN=subject2
|
|
- issuer: CN=issuer3
|
|
subject: CN=subject3
|
|
action: member
|
|
register: result
|
|
failed_when: not result.changed
|
|
|
|
- name: User test certmapdata members present again
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
certmapdata:
|
|
- issuer: CN=issuer1
|
|
subject: CN=subject1
|
|
- issuer: CN=issuer2
|
|
subject: CN=subject2
|
|
- issuer: CN=issuer3
|
|
subject: CN=subject3
|
|
action: member
|
|
register: result
|
|
failed_when: result.changed
|
|
|
|
- name: User test certmapdata members absent
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
certmapdata:
|
|
- issuer: CN=issuer1
|
|
subject: CN=subject1
|
|
- issuer: CN=issuer3
|
|
subject: CN=subject3
|
|
action: member
|
|
state: absent
|
|
register: result
|
|
failed_when: not result.changed
|
|
|
|
- name: User test certmapdata members absent again
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
certmapdata:
|
|
- issuer: CN=issuer1
|
|
subject: CN=subject1
|
|
- issuer: CN=issuer3
|
|
subject: CN=subject3
|
|
action: member
|
|
state: absent
|
|
register: result
|
|
failed_when: result.changed
|
|
|
|
- name: User test certmapdata members absent
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
certmapdata:
|
|
- issuer: CN=issuer2
|
|
subject: CN=subject2
|
|
action: member
|
|
state: absent
|
|
register: result
|
|
failed_when: not result.changed
|
|
|
|
- name: User test certmapdata members absent again
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
certmapdata:
|
|
- issuer: CN=issuer2
|
|
subject: CN=subject2
|
|
action: member
|
|
state: absent
|
|
register: result
|
|
failed_when: result.changed
|
|
|
|
- name: User test certmapdata member present
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
certmapdata:
|
|
- issuer: CN=ca,dc=example,dc=com
|
|
subject: CN=test,dc=example,dc=com
|
|
action: member
|
|
register: result
|
|
failed_when: not result.changed
|
|
|
|
- name: User test certmapdata member present again
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
certmapdata:
|
|
- issuer: CN=ca,dc=example,dc=com
|
|
subject: CN=test,dc=example,dc=com
|
|
action: member
|
|
register: result
|
|
failed_when: result.changed
|
|
|
|
- name: User test certmapdata member (data) present again
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
certmapdata:
|
|
- data: X509:<I>dc=com,dc=example,CN=ca<S>dc=com,dc=example,CN=test
|
|
action: member
|
|
register: result
|
|
failed_when: result.changed
|
|
|
|
- name: User test certmapdata member absent
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
certmapdata:
|
|
- issuer: CN=ca,dc=example,dc=com
|
|
subject: CN=test,dc=example,dc=com
|
|
action: member
|
|
state: absent
|
|
register: result
|
|
failed_when: not result.changed
|
|
|
|
- name: User test certmapdata member (data) absent again
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
certmapdata:
|
|
- data: X509:<I>dc=com,dc=example,CN=ca<S>dc=com,dc=example,CN=test
|
|
action: member
|
|
state: absent
|
|
register: result
|
|
failed_when: result.changed
|
|
|
|
- name: User test absent
|
|
ipauser:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: test
|
|
state: absent
|
|
register: result
|
|
failed_when: not result.changed
|
|
|
|
- name: Remove certificate files.
|
|
shell:
|
|
cmd: rm -f "private{{ item }}.key" "cert{{ item }}.pem" "cert{{ item }}.der" "cert{{ item }}.b64"
|
|
with_items: [1, 2, 3]
|
|
become: no
|
|
delegate_to: localhost
|
|
args:
|
|
warn: no # suppres warning for not using the `file` module.
|