Skip to content

Commit

Permalink
fix and enable nginx_upstream_server tests
Browse files Browse the repository at this point in the history
  • Loading branch information
superstes authored and ansibleguy committed Jun 20, 2024
1 parent fb0e2da commit 944dc71
Show file tree
Hide file tree
Showing 6 changed files with 44 additions and 11 deletions.
4 changes: 2 additions & 2 deletions docs/source/modules/nginx.rst
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ ansibleguy.opnsense.nginx_upstream_server
tasks:
- name: Add an upstream server
ansibleguy.opnsense.nginx_upstream_server:
description: 'upstream1'
name: 'upstream1'
server: '192.168.1.1'
port: 80
priority: 1
Expand All @@ -105,7 +105,7 @@ ansibleguy.opnsense.nginx_upstream_server
- name: Changing the server
ansibleguy.opnsense.nginx_upstream_server:
description: 'upstream1'
name: 'upstream1'
server: '192.168.1.100'
- name: Listing upstream servers
Expand Down
10 changes: 10 additions & 0 deletions plugins/module_utils/main/nginx_upstream_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from ansible_collections.ansibleguy.opnsense.plugins.module_utils.base.api import \
Session
from ansible_collections.ansibleguy.opnsense.plugins.module_utils.base.cls import BaseModule
from ansible_collections.ansibleguy.opnsense.plugins.module_utils.helper.main import is_unset


class UpstreamServer(BaseModule):
Expand Down Expand Up @@ -38,5 +39,14 @@ def __init__(self, module: AnsibleModule, result: dict, session: Session = None)
BaseModule.__init__(self=self, m=module, r=result, s=session)
self.upstream_server = {}

def check(self) -> None:
if self.p['state'] == 'present':
if is_unset(self.p['port']) or is_unset(self.p['priority']) or is_unset(self.p['server']):
self.m.fail_json(
"You need to provide a 'port', 'server' and 'priority' to create a server!"
)

self._base_check()

def update(self) -> None:
self.b.update(enable_switch=False)
6 changes: 3 additions & 3 deletions plugins/modules/nginx_upstream_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@
def run_module():
module_args = dict(
description=dict(type='str', alias=['name'], required=True, aliases=['name']),
server=dict(type='str', required=True),
port=dict(type='int', required=True),
priority=dict(type='int', required=True),
server=dict(type='str', required=False),
port=dict(type='int', required=False),
priority=dict(type='int', required=False),
max_conns=dict(type='int', required=False),
max_fails=dict(type='int', required=False),
fail_timeout=dict(type='int', required=False),
Expand Down
1 change: 1 addition & 0 deletions scripts/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,7 @@ run_test 'openvpn_client_override' 0 # check mode => dependency on server-entry
# run_test 'openvpn_client_template' 1
# run_test 'openvpn_client_export' 1
run_test 'nginx_general' 1
run_test 'nginx_upstream_server' 1
run_test 'system' 1
run_test 'package' 1

Expand Down
9 changes: 9 additions & 0 deletions tests/cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -619,3 +619,12 @@
- 'ANSIBLE_TEST_1_2'
- 'ANSIBLE_TEST_2_1'
- 'ANSIBLE_TEST_3_1'

- name: Cleanup Nginx General
ansibleguy.opnsense.nginx_general:
enabled: false

- name: Cleanup Nginx Upstream-Server
ansibleguy.opnsense.nginx_upstream_server:
name: 'ANSIBLE@TEST1'
state: 'absent'
25 changes: 19 additions & 6 deletions tests/nginx_upstream_server.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
- name: Removing - does not exist
ansibleguy.opnsense.nginx_upstream_server:
description: 'ANSIBLE@TEST1'
name: 'ANSIBLE@TEST1'
state: 'absent'
register: opn_pre2
failed_when: >
Expand All @@ -31,33 +31,46 @@
- name: Adding 1 - failing because of missing server
ansibleguy.opnsense.nginx_upstream_server:
description: 'ANSIBLE@TEST1'
name: 'ANSIBLE@TEST1'
register: opn_fail1
failed_when: not opn_fail1.failed

- name: Adding 1 - failing because of missing port
ansibleguy.opnsense.nginx_upstream_server:
description: 'ANSIBLE@TEST1'
name: 'ANSIBLE@TEST1'
server: 192.168.1.1
register: opn_fail1
failed_when: not opn_fail1.failed

- name: Adding 1 - failing because of missing priority
ansibleguy.opnsense.nginx_upstream_server:
description: 'ANSIBLE@TEST1'
name: 'ANSIBLE@TEST1'
server: 192.168.1.1
port: 80
register: opn_fail1
failed_when: not opn_fail1.failed

- name: Adding 1 - should succeed
ansibleguy.opnsense.nginx_upstream_server:
description: 'ANSIBLE@TEST1'
name: 'ANSIBLE@TEST1'
server: 192.168.1.1
port: 80
priority: 1

- name: Adding 1 - should succeed and not change
ansibleguy.opnsense.nginx_upstream_server:
name: 'ANSIBLE@TEST1'
server: 192.168.1.1
port: 80
priority: 1
register: ng1
failed_when: >
ng1.failed or
ng1.changed
when: not ansible_check_mode

- name: Remove 1 - should succeed
ansibleguy.opnsense.nginx_upstream_server:
description: 'ANSIBLE@TEST1'
name: 'ANSIBLE@TEST1'
state: 'absent'
when: not ansible_check_mode

0 comments on commit 944dc71

Please sign in to comment.