--- ######## 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