summaryrefslogtreecommitdiff
path: root/tests/integration
diff options
context:
space:
mode:
authoromnom62 <omnom62@outlook.com>2026-07-02 16:48:48 +1000
committerJohn Estabrook <jestabro@vyos.io>2026-08-21 10:18:35 -0500
commit2d0804cc31aa2b0aa24bbd553f80ea84c9830fa7 (patch)
tree95b106b1f46fae397f5921f972464ac16cecbf5c /tests/integration
parent2282a8361d8f0b0a3f22bfd403fdabf498316b80 (diff)
downloadrest.vyos-2d0804cc31aa2b0aa24bbd553f80ea84c9830fa7.tar.gz
rest.vyos-2d0804cc31aa2b0aa24bbd553f80ea84c9830fa7.zip
T8989: Add vyos_facts integration and unit tests with fixtures
Diffstat (limited to 'tests/integration')
-rw-r--r--tests/integration/targets/vyos_facts/aliases1
-rw-r--r--tests/integration/targets/vyos_facts/defaults/main.yaml3
-rw-r--r--tests/integration/targets/vyos_facts/tasks/httpapi.yaml21
-rw-r--r--tests/integration/targets/vyos_facts/tasks/main.yaml5
-rw-r--r--tests/integration/targets/vyos_facts/tests/httpapi/all.yaml16
-rw-r--r--tests/integration/targets/vyos_facts/tests/httpapi/default.yaml13
-rw-r--r--tests/integration/targets/vyos_facts/tests/httpapi/subsets.yaml33
-rw-r--r--tests/integration/targets/vyos_facts/vars/main.yaml2
8 files changed, 94 insertions, 0 deletions
diff --git a/tests/integration/targets/vyos_facts/aliases b/tests/integration/targets/vyos_facts/aliases
new file mode 100644
index 0000000..cc0afef
--- /dev/null
+++ b/tests/integration/targets/vyos_facts/aliases
@@ -0,0 +1 @@
+network/vyos
diff --git a/tests/integration/targets/vyos_facts/defaults/main.yaml b/tests/integration/targets/vyos_facts/defaults/main.yaml
new file mode 100644
index 0000000..164afea
--- /dev/null
+++ b/tests/integration/targets/vyos_facts/defaults/main.yaml
@@ -0,0 +1,3 @@
+---
+testcase: "[^_].*"
+test_items: []
diff --git a/tests/integration/targets/vyos_facts/tasks/httpapi.yaml b/tests/integration/targets/vyos_facts/tasks/httpapi.yaml
new file mode 100644
index 0000000..4147e6d
--- /dev/null
+++ b/tests/integration/targets/vyos_facts/tasks/httpapi.yaml
@@ -0,0 +1,21 @@
+---
+- name: Collect all httpapi test cases
+ ansible.builtin.find:
+ paths: "{{ role_path }}/tests/httpapi"
+ patterns: "{{ testcase }}.yaml"
+ use_regex: true
+ register: test_cases
+ delegate_to: localhost
+
+- name: Set test_items
+ ansible.builtin.set_fact:
+ test_items: "{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: Run test case (connection=httpapi)
+ ansible.builtin.include_tasks: "{{ test_case_to_run }}"
+ vars:
+ ansible_connection: ansible.netcommon.httpapi
+ ansible_network_os: vyos.rest.vyos
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
diff --git a/tests/integration/targets/vyos_facts/tasks/main.yaml b/tests/integration/targets/vyos_facts/tasks/main.yaml
new file mode 100644
index 0000000..b1f6193
--- /dev/null
+++ b/tests/integration/targets/vyos_facts/tasks/main.yaml
@@ -0,0 +1,5 @@
+---
+- name: Run httpapi tests
+ ansible.builtin.include_tasks: httpapi.yaml
+ tags:
+ - httpapi
diff --git a/tests/integration/targets/vyos_facts/tests/httpapi/all.yaml b/tests/integration/targets/vyos_facts/tests/httpapi/all.yaml
new file mode 100644
index 0000000..419634f
--- /dev/null
+++ b/tests/integration/targets/vyos_facts/tests/httpapi/all.yaml
@@ -0,0 +1,16 @@
+---
+- debug:
+ msg: START vyos_facts all integration tests on connection={{ ansible_connection }}
+
+- block:
+ - name: Gather all facts
+ vyos.rest.vyos_facts:
+ gather_subset: all
+
+ - assert:
+ that:
+ - ansible_facts.vyos_hostname is defined
+ - ansible_facts.vyos_interfaces is defined
+ - ansible_facts.vyos_users is defined
+ - ansible_facts.vyos_config is defined
+ - ansible_facts.vyos_logging is defined
diff --git a/tests/integration/targets/vyos_facts/tests/httpapi/default.yaml b/tests/integration/targets/vyos_facts/tests/httpapi/default.yaml
new file mode 100644
index 0000000..ff1caee
--- /dev/null
+++ b/tests/integration/targets/vyos_facts/tests/httpapi/default.yaml
@@ -0,0 +1,13 @@
+---
+- debug:
+ msg: START vyos_facts default integration tests on connection={{ ansible_connection }}
+
+- block:
+ - name: Gather default facts
+ vyos.rest.vyos_facts:
+
+ - assert:
+ that:
+ - ansible_facts.vyos_hostname is defined
+ - ansible_facts.vyos_interfaces is defined
+ - ansible_facts.vyos_hostname | length > 0
diff --git a/tests/integration/targets/vyos_facts/tests/httpapi/subsets.yaml b/tests/integration/targets/vyos_facts/tests/httpapi/subsets.yaml
new file mode 100644
index 0000000..eb4ca4f
--- /dev/null
+++ b/tests/integration/targets/vyos_facts/tests/httpapi/subsets.yaml
@@ -0,0 +1,33 @@
+---
+- debug:
+ msg: START vyos_facts subsets integration tests on connection={{ ansible_connection }}
+
+- block:
+ - name: Gather hostname only
+ vyos.rest.vyos_facts:
+ gather_subset:
+ - hostname
+
+ - assert:
+ that:
+ - ansible_facts.vyos_hostname is defined
+
+ - name: Gather users
+ vyos.rest.vyos_facts:
+ gather_subset:
+ - users
+
+ - assert:
+ that:
+ - ansible_facts.vyos_users is defined
+ - ansible_facts.vyos_users | selectattr('name', 'eq', 'vyos') | list | length == 1
+
+ - name: Gather config
+ vyos.rest.vyos_facts:
+ gather_subset:
+ - config
+
+ - assert:
+ that:
+ - ansible_facts.vyos_config is defined
+ - ansible_facts.vyos_config.system is defined
diff --git a/tests/integration/targets/vyos_facts/vars/main.yaml b/tests/integration/targets/vyos_facts/vars/main.yaml
new file mode 100644
index 0000000..4303881
--- /dev/null
+++ b/tests/integration/targets/vyos_facts/vars/main.yaml
@@ -0,0 +1,2 @@
+---
+# only common vars here