Blob Blame History Raw
---
- name: Test dnszone
  hosts: ipaserver
  become: true
  gather_facts: true

  tasks:

  # Setup
  - name: Setup testing environment
    include_tasks: env_setup.yml

  # Tests
  - name: Ensure zone is present.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
      state: present
    register: result
    failed_when: not result.changed

  - name: Ensure zone is present, again.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
      state: present
    register: result
    failed_when: result.changed

  - name: Ensure zone is disabled.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
      state: disabled
    register: result
    failed_when: not result.changed

  - name: Ensure zone is disabled, again.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
      state: disabled
    register: result
    failed_when: result.changed

  - name: Ensure zone is enabled.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
      state: enabled
    register: result
    failed_when: not result.changed

  - name: Ensure zone is enabled, again.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
      state: enabled
    register: result
    failed_when: result.changed

  - name: Ensure forward_policy is none.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
      forward_policy: none
    register: result
    failed_when: not result.changed

  - name: Ensure forward_policy is none, again.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
      forward_policy: none
    register: result
    failed_when: result.changed

  - name: Ensure forward_policy is first.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
      forward_policy: first
    register: result
    failed_when: not result.changed

  - name: Ensure forward_policy is first, again.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
      forward_policy: first
    register: result
    failed_when: result.changed

  - name: Ensure first forwarder is set.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
      forwarders:
        - ip_address: 8.8.8.8
          port: 53
    register: result
    failed_when: not result.changed

  - name: Ensure first and second forwarder are set.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
      forwarders:
        - ip_address: 8.8.8.8
          port: 53
        - ip_address: 2001:4860:4860::8888
    register: result
    failed_when: not result.changed

  - name: Ensure first and second forwarder are set, again.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
      forwarders:
        - ip_address: 8.8.8.8
          port: 53
        - ip_address: 2001:4860:4860::8888
    register: result
    failed_when: result.changed

  - name: Ensure only second forwarder is set.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
      forwarders:
        - ip_address: 2001:4860:4860::8888
    register: result
    failed_when: not result.changed

  - name: Nothing changes.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
    register: result
    failed_when: result.changed

  - name: Ensure no forwarders are set.
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: testzone.local
      forwarders: []
    register: result
    failed_when: not result.changed

  - name: Create zones test1
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: test1.testzone.local

  - name: Create zones test2
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: test2.testzone.local

  - name: Create zones test3
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name: test3.testzone.local

  - name: Ensure multiple zones are absent
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name:
        - test1.testzone.local
        - test2.testzone.local
        - test3.testzone.local
      state: absent
    register: result
    failed_when: not result.changed

  - name: Ensure multiple zones are absent, again
    ipadnszone:
      ipaadmin_password: SomeADMINpassword
      name:
        - test1.testzone.local
        - test2.testzone.local
        - test3.testzone.local
      state: absent
    register: result
    failed_when: result.changed

  # Teardown
  - name: Teardown testing environment
    include_tasks: env_teardown.yml