Initial commit

This commit is contained in:
Ansible Core Team
2020-03-09 09:11:07 +00:00
commit aebc1b03fd
4861 changed files with 812621 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
---
testcase: "[^_].*"
test_items: []

View File

@@ -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

View File

@@ -0,0 +1,2 @@
---
- { include: httpapi.yaml, tags: ['httpapi'] }

View File

@@ -0,0 +1,5 @@
---
- name: Populate config
exos_config:
lines:
- disable lldp ports 2-5

View File

@@ -0,0 +1,5 @@
---
- name: Restore initial config
exos_config:
lines:
- enable lldp ports all

View File

@@ -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) == []"

View File

@@ -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) == []"

View File

@@ -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) == []"

View File

@@ -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) == []"

View File

@@ -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