mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-08 14:22:46 +00:00
Initial commit
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
---
|
||||
testcase: "[^_].*"
|
||||
test_items: []
|
||||
@@ -0,0 +1,16 @@
|
||||
- name: Collect all httpapi test cases
|
||||
find:
|
||||
paths: '{{ role_path }}/tests/httpapi'
|
||||
patterns: '{{ testcase }}.yaml'
|
||||
use_regex: true
|
||||
register: test_cases
|
||||
delegate_to: localhost
|
||||
- name: Set test_items
|
||||
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
|
||||
- name: Run test case (connection=httpapi)
|
||||
include: '{{ test_case_to_run }}'
|
||||
vars:
|
||||
ansible_connection: ansible.netcommon.httpapi
|
||||
with_items: '{{ test_items }}'
|
||||
loop_control:
|
||||
loop_var: test_case_to_run
|
||||
@@ -0,0 +1,2 @@
|
||||
---
|
||||
- { include: httpapi.yaml, tags: ['httpapi'] }
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
- name: Populate config
|
||||
exos_config:
|
||||
lines:
|
||||
- disable lldp ports 2-5
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
- name: Restore initial config
|
||||
exos_config:
|
||||
lines:
|
||||
- enable lldp ports all
|
||||
@@ -0,0 +1,91 @@
|
||||
---
|
||||
- debug:
|
||||
msg: "Start exos_lldp_interfaces deleted integration tests ansible_connection={{ ansible_connection }}"
|
||||
|
||||
- include_tasks: _reset_config.yaml
|
||||
|
||||
- include_tasks: _populate_config.yaml
|
||||
|
||||
- set_fact:
|
||||
config:
|
||||
- enabled: true
|
||||
name: '2'
|
||||
- enabled: true
|
||||
name: '3'
|
||||
config_all:
|
||||
- enabled: true
|
||||
name: '4'
|
||||
- enabled: true
|
||||
name: '5'
|
||||
|
||||
- exos_facts:
|
||||
gather_network_resources: lldp_interfaces
|
||||
|
||||
- block:
|
||||
- name: Delete LLDP interface configuration
|
||||
exos_lldp_interfaces: &deleted
|
||||
config:
|
||||
- name: '2'
|
||||
- name: '3'
|
||||
state: deleted
|
||||
register: result
|
||||
|
||||
- name: Assert that correct set of results were generated
|
||||
assert:
|
||||
that:
|
||||
- "deleted['requests_1']|symmetric_difference(result['requests']) == []"
|
||||
- "ansible_facts.network_resources.lldp_interfaces|symmetric_difference(result.before) == []"
|
||||
|
||||
- exos_facts:
|
||||
gather_network_resources: lldp_interfaces
|
||||
|
||||
- name: Assert that after dicts were correctly generated
|
||||
assert:
|
||||
that:
|
||||
- "ansible_facts.network_resources.lldp_interfaces|symmetric_difference(result.after) == []"
|
||||
- "config|difference(ansible_facts.network_resources.lldp_interfaces) == []"
|
||||
|
||||
- name: Delete LLDP interface configuration
|
||||
exos_lldp_interfaces:
|
||||
config:
|
||||
state: deleted
|
||||
register: result
|
||||
|
||||
- name: Assert that correct set of results were generated
|
||||
assert:
|
||||
that:
|
||||
- "deleted['requests_2']|symmetric_difference(result['requests']) == []"
|
||||
- "ansible_facts.network_resources.lldp_interfaces|symmetric_difference(result.before) == []"
|
||||
|
||||
- exos_facts:
|
||||
gather_network_resources: lldp_interfaces
|
||||
|
||||
- name: Assert that after dicts were correctly generated
|
||||
assert:
|
||||
that:
|
||||
- "ansible_facts.network_resources.lldp_interfaces|symmetric_difference(result.after) == []"
|
||||
- "config_all|difference(ansible_facts.network_resources.lldp_interfaces) == []"
|
||||
|
||||
- name: Delete attributes of all configured interfaces (IDEMPOTENT)
|
||||
exos_lldp_interfaces: *deleted
|
||||
register: result
|
||||
|
||||
- name: Assert that the previous task was idempotent
|
||||
assert:
|
||||
that:
|
||||
- "result.changed == false"
|
||||
|
||||
- exos_facts:
|
||||
gather_network_resources: lldp_interfaces
|
||||
|
||||
- name: Assert that the before dicts were correctly generated
|
||||
assert:
|
||||
that:
|
||||
- "ansible_facts.network_resources.lldp_interfaces|symmetric_difference(result.before) == []"
|
||||
|
||||
- set_fact:
|
||||
expected_config: "{{ config }} + {{ config_all }}"
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "expected_config|difference(ansible_facts.network_resources.lldp_interfaces) == []"
|
||||
@@ -0,0 +1,57 @@
|
||||
---
|
||||
- debug:
|
||||
msg: "START exos_lldp_interfaces merged integration tests on connection={{ ansible_connection }}"
|
||||
|
||||
- include_tasks: _reset_config.yaml
|
||||
|
||||
- include_tasks: _populate_config.yaml
|
||||
|
||||
- set_fact:
|
||||
config:
|
||||
- enabled: false
|
||||
name: '1'
|
||||
- enabled: true
|
||||
name: '2'
|
||||
|
||||
- exos_facts:
|
||||
gather_network_resources: lldp_interfaces
|
||||
|
||||
- block:
|
||||
- name: Merge the provided configuration with the existing running configuration
|
||||
exos_lldp_interfaces: &merged
|
||||
config: "{{ config }}"
|
||||
state: merged
|
||||
register: result
|
||||
|
||||
- name: Assert that correct set of results were generated
|
||||
assert:
|
||||
that:
|
||||
- "merged['requests']|symmetric_difference(result['requests']) == []"
|
||||
- "ansible_facts.network_resources.lldp_interfaces|symmetric_difference(result.before) == []"
|
||||
|
||||
- exos_facts:
|
||||
gather_network_resources: lldp_interfaces
|
||||
|
||||
- name: Assert that after dicts were correctly generated
|
||||
assert:
|
||||
that:
|
||||
- "ansible_facts.network_resources.lldp_interfaces|symmetric_difference(result.after) == []"
|
||||
- "config|difference(ansible_facts.network_resources.lldp_interfaces) == []"
|
||||
|
||||
- name: Merge the provided configuration with the existing running configuration (IDEMPOTENT)
|
||||
exos_lldp_interfaces: *merged
|
||||
register: result
|
||||
|
||||
- name: Assert that the previous task was idempotent
|
||||
assert:
|
||||
that:
|
||||
- "result['changed'] == false"
|
||||
|
||||
- exos_facts:
|
||||
gather_network_resources: lldp_interfaces
|
||||
|
||||
- name: Assert that the before dicts were correctly generated
|
||||
assert:
|
||||
that:
|
||||
- "ansible_facts.network_resources.lldp_interfaces|symmetric_difference(result.before) == []"
|
||||
- "config|difference(ansible_facts.network_resources.lldp_interfaces) == []"
|
||||
@@ -0,0 +1,56 @@
|
||||
---
|
||||
- debug:
|
||||
msg: "Start exos_lldp_interfaces overridden integration tests ansible_connection={{ ansible_connection }}"
|
||||
|
||||
- include_tasks: _reset_config.yaml
|
||||
|
||||
- include_tasks: _populate_config.yaml
|
||||
|
||||
- set_fact:
|
||||
config:
|
||||
- enabled: true
|
||||
name: '5'
|
||||
- enabled: false
|
||||
name: '6'
|
||||
|
||||
- exos_facts:
|
||||
gather_network_resources: lldp_interfaces
|
||||
|
||||
- block:
|
||||
- name: Override device LLDP interface configuration with provided configurations
|
||||
exos_lldp_interfaces: &overridden
|
||||
config: "{{ config }}"
|
||||
state: overridden
|
||||
register: result
|
||||
|
||||
- name: Assert that correct set of results were generated
|
||||
assert:
|
||||
that:
|
||||
- "overridden['requests']|symmetric_difference(result['requests']) == []"
|
||||
- "ansible_facts.network_resources.lldp_interfaces|symmetric_difference(result.before) == []"
|
||||
|
||||
- exos_facts:
|
||||
gather_network_resources: lldp_interfaces
|
||||
|
||||
- name: Assert that after dicts were correctly generated
|
||||
assert:
|
||||
that:
|
||||
- "ansible_facts.network_resources.lldp_interfaces|symmetric_difference(result.after) == []"
|
||||
- "config|difference(ansible_facts.network_resources.lldp_interfaces) == []"
|
||||
|
||||
- name: Override device LLDP interface configuration with provided configurations (IDEMPOTENT)
|
||||
exos_lldp_interfaces: *overridden
|
||||
register: result
|
||||
|
||||
- name: Assert that task was idempotent
|
||||
assert:
|
||||
that:
|
||||
- "result['changed'] == false"
|
||||
- exos_facts:
|
||||
gather_network_resources: lldp_interfaces
|
||||
|
||||
- name: Assert that the before dicts were correctly generated
|
||||
assert:
|
||||
that:
|
||||
- "ansible_facts.network_resources.lldp_interfaces|symmetric_difference(result.before) == []"
|
||||
- "config|difference(ansible_facts.network_resources.lldp_interfaces) == []"
|
||||
@@ -0,0 +1,57 @@
|
||||
---
|
||||
- debug:
|
||||
msg: "START exos_lldp_interfaces replaced integration tests on connection={{ ansible_connection }}"
|
||||
|
||||
- include_tasks: _reset_config.yaml
|
||||
|
||||
- include_tasks: _populate_config.yaml
|
||||
|
||||
- set_fact:
|
||||
config:
|
||||
- enabled: true
|
||||
name: '3'
|
||||
- enabled: false
|
||||
name: '4'
|
||||
|
||||
- exos_facts:
|
||||
gather_network_resources: lldp_interfaces
|
||||
|
||||
- block:
|
||||
- name: Replace LLDP interface configuration with provided configuration
|
||||
exos_lldp_interfaces: &replaced
|
||||
config: "{{ config }}"
|
||||
state: replaced
|
||||
register: result
|
||||
|
||||
- name: Assert that correct set of results were generated
|
||||
assert:
|
||||
that:
|
||||
- "replaced['requests']|symmetric_difference(result['requests']) == []"
|
||||
- "ansible_facts.network_resources.lldp_interfaces|symmetric_difference(result.before) == []"
|
||||
|
||||
- exos_facts:
|
||||
gather_network_resources: lldp_interfaces
|
||||
|
||||
- name: Assert that after dicts were correctly generated
|
||||
assert:
|
||||
that:
|
||||
- "ansible_facts.network_resources.lldp_interfaces|symmetric_difference(result.after) == []"
|
||||
- "config|difference(ansible_facts.network_resources.lldp_interfaces) == []"
|
||||
|
||||
- name: Replace LLDP interface configuration with provided configuration (IDEMPOTENT)
|
||||
exos_lldp_interfaces: *replaced
|
||||
register: result
|
||||
|
||||
- name: Assert that task was idempotent
|
||||
assert:
|
||||
that:
|
||||
- "result['changed'] == false"
|
||||
|
||||
- exos_facts:
|
||||
gather_network_resources: lldp_interfaces
|
||||
|
||||
- name: Assert that the before dicts were correctly generated
|
||||
assert:
|
||||
that:
|
||||
- "ansible_facts.network_resources.lldp_interfaces|symmetric_difference(result.before) == []"
|
||||
- "config|difference(ansible_facts.network_resources.lldp_interfaces) == []"
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
merged:
|
||||
requests:
|
||||
- data: '{"openconfig-lldp:config": {"enabled": false, "name": "1"}}'
|
||||
method: PATCH
|
||||
path: /rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=1/config
|
||||
- data: '{"openconfig-lldp:config": {"enabled": true, "name": "2"}}'
|
||||
method: PATCH
|
||||
path: /rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=2/config
|
||||
|
||||
replaced:
|
||||
requests:
|
||||
- data: '{"openconfig-lldp:config": {"enabled": true, "name": "3"}}'
|
||||
method: PATCH
|
||||
path: /rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=3/config
|
||||
|
||||
overridden:
|
||||
requests:
|
||||
- data: '{"openconfig-lldp:config": {"enabled": true, "name": "5"}}'
|
||||
method: PATCH
|
||||
path: /rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=5/config
|
||||
- data: '{"openconfig-lldp:config": {"enabled": false, "name": "6"}}'
|
||||
method: PATCH
|
||||
path: /rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=6/config
|
||||
- data: '{"openconfig-lldp:config": {"enabled": true, "name": "2"}}'
|
||||
method: PATCH
|
||||
path: /rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=2/config
|
||||
- data: '{"openconfig-lldp:config": {"enabled": true, "name": "3"}}'
|
||||
method: PATCH
|
||||
path: /rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=3/config
|
||||
- data: '{"openconfig-lldp:config": {"enabled": true, "name": "4"}}'
|
||||
method: PATCH
|
||||
path: /rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=4/config
|
||||
|
||||
deleted:
|
||||
requests_1:
|
||||
- data: '{"openconfig-lldp:config": {"enabled": true, "name": "2"}}'
|
||||
method: PATCH
|
||||
path: /rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=2/config
|
||||
- data: '{"openconfig-lldp:config": {"enabled": true, "name": "3"}}'
|
||||
method: PATCH
|
||||
path: /rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=3/config
|
||||
requests_2:
|
||||
- data: '{"openconfig-lldp:config": {"enabled": true, "name": "4"}}'
|
||||
method: PATCH
|
||||
path: /rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=4/config
|
||||
- data: '{"openconfig-lldp:config": {"enabled": true, "name": "5"}}'
|
||||
method: PATCH
|
||||
path: /rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=5/config
|
||||
Reference in New Issue
Block a user