added basic molecule tests
This commit is contained in:
		
							parent
							
								
									caf251f4a0
								
							
						
					
					
						commit
						a20f48910f
					
				|  | @ -0,0 +1,14 @@ | ||||||
|  | # docker build -t mantest - < ./Dockerfile.j2 | ||||||
|  | # docker run -it --privileged --name mantest mantest:latest /sbin/init --tmpfs /tmp --tmpfs /run --tmpfs /run/lock | ||||||
|  | 
 | ||||||
|  | FROM debian:11-slim | ||||||
|  | 
 | ||||||
|  | ENV container docker | ||||||
|  | ENV LC_ALL C | ||||||
|  | ENV DEBIAN_FRONTEND noninteractive | ||||||
|  | 
 | ||||||
|  | RUN apt-get update \ | ||||||
|  |     && apt-get install -y systemd systemd-sysv python3 sudo \ | ||||||
|  |     && apt-get clean | ||||||
|  | 
 | ||||||
|  | CMD ["/sbin/init"] | ||||||
|  | @ -0,0 +1,10 @@ | ||||||
|  | # Usage | ||||||
|  | 
 | ||||||
|  | Check out the [Molecule Tutorial](https://github.com/ansibleguy/ansible_tutorial/blob/main/Molecule.md) on how to get started! | ||||||
|  | 
 | ||||||
|  | # Running | ||||||
|  | 
 | ||||||
|  | ```bash | ||||||
|  | cd roles/ansibleguy.sw_zoneminder | ||||||
|  | molecule test | ||||||
|  | ``` | ||||||
|  | @ -0,0 +1,20 @@ | ||||||
|  | --- | ||||||
|  | 
 | ||||||
|  | - name: Converge | ||||||
|  |   hosts: all | ||||||
|  |   strategy: free  # speed-up; comment-out to gain clarity | ||||||
|  |   vars: | ||||||
|  |     apache: | ||||||
|  |       sites: | ||||||
|  |         test1: | ||||||
|  |           domain: 'apache2.test.ansibleguy.net' | ||||||
|  | 
 | ||||||
|  |           ssl: | ||||||
|  |             mode: 'ca' | ||||||
|  |             cert: | ||||||
|  |               cn: 'Apache2' | ||||||
|  |               org: 'AnsibleGuy Test' | ||||||
|  |               email: 'testmaster@ansibleguy.net' | ||||||
|  | 
 | ||||||
|  |   roles: | ||||||
|  |     - ansibleguy.infra_apache | ||||||
|  | @ -0,0 +1,49 @@ | ||||||
|  | --- | ||||||
|  | 
 | ||||||
|  | _references: | ||||||
|  |   docker: | ||||||
|  |     all: &docker_all | ||||||
|  |       docker_host: 'tcp://molecule-docker.local:2375' | ||||||
|  |       # docker_host: 'unix://var/run/docker.sock'  # localhost | ||||||
|  |       purge_networks: true | ||||||
|  |       image: 'debian:11-slim' | ||||||
|  |       # for docker systemd config see: https://serverfault.com/questions/1053187/systemd-fails-to-run-in-a-docker-container-when-using-cgroupv2-cgroupns-priva | ||||||
|  |       dockerfile: 'Dockerfile_debian11_systemd.j2' | ||||||
|  |       build_image: yes | ||||||
|  |       tmpfs: ['/tmp', '/run', '/run/lock'] | ||||||
|  |       privileged: true | ||||||
|  |       command: '/sbin/init' | ||||||
|  | 
 | ||||||
|  | dependency: | ||||||
|  |   name: galaxy | ||||||
|  | driver: | ||||||
|  |   name: docker | ||||||
|  | platforms: | ||||||
|  |   - name: test-ag-apache-1 | ||||||
|  |     docker_networks: | ||||||
|  |       - name: 'test-ag-apache' | ||||||
|  |         ipam_config: | ||||||
|  |           - subnet: '192.168.11.0/24' | ||||||
|  |             gateway: '192.168.11.254' | ||||||
|  |     networks: | ||||||
|  |       - name: 'test-ag-apache' | ||||||
|  |         ipv4_address: '192.168.11.1' | ||||||
|  |     groups: [grp_tester] | ||||||
|  |     <<: *docker_all | ||||||
|  | 
 | ||||||
|  | provisioner: | ||||||
|  |   name: ansible | ||||||
|  | verifier: | ||||||
|  |   name: ansible | ||||||
|  | scenario: | ||||||
|  |   name: default | ||||||
|  |   test_sequence: | ||||||
|  |     - lint | ||||||
|  |     - destroy | ||||||
|  |     - syntax | ||||||
|  |     - create | ||||||
|  |     - converge | ||||||
|  |     - verify | ||||||
|  |     - idempotence | ||||||
|  |     - check | ||||||
|  |     - destroy | ||||||
|  | @ -0,0 +1,19 @@ | ||||||
|  | --- | ||||||
|  | 
 | ||||||
|  | - name: Verify | ||||||
|  |   hosts: all | ||||||
|  |   gather_facts: false | ||||||
|  |   tasks: | ||||||
|  |     - name: Checking that service is running and enabled | ||||||
|  |       ansible.builtin.systemd: | ||||||
|  |         name: 'apache2.service' | ||||||
|  |         enabled: true | ||||||
|  |         state: started | ||||||
|  |       check_mode: true | ||||||
|  |       register: svc_test | ||||||
|  |       failed_when: svc_test.changed | ||||||
|  | 
 | ||||||
|  |     - name: Checking that service survives restart | ||||||
|  |       ansible.builtin.systemd: | ||||||
|  |         name: 'apache2.service' | ||||||
|  |         state: restarted | ||||||
		Loading…
	
		Reference in New Issue