diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3fbfe5b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.yamllint diff --git a/molecule/default/INSTALL.rst b/molecule/default/INSTALL.rst new file mode 100644 index 0000000..ca81c7b --- /dev/null +++ b/molecule/default/INSTALL.rst @@ -0,0 +1,17 @@ +******* +Vagrant driver installation guide +******* + +Requirements +============ + +* Vagrant +* Virtualbox, Parallels, VMware Fusion, VMware Workstation or VMware Desktop +* python-vagrant + +Install +======= + +.. code-block:: bash + + $ sudo pip install python-vagrant diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml new file mode 100644 index 0000000..18417fb --- /dev/null +++ b/molecule/default/molecule.yml @@ -0,0 +1,22 @@ +--- +dependency: + name: galaxy +driver: + name: vagrant + provider: + name: libvirt +lint: + name: yamllint +platforms: + - name: instance + box: centos/7 +provisioner: + name: ansible + lint: + name: ansible-lint +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..fb9b41d --- /dev/null +++ b/molecule/default/playbook.yml @@ -0,0 +1,6 @@ +--- +- name: Converge + hosts: all + become: true + roles: + - role: ansible-cockpit diff --git a/molecule/default/prepare.yml b/molecule/default/prepare.yml new file mode 100644 index 0000000..4b18d48 --- /dev/null +++ b/molecule/default/prepare.yml @@ -0,0 +1,9 @@ +--- +- name: Prepare + hosts: all + gather_facts: false + tasks: + - name: Install python for Ansible + raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal) + become: true + changed_when: false diff --git a/molecule/default/tests/__pycache__/test_default.cpython-37-PYTEST.pyc b/molecule/default/tests/__pycache__/test_default.cpython-37-PYTEST.pyc new file mode 100644 index 0000000..d8a4d14 Binary files /dev/null and b/molecule/default/tests/__pycache__/test_default.cpython-37-PYTEST.pyc differ diff --git a/molecule/default/tests/__pycache__/test_default.cpython-37.opt-1.pyc b/molecule/default/tests/__pycache__/test_default.cpython-37.opt-1.pyc new file mode 100644 index 0000000..aae5829 Binary files /dev/null and b/molecule/default/tests/__pycache__/test_default.cpython-37.opt-1.pyc differ diff --git a/molecule/default/tests/__pycache__/test_default.cpython-37.pyc b/molecule/default/tests/__pycache__/test_default.cpython-37.pyc new file mode 100644 index 0000000..f2190d6 Binary files /dev/null and b/molecule/default/tests/__pycache__/test_default.cpython-37.pyc differ diff --git a/molecule/default/tests/test_default.py b/molecule/default/tests/test_default.py new file mode 100644 index 0000000..a9b7acc --- /dev/null +++ b/molecule/default/tests/test_default.py @@ -0,0 +1,25 @@ +import os + +import testinfra.utils.ansible_runner + +testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( + os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all') + + +def test_package_is_installed(host): + p = host.package('cockpit') + + assert p.is_installed + + +def test_service_enabled(host): + s = host.service('cockpit.socket') + + assert s.is_running + assert s.is_enabled + + +def test_listening(host): + s = host.socket('tcp://0.0.0.0:9090') + + assert s.is_listening diff --git a/molecule/non_defaults/INSTALL.rst b/molecule/non_defaults/INSTALL.rst new file mode 100644 index 0000000..ca81c7b --- /dev/null +++ b/molecule/non_defaults/INSTALL.rst @@ -0,0 +1,17 @@ +******* +Vagrant driver installation guide +******* + +Requirements +============ + +* Vagrant +* Virtualbox, Parallels, VMware Fusion, VMware Workstation or VMware Desktop +* python-vagrant + +Install +======= + +.. code-block:: bash + + $ sudo pip install python-vagrant diff --git a/molecule/non_defaults/molecule.yml b/molecule/non_defaults/molecule.yml new file mode 100644 index 0000000..1f07b64 --- /dev/null +++ b/molecule/non_defaults/molecule.yml @@ -0,0 +1,22 @@ +--- +dependency: + name: galaxy +driver: + name: vagrant + provider: + name: virtualbox +lint: + name: yamllint +platforms: + - name: instance + box: centos/7 +provisioner: + name: ansible + lint: + name: ansible-lint +scenario: + name: non_defaults +verifier: + name: testinfra + lint: + name: flake8 diff --git a/molecule/non_defaults/playbook.yml b/molecule/non_defaults/playbook.yml new file mode 100644 index 0000000..73f41dc --- /dev/null +++ b/molecule/non_defaults/playbook.yml @@ -0,0 +1,9 @@ +--- +- name: Converge + hosts: all + become: true + vars: + cockpit_listen_port: 9091 + cockpit_use_selinux: true + roles: + - role: ansible-cockpit diff --git a/molecule/non_defaults/prepare.yml b/molecule/non_defaults/prepare.yml new file mode 100644 index 0000000..4b18d48 --- /dev/null +++ b/molecule/non_defaults/prepare.yml @@ -0,0 +1,9 @@ +--- +- name: Prepare + hosts: all + gather_facts: false + tasks: + - name: Install python for Ansible + raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal) + become: true + changed_when: false diff --git a/molecule/non_defaults/tests/__pycache__/test_default.cpython-37.opt-1.pyc b/molecule/non_defaults/tests/__pycache__/test_default.cpython-37.opt-1.pyc new file mode 100644 index 0000000..aae5829 Binary files /dev/null and b/molecule/non_defaults/tests/__pycache__/test_default.cpython-37.opt-1.pyc differ diff --git a/molecule/non_defaults/tests/__pycache__/test_default.cpython-37.pyc b/molecule/non_defaults/tests/__pycache__/test_default.cpython-37.pyc new file mode 100644 index 0000000..f2190d6 Binary files /dev/null and b/molecule/non_defaults/tests/__pycache__/test_default.cpython-37.pyc differ diff --git a/molecule/non_defaults/tests/__pycache__/test_non_defaults.cpython-37-PYTEST.pyc b/molecule/non_defaults/tests/__pycache__/test_non_defaults.cpython-37-PYTEST.pyc new file mode 100644 index 0000000..646c682 Binary files /dev/null and b/molecule/non_defaults/tests/__pycache__/test_non_defaults.cpython-37-PYTEST.pyc differ diff --git a/molecule/non_defaults/tests/test_non_defaults.py b/molecule/non_defaults/tests/test_non_defaults.py new file mode 100644 index 0000000..caff65d --- /dev/null +++ b/molecule/non_defaults/tests/test_non_defaults.py @@ -0,0 +1,25 @@ +import os + +import testinfra.utils.ansible_runner + +testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( + os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all') + + +def test_package_is_installed(host): + p = host.package('cockpit') + + assert p.is_installed + + +def test_service_enabled(host): + s = host.service('cockpit.socket') + + assert s.is_running + assert s.is_enabled + + +def test_listening(host): + s = host.socket('tcp://0.0.0.0:9091') + + assert s.is_listening