Files @ 3dd7f39302f8
Branch filter:

Location: majic-ansible-roles/roles/mail_forwarder/playbook.yml - annotation

branko
MAR-29: Implemented tests for php_website role:

- Install some additional tools for testing everything.
- Updated test playbook to change allowed extensions for running PHP scripts on
parameters-optional.
- Updated error page to use correct extension for parameters-optional test
instance.
- Expanded rewrite configuration slightly for parameters-optional.
- Install libmariadb-client-lgpl-dev-compat to test mysql_config symlink
creation.
- Deploy a number of PHP pages used for testing if pages are served correctly.
- Set file permissions on deployed PHP FPM pool configuraiton files.
- Use expanded syntax when deploying TLS keys/certificates in order to avoid
issues with TAB mangling.
- Fixed set-up of Strict-Transport-Security header when HTTPS enforcement is
disabled.
- Added a number of PHP and static test pages.
- Wrote tests covering full functionality of the role.
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
f774e938a4ed
f774e938a4ed
f774e938a4ed
f774e938a4ed
f774e938a4ed
01f4b619cfa6
01f4b619cfa6
01f4b619cfa6
01f4b619cfa6
01f4b619cfa6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
36e1c9460cd6
---

- hosts: all
  tasks:

    - name: Update all caches to avoid errors due to missing remote archives
      apt:
        update_cache: yes

- hosts: all
  tasks:

    - name: Set-up /etc/hosts entries
      lineinfile:
        dest: /etc/hosts
        line: "{{ item.key }} {{ item.value }}"
      with_dict:
        10.31.127.10: "mail-server domain1"
        10.31.127.20: "client1"
        10.31.127.30: "parameters-mandatory"
        10.31.127.31: "parameters-optional"

- hosts: client1
  tasks:

    - name: Install SWAKS for testing SMTP capability
      apt:
        name: swaks
        state: installed

    - name: Install tool for testing TCP connectivity
      apt:
        name: hping3
        state: installed

    - name: Deploy CA certificate
      copy:
        src: tests/data/x509/ca.cert.pem
        dest: /usr/local/share/ca-certificates/testca.crt
        owner: root
        group: root
        mode: 0644
      notify:
        - Update CA certificate cache

  handlers:

    - name: Update CA certificate cache
      command: /usr/sbin/update-ca-certificates --fresh

- hosts: mail-server
  tasks:

    - name: Deploy CA certificate
      copy:
        src: tests/data/x509/ca.cert.pem
        dest: /usr/local/share/ca-certificates/testca.crt
        owner: root
        group: root
        mode: 0644
      notify:
        - Update CA certificate cache

    - name: Deploy SMTP private key and certificate
      copy:
        src: "tests/data/x509/{{ item }}"
        dest: "/etc/ssl/{{ item }}"
        owner: root
        group: root
        mode: 0600
      with_items:
        - mail-server_smtp.cert.pem
        - mail-server_smtp.key.pem

    - name: Install Postfix
      apt: name="postfix" state=installed

    - name: Purge Exim configuration
      apt: name="exim4*" state=absent purge=yes

    - name: Deploy Postfix configuration
      copy:
        src: tests/data/main.cf
        dest: /etc/postfix/main.cf
        owner: root
        group: root
        mode: 0644
      notify:
        - Restart Postfix

    - name: Install tool for testing TCP connectivity
      apt:
        name: hping3
        state: installed

    - name: Install SWAKS for testing SMTP capability
      apt:
        name: swaks
        state: installed

  handlers:

    - name: Update CA certificate cache
      command: /usr/sbin/update-ca-certificates --fresh

    - name: Restart Postfix
      service:
        name: postfix
        state: restarted

- hosts: parameters-mandatory
  roles:
    - role: mail_forwarder

      # Global common parameters.
      tls_certificate_dir: tests/data/x509/

- hosts: parameters-optional
  roles:
    - role: mail_forwarder
      local_mail_aliases:
        root: "root testuser"
      smtp_relay_host: mail-server
      smtp_relay_truststore: "{{ lookup('file', 'tests/data/x509/ca.cert.pem') }}"

      # common
      ca_certificates:
        testca: "{{ lookup('file', 'tests/data/x509/ca.cert.pem') }}"

- hosts: parameters-optional
  tasks:

    - name: Create additional group for testing local aliases
      group:
        name: testuser

    - name: Create additional user for testing local aliases
      user:
        name: testuser
        group: testuser