You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/roles/test_cloudflare_dns/tasks/mx_record.yml

195 lines
6.4 KiB
YAML

---
######## MX record tests #################
- name: "Test: MX record creation"
cloudflare_dns:
account_email: "{{ cloudflare_email }}"
account_api_token: "{{ cloudflare_api_token }}"
zone: "{{ cloudflare_zone }}"
record: "{{ cloudflare_dns_record }}"
type: MX
value: "mx1-{{ cloudflare_dns_record }}.{{ cloudflare_zone }}."
ttl: 150
priority: 20
register: cloudflare_dns
- name: "Validate: MX record creation"
assert:
that:
- cloudflare_dns|success
- cloudflare_dns|changed
- cloudflare_dns.result.record.content == 'mx1-{{ cloudflare_dns_record }}.{{ cloudflare_zone }}'
- cloudflare_dns.result.record.ttl == 150
- cloudflare_dns.result.record.priority == 20
- cloudflare_dns.result.record.type == 'MX'
- cloudflare_dns.result.record.name == "{{ cloudflare_dns_record }}.{{ cloudflare_zone }}"
- cloudflare_dns.result.record.zone_name == "{{ cloudflare_zone }}"
- name: "Test: MX record idempotency"
cloudflare_dns:
account_email: "{{ cloudflare_email }}"
account_api_token: "{{ cloudflare_api_token }}"
zone: "{{ cloudflare_zone }}"
record: "{{ cloudflare_dns_record }}"
type: MX
value: "mx1-{{ cloudflare_dns_record }}.{{ cloudflare_zone }}."
ttl: 150
priority: 20
register: cloudflare_dns
- name: "Validate: MX record idempotency"
assert:
that:
- cloudflare_dns|success
- not cloudflare_dns|changed
- name: "Test: MX record update"
cloudflare_dns:
account_email: "{{ cloudflare_email }}"
account_api_token: "{{ cloudflare_api_token }}"
zone: "{{ cloudflare_zone }}"
record: "{{ cloudflare_dns_record }}"
type: MX
value: "mx1-{{ cloudflare_dns_record }}.{{ cloudflare_zone }}"
ttl: 300
priority: 10
register: cloudflare_dns
- name: "Validate: MX record update"
assert:
that:
- cloudflare_dns|success
- cloudflare_dns|changed
- cloudflare_dns.result.record.ttl == 300
- cloudflare_dns.result.record.priority == 10
- name: "Test: MX record duplicate (create new record)"
cloudflare_dns:
account_email: "{{ cloudflare_email }}"
account_api_token: "{{ cloudflare_api_token }}"
zone: "{{ cloudflare_zone }}"
record: "{{ cloudflare_dns_record }}"
type: MX
value: "mx2-{{ cloudflare_dns_record }}.{{ cloudflare_zone }}"
ttl: 150
priority: 30
register: cloudflare_dns
- name: "Validate: MX record duplicate (create new record)"
assert:
that:
- cloudflare_dns|success
- cloudflare_dns|changed
- cloudflare_dns.result.record.content == 'mx2-{{ cloudflare_dns_record }}.{{ cloudflare_zone }}'
- cloudflare_dns.result.record.ttl == 150
- cloudflare_dns.result.record.priority == 30
- cloudflare_dns.result.record.type == 'MX'
- cloudflare_dns.result.record.name == "{{ cloudflare_dns_record }}.{{ cloudflare_zone }}"
- cloudflare_dns.result.record.zone_name == "{{ cloudflare_zone }}"
- name: "Test: MX record duplicate (old record present)"
cloudflare_dns:
account_email: "{{ cloudflare_email }}"
account_api_token: "{{ cloudflare_api_token }}"
zone: "{{ cloudflare_zone }}"
record: "{{ cloudflare_dns_record }}"
type: MX
value: "mx1-{{ cloudflare_dns_record }}.{{ cloudflare_zone }}"
ttl: 300
priority: 10
register: cloudflare_dns
- name: "Validate: MX record duplicate (old record present)"
assert:
that:
- cloudflare_dns|success
- not cloudflare_dns|changed
- cloudflare_dns.result.record.content == 'mx1-{{ cloudflare_dns_record }}.{{ cloudflare_zone }}'
- cloudflare_dns.result.record.ttl == 300
- cloudflare_dns.result.record.priority == 10
- cloudflare_dns.result.record.type == 'MX'
- cloudflare_dns.result.record.name == "{{ cloudflare_dns_record }}.{{ cloudflare_zone }}"
- cloudflare_dns.result.record.zone_name == "{{ cloudflare_zone }}"
- name: "Test: MX record duplicate (make new record solo)"
cloudflare_dns:
account_email: "{{ cloudflare_email }}"
account_api_token: "{{ cloudflare_api_token }}"
zone: "{{ cloudflare_zone }}"
record: "{{ cloudflare_dns_record }}"
type: MX
value: "mx2-{{ cloudflare_dns_record }}.{{ cloudflare_zone }}"
ttl: 150
priority: 30
solo: true
register: cloudflare_dns
- name: "Validate: MX record duplicate (make new record solo)"
assert:
that:
- cloudflare_dns|success
- cloudflare_dns|changed
- cloudflare_dns.result.record.content == 'mx2-{{ cloudflare_dns_record }}.{{ cloudflare_zone }}'
- cloudflare_dns.result.record.ttl == 150
- cloudflare_dns.result.record.priority == 30
- cloudflare_dns.result.record.type == 'MX'
- cloudflare_dns.result.record.name == "{{ cloudflare_dns_record }}.{{ cloudflare_zone }}"
- cloudflare_dns.result.record.zone_name == "{{ cloudflare_zone }}"
- name: "Test: MX record duplicate (old record absent)"
cloudflare_dns:
account_email: "{{ cloudflare_email }}"
account_api_token: "{{ cloudflare_api_token }}"
zone: "{{ cloudflare_zone }}"
record: "{{ cloudflare_dns_record }}"
type: MX
value: "mx1-{{ cloudflare_dns_record }}.{{ cloudflare_zone }}"
ttl: 300
priority: 10
state: absent
register: cloudflare_dns
- name: "Validate: MX record duplicate (old record absent)"
assert:
that:
- cloudflare_dns|success
- not cloudflare_dns|changed
- name: "Test: MX record deletion"
cloudflare_dns:
account_email: "{{ cloudflare_email }}"
account_api_token: "{{ cloudflare_api_token }}"
zone: "{{ cloudflare_zone }}"
record: "{{ cloudflare_dns_record }}"
type: MX
value: "mx2-{{ cloudflare_dns_record }}.{{ cloudflare_zone }}"
ttl: 150
priority: 30
state: absent
register: cloudflare_dns
- name: "Validate: MX record deletion"
assert:
that:
- cloudflare_dns|success
- cloudflare_dns|changed
- name: "Test: MX record deletion succeeded"
cloudflare_dns:
account_email: "{{ cloudflare_email }}"
account_api_token: "{{ cloudflare_api_token }}"
zone: "{{ cloudflare_zone }}"
record: "{{ cloudflare_dns_record }}"
type: MX
value: "mx2-{{ cloudflare_dns_record }}.{{ cloudflare_zone }}"
ttl: 150
priority: 30
state: absent
register: cloudflare_dns
- name: "Validate: MX record deletion succeeded"
assert:
that:
- cloudflare_dns|success
- not cloudflare_dns|changed