Skip to content

Commit b7f4ba0

Browse files
authored
Enhance test suite (#95)
* Setup matrix build to test our modules against main versions of phpipam * Update test to meet best practices * Add changelog entry * move actions to nodejs 16 versions
1 parent e55b977 commit b7f4ba0

File tree

16 files changed

+166
-140
lines changed

16 files changed

+166
-140
lines changed

.github/workflows/main.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,17 @@ jobs:
66
test:
77
name: end to end tests
88
runs-on: ubuntu-latest
9+
strategy:
10+
matrix:
11+
phpipam-version: ['1.4x', '1.5x']
912
steps:
10-
- uses: actions/checkout@v2
13+
- uses: actions/checkout@v3
1114
- name: setup phpipam
12-
uses: codeaffen/phpipam-action@v1
15+
uses: codeaffen/phpipam-action@v2
16+
with:
17+
ipam_version: ${{ matrix.phpipam-version }}
1318
- name: Set up Python
14-
uses: actions/setup-python@v2
19+
uses: actions/setup-python@v3
1520
with:
1621
python-version: '3.x'
1722
- name: setup test environment
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
bugfixes:
2+
- Enhance test suite by running test agains main phpipam versions as matrix build
3+
- Update test playbooks to meet best practices for ansible 2.10.x
4+
- use FQCNs
5+
- migrate from `include` to `include_tasks`
6+
- Add missing names
7+
- Start names with upper case letters
8+
- move to nodejs 16 for `checkout` and `setup-python` action

tests/test_playbooks/address.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,35 @@
11
---
2-
- hosts: localhost
2+
- name: Address module tests
3+
hosts: localhost
34
collections:
45
- codeaffen.phpipam
56
gather_facts: false
67
vars_files:
78
- vars/server.yml
89
- vars/address.yml
910
tasks:
10-
- name: create address
11-
include: tasks/address.yml
11+
- name: Create address
12+
ansible.builtin.include_tasks: tasks/address.yml
1213
vars:
1314
name: create address
1415
address: "{{ base_address_data }}"
1516

16-
- name: create address again, no change
17-
include: tasks/address.yml
17+
- name: Create address again, no change
18+
ansible.builtin.include_tasks: tasks/address.yml
1819
vars:
1920
name: create address again, no change
2021
address: "{{ base_address_data }}"
2122

22-
- name: update address
23-
include: tasks/address.yml
23+
- name: Update address
24+
ansible.builtin.include_tasks: tasks/address.yml
2425
vars:
2526
name: update address
2627
override:
2728
description: address updated
2829
address: "{{ base_address_data | combine(override) }}"
2930

30-
- name: delete address
31-
include: tasks/address.yml
31+
- name: Delete address
32+
ansible.builtin.include_tasks: tasks/address.yml
3233
vars:
3334
name: delete address
3435
override:

tests/test_playbooks/device.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,36 @@
11
---
2-
- hosts: localhost
2+
- name: Device module tests
3+
hosts: localhost
34
collections:
45
- codeaffen.phpipam
56
gather_facts: false
67
vars_files:
78
- vars/server.yml
89
- vars/device.yml
910
tasks:
10-
- name: create device
11-
include: tasks/device.yml
11+
- name: Create device
12+
ansible.builtin.include_tasks: tasks/device.yml
1213
vars:
1314
name: create device
1415
device: "{{ base_device_data }}"
1516

16-
- name: create device again, no change
17-
include: tasks/device.yml
17+
- name: Create device again, no change
18+
ansible.builtin.include_tasks: tasks/device.yml
1819
vars:
1920
name: create device again, no change
2021
device: "{{ base_device_data }}"
2122

22-
- name: update device
23-
include: tasks/device.yml
23+
- name: Update device
24+
ansible.builtin.include_tasks: tasks/device.yml
2425
vars:
2526
name: update device
2627
override:
2728
description: device updated
2829
snmp_community: 'my secret community'
2930
device: "{{ base_device_data | combine(override) }}"
3031

31-
- name: delete device
32-
include: tasks/device.yml
32+
- name: Delete device
33+
ansible.builtin.include_tasks: tasks/device.yml
3334
vars:
3435
name: delete device
3536
override:

tests/test_playbooks/device_type.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,35 @@
11
---
2-
- hosts: localhost
2+
- name: Device type module tests
3+
hosts: localhost
34
collections:
45
- codeaffen.phpipam
56
gather_facts: false
67
vars_files:
78
- vars/server.yml
89
- vars/device_type.yml
910
tasks:
10-
- name: create device_type
11-
include: tasks/device_type.yml
11+
- name: Create device_type
12+
ansible.builtin.include_tasks: tasks/device_type.yml
1213
vars:
1314
name: create device_type
1415
device_type: "{{ base_device_type_data }}"
1516

16-
- name: create device_type again, no change
17-
include: tasks/device_type.yml
17+
- name: Create device_type again, no change
18+
ansible.builtin.include_tasks: tasks/device_type.yml
1819
vars:
1920
name: create device_type again, no change
2021
device_type: "{{ base_device_type_data }}"
2122

22-
- name: update device_type
23-
include: tasks/device_type.yml
23+
- name: Update device_type
24+
ansible.builtin.include_tasks: tasks/device_type.yml
2425
vars:
2526
name: update device_type
2627
override:
2728
description: device_type updated
2829
device_type: "{{ base_device_type_data | combine(override) }}"
2930

30-
- name: delete device_type
31-
include: tasks/device_type.yml
31+
- name: Delete device_type
32+
ansible.builtin.include_tasks: tasks/device_type.yml
3233
vars:
3334
name: delete device_type
3435
override:

tests/test_playbooks/domain.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,35 @@
11
---
2-
- hosts: localhost
2+
- name: Domain module tests
3+
hosts: localhost
34
collections:
45
- codeaffen.phpipam
56
gather_facts: false
67
vars_files:
78
- vars/server.yml
89
- vars/domain.yml
910
tasks:
10-
- name: create domain
11-
include: tasks/domain.yml
11+
- name: Create domain
12+
ansible.builtin.include_tasks: tasks/domain.yml
1213
vars:
1314
name: create domain
1415
domain: "{{ base_domain_data }}"
1516

16-
- name: create domain again, no change
17-
include: tasks/domain.yml
17+
- name: Create domain again, no change
18+
ansible.builtin.include_tasks: tasks/domain.yml
1819
vars:
1920
name: create domain again, no change
2021
domain: "{{ base_domain_data }}"
2122

22-
- name: update domain
23-
include: tasks/domain.yml
23+
- name: Update domain
24+
ansible.builtin.include_tasks: tasks/domain.yml
2425
vars:
2526
name: update domain
2627
override:
2728
description: domain updated
2829
domain: "{{ base_domain_data | combine(override) }}"
2930

30-
- name: delete domain
31-
include: tasks/domain.yml
31+
- name: Delete domain
32+
ansible.builtin.include_tasks: tasks/domain.yml
3233
vars:
3334
name: delete domain
3435
override:

tests/test_playbooks/domain_vlan_mapping.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
- hosts: localhost
1+
- name: Domain vlan mapping tests
2+
hosts: localhost
23
collections:
34
- codeaffen.phpipam
45
gather_facts: false
@@ -7,37 +8,37 @@
78
- vars/domain.yml
89
- vars/vlan.yml
910
tasks:
10-
- name: create domains for mapping test
11-
include: tasks/domain.yml
11+
- name: Create domains for mapping test
12+
ansible.builtin.include_tasks: tasks/domain.yml
1213
vars:
1314
name: create {{ loop_domain_data['name'] }}
1415
domain: "{{ loop_domain_data }}"
1516
loop: "{{ vlan_mapping_base_domain_data }}"
1617
loop_control:
1718
loop_var: loop_domain_data
1819

19-
- name: create vlans for mapping test
20-
include: tasks/vlan.yml
20+
- name: Create vlans for mapping test
21+
ansible.builtin.include_tasks: tasks/vlan.yml
2122
vars:
2223
name: create vlan {{ loop_vlan_data['name'] }}
2324
vlan: "{{ loop_vlan_data }}"
2425
loop: "{{ vlan_mapping_base_vlan_data }}"
2526
loop_control:
2627
loop_var: loop_vlan_data
2728

28-
- name: delete vlans
29-
include: tasks/vlan.yml
29+
- name: Delete vlans
30+
ansible.builtin.include_tasks: tasks/vlan.yml
3031
vars:
31-
name: delete vlan {{ vlan['name'] }}
32+
name: Delete vlan {{ vlan['name'] }}
3233
override:
3334
state: absent
3435
vlan: "{{ loop_vlan_data | combine(override) }}"
3536
loop: "{{ vlan_mapping_base_vlan_data }}"
3637
loop_control:
3738
loop_var: loop_vlan_data
3839

39-
- name: delete domains
40-
include: tasks/domain.yml
40+
- name: Delete domains
41+
ansible.builtin.include_tasks: tasks/domain.yml
4142
vars:
4243
name: delete {{ loop_domain_data['name'] }}
4344
override:

tests/test_playbooks/domain_vlan_subnet_mapping.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
- name: Setup domain, vlan and subnet mapping
1+
- name: Domain, vlan and subnet mapping
22
hosts: localhost
33
collections:
44
- codeaffen.phpipam
@@ -8,7 +8,7 @@
88
- vars/domain_vlan_subnet_mapping.yml
99
tasks:
1010
- name: IPAM create sections
11-
include_tasks: tasks/section.yml
11+
ansible.builtin.include_tasks: tasks/section.yml
1212
vars:
1313
name: "create section '{{ section.name }}'"
1414
loop: "{{ docker_compose_ipam_sections }}"
@@ -17,7 +17,7 @@
1717
tags: admin_tasks_phpipam
1818

1919
- name: IPAM create L2 domains
20-
include_tasks: tasks/domain.yml
20+
ansible.builtin.include_tasks: tasks/domain.yml
2121
vars:
2222
name: "create l2 domain '{{ domain.name }}'"
2323
loop: "{{ docker_compose_ipam_l2_domains }}"
@@ -26,7 +26,7 @@
2626
tags: admin_tasks_phpipam
2727

2828
- name: Create VLANS
29-
include_tasks: tasks/vlan.yml
29+
ansible.builtin.include_tasks: tasks/vlan.yml
3030
vars:
3131
name: "create vlans '{{ vlan.name }}'"
3232
loop: "{{ docker_compose_ipam_vlans }}"
@@ -35,7 +35,7 @@
3535
tags: admin_tasks_phpipam
3636

3737
- name: Create IP subnets
38-
include_tasks: tasks/subnet.yml
38+
ansible.builtin.include_tasks: tasks/subnet.yml
3939
vars:
4040
name: "create subnet '{{ subnet.name }}'"
4141
loop: "{{ docker_compose_ipam_subnets }}"

tests/test_playbooks/example_setup.yml

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
2-
- hosts: localhost
2+
- name: Simple example setup
3+
hosts: localhost
34
collections:
45
- codeaffen.phpipam
56
gather_facts: false
@@ -8,29 +9,30 @@
89
- vars/section.yml
910
- vars/subnet.yml
1011
tasks:
11-
- name: setup data
12+
- name: Setup data
13+
when: cleanup is not defined
1214
block:
13-
- name: create sections
14-
include: tasks/section.yml
15-
vars:
16-
name: "{{ section.name }}"
17-
loop: "{{ sections }}"
18-
loop_control:
19-
loop_var: section
15+
- name: Create sections
16+
ansible.builtin.include_tasks: tasks/section.yml
17+
vars:
18+
name: "{{ section.name }}"
19+
loop: "{{ sections }}"
20+
loop_control:
21+
loop_var: section
2022

21-
- name: create subnets
22-
include: tasks/subnet.yml
23-
vars:
24-
name: "{{ subnet.cidr }}"
25-
loop: "{{ subnets }}"
26-
loop_control:
27-
loop_var: subnet
28-
when: cleanup is not defined
23+
- name: Create subnets
24+
ansible.builtin.include_tasks: tasks/subnet.yml
25+
vars:
26+
name: "{{ subnet.cidr }}"
27+
loop: "{{ subnets }}"
28+
loop_control:
29+
loop_var: subnet
2930

30-
- name: cleanup data
31+
- name: Cleanup data
32+
when: cleanup is defined
3133
block:
32-
- name: remove subnets
33-
include: tasks/subnet.yml
34+
- name: Remove subnets
35+
ansible.builtin.include_tasks: tasks/subnet.yml
3436
vars:
3537
name: "{{ subnet_loop.cidr }}"
3638
override:
@@ -40,8 +42,8 @@
4042
loop_control:
4143
loop_var: subnet_loop
4244

43-
- name: remove sections
44-
include: tasks/section.yml
45+
- name: Remove sections
46+
ansible.builtin.include_tasks: tasks/section.yml
4547
vars:
4648
name: "{{ section_loop.name }}"
4749
override:
@@ -50,4 +52,3 @@
5052
loop: "{{ sections | reverse | list }}"
5153
loop_control:
5254
loop_var: section_loop
53-
when: cleanup is defined

0 commit comments

Comments
 (0)