From 50bbe8619efd27b4aae6a0b7aeb8ee637cc50152 Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Tue, 26 Feb 2019 15:13:50 +0100 Subject: [PATCH] test molecule integration --- .drone.yml | 35 +++++++++++++++----------- .gitignore | 5 ++++ molecule/default/coverage.yml | 0 molecule/default/molecule.yml | 25 ++++++++++++++++++ molecule/default/playbook.yml | 5 ++++ molecule/default/tests/test_default.py | 14 +++++++++++ 6 files changed, 70 insertions(+), 14 deletions(-) create mode 100644 .gitignore create mode 100644 molecule/default/coverage.yml create mode 100644 molecule/default/molecule.yml create mode 100644 molecule/default/playbook.yml create mode 100644 molecule/default/tests/test_default.py diff --git a/.drone.yml b/.drone.yml index 289d224..2450a73 100644 --- a/.drone.yml +++ b/.drone.yml @@ -3,20 +3,27 @@ kind: pipeline name: default steps: - - name: ansible-latest - image: python:2.7 - pull: always - commands: - - pip install ansible ansible-later -q - - git clone https://gitea.rknet.org/ansible/ansible-later-policy.git ~/policy - - git ls-files *[^LICENSE,.md] | xargs ansible-later -c ~/policy/config.ini - depends_on: [ clone ] + # - name: ansible-latest + # image: python:2.7 + # pull: always + # commands: + # - pip install ansible ansible-later -q + # - git clone https://gitea.rknet.org/ansible/ansible-later-policy.git ~/policy + # - git ls-files *[^LICENSE,.md] | xargs ansible-later -c ~/policy/config.ini + # depends_on: [ clone ] + + # - name: ansible-master + # image: python:2.7 + # pull: always + # commands: + # - pip install ansible ansible-later -q + # - git clone https://gitea.rknet.org/ansible/ansible-later-policy.git ~/policy + # - git ls-files *[^LICENSE,.md] | xargs ansible-later -c ~/policy/config.ini + # depends_on: [ clone ] - - name: ansible-master - image: python:2.7 + - name: molecule + image: quay.io/ansible/molecule pull: always commands: - - pip install ansible ansible-later -q - - git clone https://gitea.rknet.org/ansible/ansible-later-policy.git ~/policy - - git ls-files *[^LICENSE,.md] | xargs ansible-later -c ~/policy/config.ini - depends_on: [ clone ] + - pip install ansible -qq + - molecule test diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..69810f1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +# ---> Python +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class diff --git a/molecule/default/coverage.yml b/molecule/default/coverage.yml new file mode 100644 index 0000000..e69de29 diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml new file mode 100644 index 0000000..ae54c89 --- /dev/null +++ b/molecule/default/molecule.yml @@ -0,0 +1,25 @@ +--- +dependency: + name: galaxy +driver: + name: delegated + options: + managed: False + ansible_connection_options: + ansible_connection: local +lint: + name: yamllint +platforms: + - name: instance +provisioner: + name: ansible + lint: + name: ansible-lint + playbooks: + converge: coverage.yml +scenario: + name: default +verifier: + name: testinfra + lint: + name: flake8 diff --git a/molecule/default/playbook.yml b/molecule/default/playbook.yml new file mode 100644 index 0000000..bebc4b5 --- /dev/null +++ b/molecule/default/playbook.yml @@ -0,0 +1,5 @@ +--- +- name: Converge + hosts: all + roles: + - role: xoxys.nginx diff --git a/molecule/default/tests/test_default.py b/molecule/default/tests/test_default.py new file mode 100644 index 0000000..eedd64a --- /dev/null +++ b/molecule/default/tests/test_default.py @@ -0,0 +1,14 @@ +import os + +import testinfra.utils.ansible_runner + +testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( + os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all') + + +def test_hosts_file(host): + f = host.file('/etc/hosts') + + assert f.exists + assert f.user == 'root' + assert f.group == 'root'