summaryrefslogtreecommitdiff
path: root/test/units/modules
diff options
context:
space:
mode:
authorAnsible Core Team <info@ansible.com>2020-03-09 09:40:35 +0000
committerMatt Martz <matt@sivel.net>2020-03-23 11:14:21 -0500
commit3149db08698887fe4581d1fe52a01eed314d2b29 (patch)
tree71f94fa4ed330319cf9152971d49841d8aeb9b4c /test/units/modules
parentae8fb5e371f4ced37237176bc28a6a5c998f319d (diff)
downloadansible-3149db08698887fe4581d1fe52a01eed314d2b29.tar.gz
Migrated to cisco.nxos
Diffstat (limited to 'test/units/modules')
-rw-r--r--test/units/modules/network/nxos/fixtures/_nxos_interface/show_interface129
-rw-r--r--test/units/modules/network/nxos/fixtures/_nxos_interface/show_interface_Ethernet2_196
-rw-r--r--test/units/modules/network/nxos/fixtures/_nxos_interface/show_interface_loopback00
-rw-r--r--test/units/modules/network/nxos/fixtures/_nxos_interface/show_run_interface_Ethernet2_18
-rw-r--r--test/units/modules/network/nxos/fixtures/_nxos_interface/show_run_interface_loopback00
-rw-r--r--test/units/modules/network/nxos/fixtures/_nxos_ip_interface.cfg30
-rw-r--r--test/units/modules/network/nxos/fixtures/_nxos_switchport/show_interface_ethernet97
-rw-r--r--test/units/modules/network/nxos/fixtures/_nxos_switchport/show_interface_ethernet_switchport14
-rw-r--r--test/units/modules/network/nxos/fixtures/_nxos_switchport/show_vlan18
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_acl/show_ip_access-list.txt227
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_acl_interface/show_running-config_aclmgr.txt4
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_acl_interfaces/nxos_acl_interfaces.cfg2
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_bfd_global/N7K.cfg16
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_bfd_global/N9K.cfg13
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_bgp/config.cfg17
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_bgp/config_32_bits_as.cfg6
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_command/show_version.txt68
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_config/candidate.cfg7
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_config/config.cfg26
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_devicealias/shdadatabse.cfg5
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_devicealias/shdastatus.cfg4
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_devicealias/shdastatus_mansi.cfg4
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_devicealias/shdastatuslock.cfg6
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_evpn_global/configured.cfg3
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_evpn_global/unconfigured.cfg1
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_evpn_vni_config.cfg8
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_feature/show_feature.txt4
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_interface_ospf/config.cfg17
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut3
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut_ipv4_ipv65
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut_multiple_ipv67
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_nxapi/n3k/show_run_all2
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_nxapi/n7k/show_run_all5
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_overlay_global_config.cfg1
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_pim/config.cfg2
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_pim_interface/config.cfg11
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_pim_interface/sh_run_interface_eth2_1_all0
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_pim_interface/show_interface_eth2_196
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_pim_interface/show_ip_pim_interface_eth2_168
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_pim_rp_address/config.cfg1
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_static_route.cfg3
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_system_config.cfg16
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_telemetry/N9K.cfg43
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_telemetry/N9K_SGs.cfg19
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vlan/agg_show_vlan_brief.txt27
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vlan/config.cfg4
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vlan/show_vlan_brief.txt11
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vlans/show_running-config13
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vlans/show_running-config_no_facts1
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vlans/show_running-config_vlan_11
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vlans/show_vlan45
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vlans/show_vlan_no_facts1
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vlans/show_vlan_vlan_116
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vpc/show_vpc20
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vpc/show_vrf_all30
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_hardware3
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_inventory13
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_vpc3
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_vrf_all36
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_vpc_config2
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vpc_interface/show_port-channel_summary22
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vpc_interface/show_vpc_brief14
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vrf/show_run_all4
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_default0
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_default_interface0
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_management10
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_management_interface0
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_ntc0
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_ntc_interface0
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vrf_af/config.cfg22
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vsan/shvsan.cfg35
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vsan/shvsanmem.cfg30
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vxlan_vtep/config.cfg2
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_vxlan_vtep_vni/config.cfg2
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_0.cfg8
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_1.cfg8
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_2.cfg6
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_0.cfg10
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_1.cfg9
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_2.cfg7
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonesetactive_0.cfg8
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_0.cfg23
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_1.cfg23
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_2.cfg24
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_3.cfg24
-rw-r--r--test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_4.cfg23
-rw-r--r--test/units/modules/network/nxos/nxos_module.py117
-rw-r--r--test/units/modules/network/nxos/storage/test_nxos_devicealias.py229
-rw-r--r--test/units/modules/network/nxos/storage/test_nxos_vsan.py237
-rw-r--r--test/units/modules/network/nxos/storage/test_nxos_zone_zoneset.py496
-rw-r--r--test/units/modules/network/nxos/test_nxos_acl.py79
-rw-r--r--test/units/modules/network/nxos/test_nxos_acl_interface.py71
-rw-r--r--test/units/modules/network/nxos/test_nxos_acl_interfaces.py303
-rw-r--r--test/units/modules/network/nxos/test_nxos_acls.py370
-rw-r--r--test/units/modules/network/nxos/test_nxos_banner.py83
-rw-r--r--test/units/modules/network/nxos/test_nxos_bfd_global.py284
-rw-r--r--test/units/modules/network/nxos/test_nxos_bfd_interfaces.py303
-rw-r--r--test/units/modules/network/nxos/test_nxos_bgp.py134
-rw-r--r--test/units/modules/network/nxos/test_nxos_bgp_af.py103
-rw-r--r--test/units/modules/network/nxos/test_nxos_bgp_neighbor.py81
-rw-r--r--test/units/modules/network/nxos/test_nxos_bgp_neighbor_af.py108
-rw-r--r--test/units/modules/network/nxos/test_nxos_command.py106
-rw-r--r--test/units/modules/network/nxos/test_nxos_config.py224
-rw-r--r--test/units/modules/network/nxos/test_nxos_evpn_global.py69
-rw-r--r--test/units/modules/network/nxos/test_nxos_evpn_vni.py67
-rw-r--r--test/units/modules/network/nxos/test_nxos_feature.py77
-rw-r--r--test/units/modules/network/nxos/test_nxos_hsrp.py66
-rw-r--r--test/units/modules/network/nxos/test_nxos_hsrp_interfaces.py293
-rw-r--r--test/units/modules/network/nxos/test_nxos_interface.py91
-rw-r--r--test/units/modules/network/nxos/test_nxos_interface_ospf.py141
-rw-r--r--test/units/modules/network/nxos/test_nxos_interfaces.py461
-rw-r--r--test/units/modules/network/nxos/test_nxos_l3_interface.py226
-rw-r--r--test/units/modules/network/nxos/test_nxos_l3_interfaces.py580
-rw-r--r--test/units/modules/network/nxos/test_nxos_lldp_interfaces.py236
-rw-r--r--test/units/modules/network/nxos/test_nxos_nxapi.py74
-rw-r--r--test/units/modules/network/nxos/test_nxos_ospf.py56
-rw-r--r--test/units/modules/network/nxos/test_nxos_ospf_vrf.py128
-rw-r--r--test/units/modules/network/nxos/test_nxos_overlay_global.py51
-rw-r--r--test/units/modules/network/nxos/test_nxos_pim.py100
-rw-r--r--test/units/modules/network/nxos/test_nxos_pim_interface.py249
-rw-r--r--test/units/modules/network/nxos/test_nxos_pim_rp_address.py63
-rw-r--r--test/units/modules/network/nxos/test_nxos_static_route.py79
-rw-r--r--test/units/modules/network/nxos/test_nxos_system.py130
-rw-r--r--test/units/modules/network/nxos/test_nxos_telemetry.py1256
-rw-r--r--test/units/modules/network/nxos/test_nxos_vlan.py181
-rw-r--r--test/units/modules/network/nxos/test_nxos_vlans.py210
-rw-r--r--test/units/modules/network/nxos/test_nxos_vpc.py182
-rw-r--r--test/units/modules/network/nxos/test_nxos_vpc_interface.py69
-rw-r--r--test/units/modules/network/nxos/test_nxos_vrf.py79
-rw-r--r--test/units/modules/network/nxos/test_nxos_vrf_af.py791
-rw-r--r--test/units/modules/network/nxos/test_nxos_vxlan_vtep.py63
-rw-r--r--test/units/modules/network/nxos/test_nxos_vxlan_vtep_vni.py63
132 files changed, 0 insertions, 11111 deletions
diff --git a/test/units/modules/network/nxos/fixtures/_nxos_interface/show_interface b/test/units/modules/network/nxos/fixtures/_nxos_interface/show_interface
deleted file mode 100644
index f50b8f24e9..0000000000
--- a/test/units/modules/network/nxos/fixtures/_nxos_interface/show_interface
+++ /dev/null
@@ -1,129 +0,0 @@
-{
- "TABLE_interface": {
- "ROW_interface": [
- {
- "interface": "Ethernet2/1",
- "state": "up",
- "admin_state": "up",
- "share_state": "Dedicated",
- "eth_hw_desc": "Ethernet",
- "eth_hw_addr": "fa16.3e50.6647",
- "eth_bia_addr": "fa16.3e50.6619",
- "desc": "Test aggregation on first interface",
- "eth_mtu": "1500",
- "eth_bw": 1000000,
- "eth_dly": 10,
- "eth_reliability": "255",
- "eth_txload": "1",
- "eth_rxload": "1",
- "medium": "broadcast",
- "eth_mode": "routed",
- "eth_duplex": "full",
- "eth_speed": "1000 Mb/s",
- "eth_beacon": "off",
- "eth_autoneg": "off",
- "eth_in_flowctrl": "off",
- "eth_out_flowctrl": "off",
- "eth_mdix": "off",
- "eth_swt_monitor": "off",
- "eth_ethertype": "0x8100",
- "eth_eee_state": "n/a",
- "eth_link_flapped": "4d15h",
- "eth_clear_counters": "never",
- "eth_reset_cntr": 87,
- "eth_load_interval1_rx": 0,
- "eth_inrate1_bits": 0,
- "eth_inrate1_pkts": 0,
- "eth_load_interval1_tx": 0,
- "eth_outrate1_bits": 0,
- "eth_outrate1_pkts": 0,
- "eth_inrate1_summary_bits": "0 bps",
- "eth_inrate1_summary_pkts": "0 pps",
- "eth_outrate1_summary_bits": "0 bps",
- "eth_outrate1_summary_pkts": "0 pps",
- "eth_load_interval2_rx": 0,
- "eth_inrate2_bits": 0,
- "eth_inrate2_pkts": 0,
- "eth_load_interval2_tx": 0,
- "eth_outrate2_bits": 0,
- "eth_outrate2_pkts": 0,
- "eth_inrate2_summary_bits": "0 bps",
- "eth_inrate2_summary_pkts": "0 pps",
- "eth_outrate2_summary_bits": "0 bps",
- "eth_outrate2_summary_pkts": "0 pps",
- "eth_inucast": 0,
- "eth_inmcast": 0,
- "eth_inbcast": 0,
- "eth_inpkts": 0,
- "eth_inbytes": 0,
- "eth_jumbo_inpkts": 0,
- "eth_storm_supp": 0,
- "eth_runts": 0,
- "eth_giants": 0,
- "eth_crc": 0,
- "eth_nobuf": 0,
- "eth_inerr": 0,
- "eth_frame": 0,
- "eth_overrun": 0,
- "eth_underrun": 0,
- "eth_ignored": 0,
- "eth_watchdog": 0,
- "eth_bad_eth": 0,
- "eth_bad_proto": 0,
- "eth_in_ifdown_drops": 0,
- "eth_dribble": 0,
- "eth_indiscard": 0,
- "eth_inpause": 0,
- "eth_outucast": 0,
- "eth_outmcast": 0,
- "eth_outbcast": 0,
- "eth_outpkts": 0,
- "eth_outbytes": 0,
- "eth_jumbo_outpkts": 0,
- "eth_outerr": 0,
- "eth_coll": 0,
- "eth_deferred": 0,
- "eth_latecoll": 0,
- "eth_lostcarrier": 0,
- "eth_nocarrier": 0,
- "eth_babbles": 0,
- "eth_outdiscard": 0,
- "eth_outpause": 0
- },
- {
- "interface": "loopback0",
- "state": "up",
- "admin_state": "up",
- "eth_hw_desc": "Loopback",
- "desc": "Loopback",
- "eth_ip_addr": "192.168.255.1",
- "eth_ip_mask": 32,
- "eth_ip_prefix": "192.168.255.1",
- "eth_mtu": "1500",
- "eth_bw": 8000000,
- "eth_dly": 5000,
- "eth_reliability": "255",
- "eth_txload": "1",
- "eth_rxload": "1",
- "medium": "broadcast",
- "eth_mode": "routed",
- "eth_mdix": "off",
- "loop_in_pkts": 1451854,
- "loop_in_bytes": 75138128,
- "loop_in_mcast": 0,
- "loop_in_compressed": 0,
- "loop_in_errors": 0,
- "loop_in_frame": 0,
- "loop_in_overrun": 0,
- "loop_in_fifo": 0,
- "loop_out_pkts": 0,
- "loop_out_bytes": 0,
- "loop_out_underruns": 0,
- "loop_out_errors": 0,
- "loop_out_collisions": 0,
- "loop_out_fifo": 0,
- "loop_out_carriers": 0
- }
- ]
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/_nxos_interface/show_interface_Ethernet2_1 b/test/units/modules/network/nxos/fixtures/_nxos_interface/show_interface_Ethernet2_1
deleted file mode 100644
index f478350f0d..0000000000
--- a/test/units/modules/network/nxos/fixtures/_nxos_interface/show_interface_Ethernet2_1
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- "TABLE_interface": {
- "ROW_interface": {
- "interface": "Ethernet2/1",
- "state": "up",
- "admin_state": "up",
- "share_state": "Dedicated",
- "eth_hw_desc": "Ethernet",
- "eth_hw_addr": "fa16.3e00.0001",
- "eth_bia_addr": "fa16.3e27.f279",
- "desc": "to nxos03",
- "eth_ip_addr": "10.0.0.45",
- "eth_ip_mask": 30,
- "eth_ip_prefix": "10.0.0.44",
- "eth_mtu": "1500",
- "eth_bw": 1000000,
- "eth_dly": 10,
- "eth_reliability": "255",
- "eth_txload": "1",
- "eth_rxload": "1",
- "medium": "broadcast",
- "eth_mode": "routed",
- "eth_duplex": "full",
- "eth_speed": "1000 Mb/s",
- "eth_beacon": "off",
- "eth_autoneg": "off",
- "eth_in_flowctrl": "off",
- "eth_out_flowctrl": "off",
- "eth_mdix": "off",
- "eth_swt_monitor": "off",
- "eth_ethertype": "0x8100",
- "eth_eee_state": "n/a",
- "eth_link_flapped": "14week(s) 0day(s)",
- "eth_clear_counters": "never",
- "eth_reset_cntr": 1,
- "eth_load_interval1_rx": 0,
- "eth_inrate1_bits": 0,
- "eth_inrate1_pkts": 0,
- "eth_load_interval1_tx": 0,
- "eth_outrate1_bits": 0,
- "eth_outrate1_pkts": 0,
- "eth_inrate1_summary_bits": "0 bps",
- "eth_inrate1_summary_pkts": "0 pps",
- "eth_outrate1_summary_bits": "0 bps",
- "eth_outrate1_summary_pkts": "0 pps",
- "eth_load_interval2_rx": 0,
- "eth_inrate2_bits": 0,
- "eth_inrate2_pkts": 0,
- "eth_load_interval2_tx": 0,
- "eth_outrate2_bits": 0,
- "eth_outrate2_pkts": 0,
- "eth_inrate2_summary_bits": "0 bps",
- "eth_inrate2_summary_pkts": "0 pps",
- "eth_outrate2_summary_bits": "0 bps",
- "eth_outrate2_summary_pkts": "0 pps",
- "eth_inucast": 0,
- "eth_inmcast": 0,
- "eth_inbcast": 0,
- "eth_inpkts": 0,
- "eth_inbytes": 0,
- "eth_jumbo_inpkts": 0,
- "eth_storm_supp": 0,
- "eth_runts": 0,
- "eth_giants": 0,
- "eth_crc": 0,
- "eth_nobuf": 0,
- "eth_inerr": 0,
- "eth_frame": 0,
- "eth_overrun": 0,
- "eth_underrun": 0,
- "eth_ignored": 0,
- "eth_watchdog": 0,
- "eth_bad_eth": 0,
- "eth_bad_proto": 0,
- "eth_in_ifdown_drops": 0,
- "eth_dribble": 0,
- "eth_indiscard": 0,
- "eth_inpause": 0,
- "eth_outucast": 0,
- "eth_outmcast": 0,
- "eth_outbcast": 0,
- "eth_outpkts": 0,
- "eth_outbytes": 0,
- "eth_jumbo_outpkts": 0,
- "eth_outerr": 0,
- "eth_coll": 0,
- "eth_deferred": 0,
- "eth_latecoll": 0,
- "eth_lostcarrier": 0,
- "eth_nocarrier": 0,
- "eth_babbles": 0,
- "eth_outdiscard": 0,
- "eth_outpause": 0
- }
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/_nxos_interface/show_interface_loopback0 b/test/units/modules/network/nxos/fixtures/_nxos_interface/show_interface_loopback0
deleted file mode 100644
index e69de29bb2..0000000000
--- a/test/units/modules/network/nxos/fixtures/_nxos_interface/show_interface_loopback0
+++ /dev/null
diff --git a/test/units/modules/network/nxos/fixtures/_nxos_interface/show_run_interface_Ethernet2_1 b/test/units/modules/network/nxos/fixtures/_nxos_interface/show_run_interface_Ethernet2_1
deleted file mode 100644
index e60c3b4c01..0000000000
--- a/test/units/modules/network/nxos/fixtures/_nxos_interface/show_run_interface_Ethernet2_1
+++ /dev/null
@@ -1,8 +0,0 @@
-interface Ethernet1/5
- description to csr02
- no switchport
- speed 1000
- mtu 1500
- mac-address fa16.3e00.000b
- ip address 172.31.0.66/30
- no shutdown
diff --git a/test/units/modules/network/nxos/fixtures/_nxos_interface/show_run_interface_loopback0 b/test/units/modules/network/nxos/fixtures/_nxos_interface/show_run_interface_loopback0
deleted file mode 100644
index e69de29bb2..0000000000
--- a/test/units/modules/network/nxos/fixtures/_nxos_interface/show_run_interface_loopback0
+++ /dev/null
diff --git a/test/units/modules/network/nxos/fixtures/_nxos_ip_interface.cfg b/test/units/modules/network/nxos/fixtures/_nxos_ip_interface.cfg
deleted file mode 100644
index 3ca37d78ee..0000000000
--- a/test/units/modules/network/nxos/fixtures/_nxos_ip_interface.cfg
+++ /dev/null
@@ -1,30 +0,0 @@
-IP Interface Status for VRF "default"(1)
-Ethernet2/4, Interface status: protocol-up/link-up/admin-up, iod: 39,
- IP address: 192.0.2.1, IP subnet: 1.1.1.0/8 route-preference: 0, tag: 0
- IP broadcast address: 255.255.255.255
- IP multicast groups locally joined: none
- IP MTU: 1500 bytes (using link MTU)
- IP primary address route-preference: 0, tag: 0
- IP proxy ARP : disabled
- IP Local Proxy ARP : disabled
- IP multicast routing: disabled
- IP icmp redirects: enabled
- IP directed-broadcast: disabled
- IP Forwarding: disabled
- IP icmp unreachables (except port): disabled
- IP icmp port-unreachable: enabled
- IP unicast reverse path forwarding: none
- IP load sharing: none
- IP interface statistics last reset: never
- IP interface software stats: (sent/received/forwarded/originated/consumed)
- Unicast packets : 0/0/0/0/0
- Unicast bytes : 0/0/0/0/0
- Multicast packets : 0/0/0/0/0
- Multicast bytes : 0/0/0/0/0
- Broadcast packets : 0/0/0/0/0
- Broadcast bytes : 0/0/0/0/0
- Labeled packets : 0/0/0/0/0
- Labeled bytes : 0/0/0/0/0
- WCCP Redirect outbound: disabled
- WCCP Redirect inbound: disabled
- WCCP Redirect exclude: disabled
diff --git a/test/units/modules/network/nxos/fixtures/_nxos_switchport/show_interface_ethernet b/test/units/modules/network/nxos/fixtures/_nxos_switchport/show_interface_ethernet
deleted file mode 100644
index 60e729b2c3..0000000000
--- a/test/units/modules/network/nxos/fixtures/_nxos_switchport/show_interface_ethernet
+++ /dev/null
@@ -1,97 +0,0 @@
-{
- "TABLE_interface": {
- "ROW_interface": {
- "interface": "Ethernet2/1",
- "state": "up",
- "admin_state": "up",
- "share_state": "Dedicated",
- "eth_hw_desc": "Ethernet",
- "eth_hw_addr": "fa16.3e00.0001",
- "eth_bia_addr": "fa16.3e27.f279",
- "desc": "to nxos03",
- "eth_ip_addr": "10.0.0.45",
- "eth_ip_mask": 30,
- "eth_ip_prefix": "10.0.0.44",
- "eth_mtu": "1500",
- "eth_bw": 1000000,
- "eth_dly": 10,
- "eth_reliability": "255",
- "eth_txload": "1",
- "eth_rxload": "1",
- "medium": "broadcast",
- "eth_mode": "access",
- "eth_bundle": 0,
- "eth_duplex": "full",
- "eth_speed": "1000 Mb/s",
- "eth_beacon": "off",
- "eth_autoneg": "off",
- "eth_in_flowctrl": "off",
- "eth_out_flowctrl": "off",
- "eth_mdix": "off",
- "eth_swt_monitor": "off",
- "eth_ethertype": "0x8100",
- "eth_eee_state": "n/a",
- "eth_link_flapped": "13week(s) 0day(s)",
- "eth_clear_counters": "never",
- "eth_reset_cntr": 1,
- "eth_load_interval1_rx": 0,
- "eth_inrate1_bits": 0,
- "eth_inrate1_pkts": 0,
- "eth_load_interval1_tx": 0,
- "eth_outrate1_bits": 0,
- "eth_outrate1_pkts": 0,
- "eth_inrate1_summary_bits": "0 bps",
- "eth_inrate1_summary_pkts": "0 pps",
- "eth_outrate1_summary_bits": "0 bps",
- "eth_outrate1_summary_pkts": "0 pps",
- "eth_load_interval2_rx": 0,
- "eth_inrate2_bits": 0,
- "eth_inrate2_pkts": 0,
- "eth_load_interval2_tx": 0,
- "eth_outrate2_bits": 0,
- "eth_outrate2_pkts": 0,
- "eth_inrate2_summary_bits": "0 bps",
- "eth_inrate2_summary_pkts": "0 pps",
- "eth_outrate2_summary_bits": "0 bps",
- "eth_outrate2_summary_pkts": "0 pps",
- "eth_inucast": 0,
- "eth_inmcast": 0,
- "eth_inbcast": 0,
- "eth_inpkts": 0,
- "eth_inbytes": 0,
- "eth_jumbo_inpkts": 0,
- "eth_storm_supp": 0,
- "eth_runts": 0,
- "eth_giants": 0,
- "eth_crc": 0,
- "eth_nobuf": 0,
- "eth_inerr": 0,
- "eth_frame": 0,
- "eth_overrun": 0,
- "eth_underrun": 0,
- "eth_ignored": 0,
- "eth_watchdog": 0,
- "eth_bad_eth": 0,
- "eth_bad_proto": 0,
- "eth_in_ifdown_drops": 0,
- "eth_dribble": 0,
- "eth_indiscard": 0,
- "eth_inpause": 0,
- "eth_outucast": 0,
- "eth_outmcast": 0,
- "eth_outbcast": 0,
- "eth_outpkts": 0,
- "eth_outbytes": 0,
- "eth_jumbo_outpkts": 0,
- "eth_outerr": 0,
- "eth_coll": 0,
- "eth_deferred": 0,
- "eth_latecoll": 0,
- "eth_lostcarrier": 0,
- "eth_nocarrier": 0,
- "eth_babbles": 0,
- "eth_outdiscard": 0,
- "eth_outpause": 0
- }
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/_nxos_switchport/show_interface_ethernet_switchport b/test/units/modules/network/nxos/fixtures/_nxos_switchport/show_interface_ethernet_switchport
deleted file mode 100644
index 352da5e7a3..0000000000
--- a/test/units/modules/network/nxos/fixtures/_nxos_switchport/show_interface_ethernet_switchport
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "TABLE_interface": {
- "ROW_interface": {
- "interface": "Ethernet2/1",
- "oper_mode": "access",
- "switchport": "Enabled",
- "access_vlan": 2,
- "access_vlan_name": "VLAN2",
- "native_vlan": 10,
- "native_vlan_name": "VLAN10",
- "trunk_vlans": "1-50"
- }
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/_nxos_switchport/show_vlan b/test/units/modules/network/nxos/fixtures/_nxos_switchport/show_vlan
deleted file mode 100644
index 407267bb00..0000000000
--- a/test/units/modules/network/nxos/fixtures/_nxos_switchport/show_vlan
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "TABLE_vlanbrief": {
- "ROW_vlanbrief": {
- "vlanshowbr-vlanid": 1,
- "vlanshowbr-vlanid-utf": 1,
- "vlanshowbr-vlanname": "VLAN1",
- "vlanshowbr-vlanstate": "active",
- "vlanshowbr-shutstate": "noshutdown"
- }
- },
- "TABLE_mtuinfo": {
- "ROW_mtuinfo": {
- "vlanshowinfo-vlanid": 1,
- "vlanshowinfo-media-type": "enet",
- "vlanshowinfo-vlanmode": "ce-vlan"
- }
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_acl/show_ip_access-list.txt b/test/units/modules/network/nxos/fixtures/nxos_acl/show_ip_access-list.txt
deleted file mode 100644
index 37be9f7d78..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_acl/show_ip_access-list.txt
+++ /dev/null
@@ -1,227 +0,0 @@
-{
- "TABLE_ip_ipv6_mac": {
- "ROW_ip_ipv6_mac": [
- {
- "op_ip_ipv6_mac": "ip",
- "acl_name": "copp-system-p-acl-bgp",
- "TABLE_seqno": {
- "ROW_seqno": [
- {
- "seqno": 10,
- "permitdeny": "permit",
- "proto_str": "tcp",
- "src_any": "any",
- "src_port_op": "gt",
- "src_port1_num": "1024",
- "dest_any": "any",
- "dest_port_op": "eq",
- "dest_port1_str": "bgp",
- "dest_port1_num": "179"
- },
- {
- "seqno": 20,
- "permitdeny": "permit",
- "proto_str": "tcp",
- "src_any": "any",
- "src_port_op": "eq",
- "src_port1_str": "bgp",
- "src_port1_num": "179",
- "dest_any": "any",
- "dest_port_op": "gt",
- "dest_port1_num": "1024"
- }
- ]
- }
- },
- {
- "op_ip_ipv6_mac": "ip",
- "acl_name": "copp-system-p-acl-cts",
- "TABLE_seqno": {
- "ROW_seqno": [
- {
- "seqno": 10,
- "permitdeny": "permit",
- "proto_str": "tcp",
- "src_any": "any",
- "dest_any": "any",
- "dest_port_op": "eq",
- "dest_port1_num": "64999"
- },
- {
- "seqno": 20,
- "permitdeny": "permit",
- "proto_str": "tcp",
- "src_any": "any",
- "src_port_op": "eq",
- "src_port1_num": "64999",
- "dest_any": "any"
- }
- ]
- }
- },
- {
- "op_ip_ipv6_mac": "ip",
- "acl_name": "copp-system-p-acl-dhcp",
- "TABLE_seqno": {
- "ROW_seqno": [
- {
- "seqno": 10,
- "permitdeny": "permit",
- "proto_str": "udp",
- "src_any": "any",
- "src_port_op": "eq",
- "src_port1_str": "bootpc",
- "src_port1_num": "68",
- "dest_any": "any"
- },
- {
- "seqno": 20,
- "permitdeny": "permit",
- "proto_str": "udp",
- "src_any": "any",
- "src_port_op": "neq",
- "src_port1_str": "bootps",
- "src_port1_num": "67",
- "dest_any": "any",
- "dest_port_op": "eq",
- "dest_port1_str": "bootps",
- "dest_port1_num": "67"
- }
- ]
- }
- },
- {
- "op_ip_ipv6_mac": "ip",
- "acl_name": "copp-system-p-acl-dhcp-relay-response",
- "TABLE_seqno": {
- "ROW_seqno": [
- {
- "seqno": 10,
- "permitdeny": "permit",
- "proto_str": "udp",
- "src_any": "any",
- "src_port_op": "eq",
- "src_port1_str": "bootps",
- "src_port1_num": "67",
- "dest_any": "any"
- },
- {
- "seqno": 20,
- "permitdeny": "permit",
- "proto_str": "udp",
- "src_any": "any",
- "dest_any": "any",
- "dest_port_op": "eq",
- "dest_port1_str": "bootpc",
- "dest_port1_num": "68"
- }
- ]
- }
- },
- {
- "op_ip_ipv6_mac": "ip",
- "acl_name": "copp-system-p-acl-eigrp",
- "TABLE_seqno": {
- "ROW_seqno": {
- "seqno": 10,
- "permitdeny": "permit",
- "proto_str": "eigrp",
- "src_any": "any",
- "dest_any": "any"
- }
- }
- },
- {
- "op_ip_ipv6_mac": "ip",
- "acl_name": "copp-system-p-acl-ftp",
- "TABLE_seqno": {
- "ROW_seqno": [
- {
- "seqno": 10,
- "permitdeny": "permit",
- "proto_str": "tcp",
- "src_any": "any",
- "dest_any": "any",
- "dest_port_op": "eq",
- "dest_port1_str": "ftp-data",
- "dest_port1_num": "20"
- },
- {
- "seqno": 20,
- "permitdeny": "permit",
- "proto_str": "tcp",
- "src_any": "any",
- "dest_any": "any",
- "dest_port_op": "eq",
- "dest_port1_str": "ftp",
- "dest_port1_num": "21"
- },
- {
- "seqno": 30,
- "permitdeny": "permit",
- "proto_str": "tcp",
- "src_any": "any",
- "src_port_op": "eq",
- "src_port1_str": "ftp-data",
- "src_port1_num": "20",
- "dest_any": "any"
- },
- {
- "seqno": 40,
- "permitdeny": "permit",
- "proto_str": "tcp",
- "src_any": "any",
- "src_port_op": "eq",
- "src_port1_str": "ftp",
- "src_port1_num": "21",
- "dest_any": "any"
- }
- ]
- }
- },
- {
- "op_ip_ipv6_mac": "ip",
- "acl_name": "copp-system-p-acl-glbp",
- "TABLE_seqno": {
- "ROW_seqno": {
- "seqno": 10,
- "permitdeny": "permit",
- "proto_str": "udp",
- "src_any": "any",
- "src_port_op": "eq",
- "src_port1_num": "3222",
- "dest_ip_prefix": "224.0.0.0/24",
- "dest_port_op": "eq",
- "dest_port1_num": "3222"
- }
- }
- },
- {
- "op_ip_ipv6_mac": "ip",
- "acl_name": "copp-system-p-acl-hsrp",
- "TABLE_seqno": {
- "ROW_seqno": [
- {
- "seqno": 10,
- "permitdeny": "permit",
- "proto_str": "udp",
- "src_any": "any",
- "dest_ip_prefix": "224.0.0.2/32",
- "dest_port_op": "eq",
- "dest_port1_num": "1985"
- },
- {
- "seqno": 20,
- "permitdeny": "permit",
- "proto_str": "udp",
- "src_any": "any",
- "dest_ip_prefix": "224.0.0.102/32",
- "dest_port_op": "eq",
- "dest_port1_num": "1985"
- }
- ]
- }
- }
- ]
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_acl_interface/show_running-config_aclmgr.txt b/test/units/modules/network/nxos/fixtures/nxos_acl_interface/show_running-config_aclmgr.txt
deleted file mode 100644
index ccf92c9913..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_acl_interface/show_running-config_aclmgr.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-ip access-list ANSIBLE_OUT
- 10 permit tcp 192.0.2.1/24 any
-interface Ethernet1/41
- ip access-group copp-system-p-acl-bgp out
diff --git a/test/units/modules/network/nxos/fixtures/nxos_acl_interfaces/nxos_acl_interfaces.cfg b/test/units/modules/network/nxos/fixtures/nxos_acl_interfaces/nxos_acl_interfaces.cfg
deleted file mode 100644
index 199244e784..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_acl_interfaces/nxos_acl_interfaces.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-interface Ethernet1/2
- ip access-group ACL1v4 out \ No newline at end of file
diff --git a/test/units/modules/network/nxos/fixtures/nxos_bfd_global/N7K.cfg b/test/units/modules/network/nxos/fixtures/nxos_bfd_global/N7K.cfg
deleted file mode 100644
index efe9626869..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_bfd_global/N7K.cfg
+++ /dev/null
@@ -1,16 +0,0 @@
-feature bfd
-
-bfd echo-interface loopback2
-bfd echo-rx-interval 56
-bfd interval 51 min_rx 52 multiplier 4
-bfd slow-timer 2001
-bfd startup-timer 6
-bfd ipv4 echo-rx-interval 54
-bfd ipv4 interval 54 min_rx 54 multiplier 4
-bfd ipv4 slow-timer 2004
-bfd ipv6 echo-rx-interval 56
-bfd ipv6 interval 56 min_rx 56 multiplier 6
-bfd ipv6 slow-timer 2006
-bfd fabricpath slow-timer 2008
-bfd fabricpath interval 58 min_rx 58 multiplier 8
-bfd fabricpath vlan 2
diff --git a/test/units/modules/network/nxos/fixtures/nxos_bfd_global/N9K.cfg b/test/units/modules/network/nxos/fixtures/nxos_bfd_global/N9K.cfg
deleted file mode 100644
index ab1d2d4a51..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_bfd_global/N9K.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
-feature bfd
-
-bfd echo-interface loopback2
-bfd echo-rx-interval 56
-bfd interval 51 min_rx 52 multiplier 4
-bfd slow-timer 2001
-bfd startup-timer 6
-bfd ipv4 echo-rx-interval 54
-bfd ipv4 interval 54 min_rx 54 multiplier 4
-bfd ipv4 slow-timer 2004
-bfd ipv6 echo-rx-interval 56
-bfd ipv6 interval 56 min_rx 56 multiplier 6
-bfd ipv6 slow-timer 2006
diff --git a/test/units/modules/network/nxos/fixtures/nxos_bgp/config.cfg b/test/units/modules/network/nxos/fixtures/nxos_bgp/config.cfg
deleted file mode 100644
index 2ef5533e42..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_bgp/config.cfg
+++ /dev/null
@@ -1,17 +0,0 @@
-feature bgp
-
-router bgp 65535
- router-id 192.168.1.1
- event-history cli size medium
- event-history detail
- vrf test2
- address-family ipv4 unicast
- timers bgp 1 10
- neighbor 1.1.1.1
- neighbor 1.1.1.2
- bfd
- neighbor 3.3.3.4
- remove-private-as all
- neighbor 3.3.3.5
- address-family ipv4 unicast
- maximum-prefix 30 30
diff --git a/test/units/modules/network/nxos/fixtures/nxos_bgp/config_32_bits_as.cfg b/test/units/modules/network/nxos/fixtures/nxos_bgp/config_32_bits_as.cfg
deleted file mode 100644
index 03db9936fd..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_bgp/config_32_bits_as.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-feature bgp
-
-router bgp 65535.65535
- router-id 192.168.1.1
- vrf test
- address-family ipv4 unicast
diff --git a/test/units/modules/network/nxos/fixtures/nxos_command/show_version.txt b/test/units/modules/network/nxos/fixtures/nxos_command/show_version.txt
deleted file mode 100644
index ba9ae66515..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_command/show_version.txt
+++ /dev/null
@@ -1,68 +0,0 @@
-Cisco NX-OS Software
-Copyright (c) 2002-2016, Cisco Systems, Inc. All rights reserved.
-NX-OSv software ("NX-OSv Software") and related documentation,
-files or other reference materials ("Documentation") are
-the proprietary property and confidential information of Cisco
-Systems, Inc. ("Cisco") and are protected, without limitation,
-pursuant to United States and International copyright and trademark
-laws in the applicable jurisdiction which provide civil and criminal
-penalties for copying or distribution without Cisco's authorization.
-
-Any use or disclosure, in whole or in part, of the NX-OSv Software
-or Documentation to any third party for any purposes is expressly
-prohibited except as otherwise authorized by Cisco in writing.
-The copyrights to certain works contained herein are owned by other
-third parties and are used and distributed under license. Some parts
-of this software may be covered under the GNU Public License or the
-GNU Lesser General Public License. A copy of each such license is
-available at
-http://www.gnu.org/licenses/gpl.html and
-http://www.gnu.org/licenses/lgpl.html
-***************************************************************************
-* NX-OSv is strictly limited to use for evaluation, demonstration and *
-* NX-OS education. NX-OSv is provided as-is and is not supported by *
-* Cisco's Technical Advisory Center. Any use or disclosure, in whole or *
-* in part of the NX-OSv Software or Documentation to any third party for *
-* any purposes is expressly prohibited except as otherwise authorized by *
-* Cisco in writing. *
-***************************************************************************
-nxos01# show version
-Cisco Nexus Operating System (NX-OS) Software
-TAC support: http://www.cisco.com/tac
-Documents: http://www.cisco.com/en/US/products/ps9372/tsd_products_support_series_home.html
-Copyright (c) 2002-2016, Cisco Systems, Inc. All rights reserved.
-The copyrights to certain works contained herein are owned by
-other third parties and are used and distributed under license.
-Some parts of this software are covered under the GNU Public
-License. A copy of the license is available at
-http://www.gnu.org/licenses/gpl.html.
-
-NX-OSv is a demo version of the Nexus Operating System
-
-Software
- loader: version N/A
- kickstart: version 7.3(0)D1(1)
- system: version 7.3(0)D1(1)
- kickstart image file is: bootflash:///titanium-d1-kickstart.7.3.0.D1.1.bin
- kickstart compile time: 1/11/2016 16:00:00 [02/11/2016 10:30:12]
- system image file is: bootflash:///titanium-d1.7.3.0.D1.1.bin
- system compile time: 1/11/2016 16:00:00 [02/11/2016 13:08:11]
-
-
-Hardware
- cisco NX-OSv Chassis ("NX-OSv Supervisor Module")
- QEMU Virtual CPU version 2.0 with 3064860 kB of memory.
- Processor Board ID TM3E35B910B
-
- Device name: nxos01
- bootflash: 3184776 kB
-
-Kernel uptime is 7 day(s), 17 hour(s), 0 minute(s), 23 second(s)
-
-
-plugin
- Core Plugin, Ethernet Plugin
-
-Active Package(s)
-
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_config/candidate.cfg b/test/units/modules/network/nxos/fixtures/nxos_config/candidate.cfg
deleted file mode 100644
index b11bc93e25..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_config/candidate.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-hostname switch01
-!
-interface Ethernet1
- description test interface
- no shutdown
-!
-ip routing
diff --git a/test/units/modules/network/nxos/fixtures/nxos_config/config.cfg b/test/units/modules/network/nxos/fixtures/nxos_config/config.cfg
deleted file mode 100644
index 6a471371a5..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_config/config.cfg
+++ /dev/null
@@ -1,26 +0,0 @@
-!
-hostname localhost
-ip domain-name eng.ansible.com
-!
-vrf definition mgmt
-!
-vrf definition test
-!
-interface Management1
- ip address 192.168.1.1/24
-!
-interface Ethernet1
- shutdown
-!
-interface Ethernet2
- shutdown
-!
-interface Ethernet3
- shutdown
-!
-interface Ethernet4
- shutdown
-!
-interface Ethernet5
- shutdown
-!
diff --git a/test/units/modules/network/nxos/fixtures/nxos_devicealias/shdadatabse.cfg b/test/units/modules/network/nxos/fixtures/nxos_devicealias/shdadatabse.cfg
deleted file mode 100644
index cc526a7146..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_devicealias/shdadatabse.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-device-alias name test1_add pwwn 56:02:22:11:22:88:11:67
-device-alias name test2_add pwwn 65:22:22:11:22:22:11:0d
-device-alias name tieHost-1 pwwn 10:00:00:00:89:a1:01:01
-device-alias name tieHost-2 pwwn 10:00:00:00:89:a1:01:02
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_devicealias/shdastatus.cfg b/test/units/modules/network/nxos/fixtures/nxos_devicealias/shdastatus.cfg
deleted file mode 100644
index 7db8803456..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_devicealias/shdastatus.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-Fabric Distribution : Enabled
-Database:- Device Aliases 3831 Mode: Enhanced
- Checksum: 0xdc7b6c6c124abd8fe28cf6a1ab293c
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_devicealias/shdastatus_mansi.cfg b/test/units/modules/network/nxos/fixtures/nxos_devicealias/shdastatus_mansi.cfg
deleted file mode 100644
index aa399b6410..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_devicealias/shdastatus_mansi.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-Fabric Distribution : Disabled
-Database:- Device Aliases 3831 Mode: Basic
- Checksum: 0xdc7b6c6c124abd8fe28cf6a1ab293c
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_devicealias/shdastatuslock.cfg b/test/units/modules/network/nxos/fixtures/nxos_devicealias/shdastatuslock.cfg
deleted file mode 100644
index 65cb052f5f..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_devicealias/shdastatuslock.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-Fabric Distribution : Enabled
-Database:- Device Aliases 3831 Mode: Enhanced
- Checksum: 0xdc7b6c6c124abd8fe28cf6a1ab293c
-Locked By:- User "CLI/SNMPv3:admin" SWWN 20:00:54:7f:ee:1b:13:f0
-Pending Database:- Device Aliases 3831 Mode: Enhanced
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_evpn_global/configured.cfg b/test/units/modules/network/nxos/fixtures/nxos_evpn_global/configured.cfg
deleted file mode 100644
index 32504f6bfb..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_evpn_global/configured.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-hostname switch01
-nv overlay evpn
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_evpn_global/unconfigured.cfg b/test/units/modules/network/nxos/fixtures/nxos_evpn_global/unconfigured.cfg
deleted file mode 100644
index c555eaaf96..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_evpn_global/unconfigured.cfg
+++ /dev/null
@@ -1 +0,0 @@
-hostname switch01
diff --git a/test/units/modules/network/nxos/fixtures/nxos_evpn_vni_config.cfg b/test/units/modules/network/nxos/fixtures/nxos_evpn_vni_config.cfg
deleted file mode 100644
index b1c8352f58..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_evpn_vni_config.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-nv overlay evpn
-feature nv overlay
-
-evpn
- vni 6000 l2
- rd auto
- route-target import auto
- route-target export auto
diff --git a/test/units/modules/network/nxos/fixtures/nxos_feature/show_feature.txt b/test/units/modules/network/nxos/fixtures/nxos_feature/show_feature.txt
deleted file mode 100644
index cf6dbdbde8..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_feature/show_feature.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Feature Name Instance State
--------------------- -------- -----
-nve 1 disabled
-ospf 1 enabled
diff --git a/test/units/modules/network/nxos/fixtures/nxos_interface_ospf/config.cfg b/test/units/modules/network/nxos/fixtures/nxos_interface_ospf/config.cfg
deleted file mode 100644
index 2061d4d71a..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_interface_ospf/config.cfg
+++ /dev/null
@@ -1,17 +0,0 @@
-interface Ethernet1/33
-interface Ethernet1/33.101
- ip router ospf 1 area 0.0.0.1
-interface Ethernet1/34
- ip router ospf 1 area 0.0.0.1
- ip ospf passive-interface
-interface Ethernet1/35
- ip router ospf 1 area 0.0.0.1
- no ip ospf passive-interface
-
-interface Ethernet1/36
- ip router ospf 1 area 0.0.0.1
- ip ospf bfd
-
-interface Ethernet1/37
- ip router ospf 1 area 0.0.0.1
- ip ospf bfd disable
diff --git a/test/units/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut b/test/units/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut
deleted file mode 100644
index b0407edc49..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut
+++ /dev/null
@@ -1,3 +0,0 @@
-interface Ethernet1/1
- description Configured by Ansible
- no shutdown
diff --git a/test/units/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut_ipv4_ipv6 b/test/units/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut_ipv4_ipv6
deleted file mode 100644
index 3e4f197876..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut_ipv4_ipv6
+++ /dev/null
@@ -1,5 +0,0 @@
-interface Ethernet1/1
- description Configured by Ansible
- ip address 192.168.0.1/24
- ipv6 address 2001:db8::1/124
- no shutdown
diff --git a/test/units/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut_multiple_ipv6 b/test/units/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut_multiple_ipv6
deleted file mode 100644
index 9013b1348e..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut_multiple_ipv6
+++ /dev/null
@@ -1,7 +0,0 @@
-interface Ethernet1/1
- description Configured by Ansible
- ip address 192.168.0.1/24
- ipv6 address 2001:db8:1::1/124
- ipv6 address 2001:db8:2::1/124
- ipv6 address 2001:db8::1/124
- no shutdown
diff --git a/test/units/modules/network/nxos/fixtures/nxos_nxapi/n3k/show_run_all b/test/units/modules/network/nxos/fixtures/nxos_nxapi/n3k/show_run_all
deleted file mode 100644
index da0dfaa79f..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_nxapi/n3k/show_run_all
+++ /dev/null
@@ -1,2 +0,0 @@
-feature nxapi
-nxapi http port 80
diff --git a/test/units/modules/network/nxos/fixtures/nxos_nxapi/n7k/show_run_all b/test/units/modules/network/nxos/fixtures/nxos_nxapi/n7k/show_run_all
deleted file mode 100644
index 0c4a3ea5a6..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_nxapi/n7k/show_run_all
+++ /dev/null
@@ -1,5 +0,0 @@
-feature nxapi
-nxapi http port 80
-no nxapi https
-no nxapi sandbox
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_overlay_global_config.cfg b/test/units/modules/network/nxos/fixtures/nxos_overlay_global_config.cfg
deleted file mode 100644
index 45a6ff99c7..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_overlay_global_config.cfg
+++ /dev/null
@@ -1 +0,0 @@
-fabric forwarding anycast-gateway-mac 000B.000B.000B
diff --git a/test/units/modules/network/nxos/fixtures/nxos_pim/config.cfg b/test/units/modules/network/nxos/fixtures/nxos_pim/config.cfg
deleted file mode 100644
index 9771622d6f..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_pim/config.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-ip pim bfd
-ip pim ssm range 127.0.0.0/31
diff --git a/test/units/modules/network/nxos/fixtures/nxos_pim_interface/config.cfg b/test/units/modules/network/nxos/fixtures/nxos_pim_interface/config.cfg
deleted file mode 100644
index 2120e607bf..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_pim_interface/config.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-!Command: show running-config interface Ethernet2/1
-!Time: Mon Aug 21 17:22:02 2017
-
-version 7.3(0)D1(1)
-
-interface Ethernet2/1
- description Configured by Ansible - Layer3
- no switchport
- mac-address fa16.3e00.0006
- ip address 10.0.0.69/30
- no shutdown
diff --git a/test/units/modules/network/nxos/fixtures/nxos_pim_interface/sh_run_interface_eth2_1_all b/test/units/modules/network/nxos/fixtures/nxos_pim_interface/sh_run_interface_eth2_1_all
deleted file mode 100644
index e69de29bb2..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_pim_interface/sh_run_interface_eth2_1_all
+++ /dev/null
diff --git a/test/units/modules/network/nxos/fixtures/nxos_pim_interface/show_interface_eth2_1 b/test/units/modules/network/nxos/fixtures/nxos_pim_interface/show_interface_eth2_1
deleted file mode 100644
index f478350f0d..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_pim_interface/show_interface_eth2_1
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- "TABLE_interface": {
- "ROW_interface": {
- "interface": "Ethernet2/1",
- "state": "up",
- "admin_state": "up",
- "share_state": "Dedicated",
- "eth_hw_desc": "Ethernet",
- "eth_hw_addr": "fa16.3e00.0001",
- "eth_bia_addr": "fa16.3e27.f279",
- "desc": "to nxos03",
- "eth_ip_addr": "10.0.0.45",
- "eth_ip_mask": 30,
- "eth_ip_prefix": "10.0.0.44",
- "eth_mtu": "1500",
- "eth_bw": 1000000,
- "eth_dly": 10,
- "eth_reliability": "255",
- "eth_txload": "1",
- "eth_rxload": "1",
- "medium": "broadcast",
- "eth_mode": "routed",
- "eth_duplex": "full",
- "eth_speed": "1000 Mb/s",
- "eth_beacon": "off",
- "eth_autoneg": "off",
- "eth_in_flowctrl": "off",
- "eth_out_flowctrl": "off",
- "eth_mdix": "off",
- "eth_swt_monitor": "off",
- "eth_ethertype": "0x8100",
- "eth_eee_state": "n/a",
- "eth_link_flapped": "14week(s) 0day(s)",
- "eth_clear_counters": "never",
- "eth_reset_cntr": 1,
- "eth_load_interval1_rx": 0,
- "eth_inrate1_bits": 0,
- "eth_inrate1_pkts": 0,
- "eth_load_interval1_tx": 0,
- "eth_outrate1_bits": 0,
- "eth_outrate1_pkts": 0,
- "eth_inrate1_summary_bits": "0 bps",
- "eth_inrate1_summary_pkts": "0 pps",
- "eth_outrate1_summary_bits": "0 bps",
- "eth_outrate1_summary_pkts": "0 pps",
- "eth_load_interval2_rx": 0,
- "eth_inrate2_bits": 0,
- "eth_inrate2_pkts": 0,
- "eth_load_interval2_tx": 0,
- "eth_outrate2_bits": 0,
- "eth_outrate2_pkts": 0,
- "eth_inrate2_summary_bits": "0 bps",
- "eth_inrate2_summary_pkts": "0 pps",
- "eth_outrate2_summary_bits": "0 bps",
- "eth_outrate2_summary_pkts": "0 pps",
- "eth_inucast": 0,
- "eth_inmcast": 0,
- "eth_inbcast": 0,
- "eth_inpkts": 0,
- "eth_inbytes": 0,
- "eth_jumbo_inpkts": 0,
- "eth_storm_supp": 0,
- "eth_runts": 0,
- "eth_giants": 0,
- "eth_crc": 0,
- "eth_nobuf": 0,
- "eth_inerr": 0,
- "eth_frame": 0,
- "eth_overrun": 0,
- "eth_underrun": 0,
- "eth_ignored": 0,
- "eth_watchdog": 0,
- "eth_bad_eth": 0,
- "eth_bad_proto": 0,
- "eth_in_ifdown_drops": 0,
- "eth_dribble": 0,
- "eth_indiscard": 0,
- "eth_inpause": 0,
- "eth_outucast": 0,
- "eth_outmcast": 0,
- "eth_outbcast": 0,
- "eth_outpkts": 0,
- "eth_outbytes": 0,
- "eth_jumbo_outpkts": 0,
- "eth_outerr": 0,
- "eth_coll": 0,
- "eth_deferred": 0,
- "eth_latecoll": 0,
- "eth_lostcarrier": 0,
- "eth_nocarrier": 0,
- "eth_babbles": 0,
- "eth_outdiscard": 0,
- "eth_outpause": 0
- }
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_pim_interface/show_ip_pim_interface_eth2_1 b/test/units/modules/network/nxos/fixtures/nxos_pim_interface/show_ip_pim_interface_eth2_1
deleted file mode 100644
index e013423ba4..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_pim_interface/show_ip_pim_interface_eth2_1
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "TABLE_vrf": {
- "ROW_vrf": {
- "vrf-name": "default",
- "TABLE_iod": {
- "ROW_iod": {
- "if-name": "Ethernet2/1",
- "if-status": "protocol-up/link-up/admin-up",
- "if-addr-summary": "IP address: 10.0.0.45, IP subnet: 10.0.0.44/30",
- "pim-dr-address": "10.0.0.45",
- "dr-priority": 2,
- "nbr-cnt": 0,
- "hello-interval-sec": 35,
- "hello-timer": "PT3S",
- "holdtime-sec": 105,
- "if-conf-dr-priority": 1,
- "if-conf-delay": 3,
- "is-border": "true",
- "genid": "38c4b959",
- "isauth-config": "false",
- "nbr-policy-name": "none configured",
- "jp-interval": 1,
- "jp-next-send": 1,
- "pim-bfd-enabled": "no",
- "is-passive": "false",
- "is-pim-vpc-svi": "no",
- "is-auto-enabled": "no",
- "last-cleared": "PT0S",
- "hello-sent": 23,
- "hello-rcvd": 0,
- "hello-early-sent": 0,
- "jp-sent": 0,
- "jp-rcvd": 0,
- "assert-sent": 0,
- "assert-rcvd": 0,
- "graft-sent": 0,
- "graft-rcvd": 0,
- "graft-ack-sent": 0,
- "graft-ack-rcvd": 0,
- "df-offer-sent": 0,
- "df-offer-rcvd": 0,
- "df-winner-sent": 0,
- "df-winner-rcvd": 0,
- "df-backoff-sent": 0,
- "df-backoff-rcvd": 0,
- "pass-sent": 0,
- "pass-rcvd": 0,
- "cksum-errors": 0,
- "invalid-errors": 0,
- "invalid-df-errors": 0,
- "auth-failed": 0,
- "pak-len-errors": 0,
- "ver-errors": 0,
- "pkts-self": 0,
- "pkts-non-nbr": 0,
- "pkts-on-passive": 0,
- "jp-rcvd-on-rpf": 0,
- "jp-rcvd-no-rp": 0,
- "jp-rcvd-wrong-rp": 0,
- "jp-rcvd-for-ssm": 0,
- "jp-rcvd-for-bidir": 0,
- "jp-in-policy-filter": 0,
- "jp-out-policy-filter": 0
- }
- }
- }
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_pim_rp_address/config.cfg b/test/units/modules/network/nxos/fixtures/nxos_pim_rp_address/config.cfg
deleted file mode 100644
index ca9730ec7e..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_pim_rp_address/config.cfg
+++ /dev/null
@@ -1 +0,0 @@
-ip pim rp-address 1.2.3.4
diff --git a/test/units/modules/network/nxos/fixtures/nxos_static_route.cfg b/test/units/modules/network/nxos/fixtures/nxos_static_route.cfg
deleted file mode 100644
index 8b1a6fe863..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_static_route.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-ip route 10.10.30.0/24 1.2.4.8
-vrf context test
- ip route 10.8.0.0/14 15.16.17.18
diff --git a/test/units/modules/network/nxos/fixtures/nxos_system_config.cfg b/test/units/modules/network/nxos/fixtures/nxos_system_config.cfg
deleted file mode 100644
index 362b733215..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_system_config.cfg
+++ /dev/null
@@ -1,16 +0,0 @@
-hostname nxos01
-system jumbomtu 1500
-!
-no ip domain-lookup
-ip domain-name ansible.com
-ip domain-list ansible.com
-ip domain-list redhat.com
-ip name-server 8.8.8.8 172.26.1.1
-!
-vrf context management
- ip domain-name eng.ansible.com
- ip domain-list ansible.com
- ip domain-list redhat.com
- ip name-server 172.26.1.1 8.8.8.8
- ip route 172.26.0.0/16 172.26.4.1
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_telemetry/N9K.cfg b/test/units/modules/network/nxos/fixtures/nxos_telemetry/N9K.cfg
deleted file mode 100644
index 697c2c18bf..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_telemetry/N9K.cfg
+++ /dev/null
@@ -1,43 +0,0 @@
-feature telemetry
-
-telemetry
- certificate /bootflash/server.key localhost
- destination-profile
- use-vrf management
- use-compression gzip
- source-interface loopback55
- destination-group 2
- ip address 192.168.0.1 port 50001 protocol gRPC encoding GPB
- ip address 192.168.0.2 port 60001 protocol gRPC encoding GPB
- destination-group 10
- ip address 192.168.0.1 port 50001 protocol gRPC encoding GPB
- ip address 192.168.0.2 port 60001 protocol gRPC encoding GPB
- sensor-group 2
- data-source DME
- path boo depth 0
- path sys/ospf depth 0 query-condition qc filter-condition fc
- path interfaces depth 0
- path sys/bgp
- path sys/bgp/inst depth 0 query-condition foo filter-condition foo
- path sys/bgp/inst/dom-default/peer-[10.10.10.11]/ent-[10.10.10.11]
- path sys/bgp/inst/dom-default/peer-[20.20.20.11]/ent-[20.20.20.11]
- path too depth 0 filter-condition foo
- sensor-group 55
- sensor-group 56
- data-source DME
- path environment
- path interface
- path resources
- path vxlan
- subscription 3
- subscription 4
- dst-grp 2
- snsr-grp 2 sample-interval 1000
- subscription 5
- dst-grp 2
- snsr-grp 2 sample-interval 1000
- subscription 6
- dst-grp 10
- subscription 7
- dst-grp 10
- snsr-grp 2 sample-interval 1000
diff --git a/test/units/modules/network/nxos/fixtures/nxos_telemetry/N9K_SGs.cfg b/test/units/modules/network/nxos/fixtures/nxos_telemetry/N9K_SGs.cfg
deleted file mode 100644
index 1729ad813a..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_telemetry/N9K_SGs.cfg
+++ /dev/null
@@ -1,19 +0,0 @@
-feature telemetry
-
-telemetry
- sensor-group 1
- path sys/ch depth 4
- path sys/procsys depth 1
- sensor-group 2
- data-source NX-API
- path "show bgp l2vpn evpn summary"
- path "show isis adjacency"
- path "show mac address-table count" depth 2
- path "show bgp sessions"
- sensor-group 3
- data-source NX-API
- path "show interface ethernet1/1-52"
- sensor-group 4
- path sys/bd depth 2
- path sys/eps/epId-1/nws depth 2
- path sys/eps/epId-1/peers depth 2
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vlan/agg_show_vlan_brief.txt b/test/units/modules/network/nxos/fixtures/nxos_vlan/agg_show_vlan_brief.txt
deleted file mode 100644
index 4ba12553ed..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vlan/agg_show_vlan_brief.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "TABLE_vlanbriefxbrief": {
- "ROW_vlanbriefxbrief": [
- {
- "vlanshowbr-vlanid": 1,
- "vlanshowbr-vlanid-utf": 1,
- "vlanshowbr-vlanname": "default",
- "vlanshowbr-vlanstate": "active",
- "vlanshowbr-shutstate": "noshutdown"
- },
- {
- "vlanshowbr-vlanid": 4,
- "vlanshowbr-vlanid-utf": 4,
- "vlanshowbr-vlanname": "_4_",
- "vlanshowbr-vlanstate": "active",
- "vlanshowbr-shutstate": "noshutdown"
- },
- {
- "vlanshowbr-vlanid": 5,
- "vlanshowbr-vlanid-utf": 5,
- "vlanshowbr-vlanname": "_5_",
- "vlanshowbr-vlanstate": "active",
- "vlanshowbr-shutstate": "noshutdown"
- }
- ]
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vlan/config.cfg b/test/units/modules/network/nxos/fixtures/nxos_vlan/config.cfg
deleted file mode 100644
index 905d309ff0..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vlan/config.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-vlan 1
- mode ce
- state active
- no shutdown
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vlan/show_vlan_brief.txt b/test/units/modules/network/nxos/fixtures/nxos_vlan/show_vlan_brief.txt
deleted file mode 100644
index ca90e5d494..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vlan/show_vlan_brief.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "TABLE_vlanbriefxbrief": {
- "ROW_vlanbriefxbrief": {
- "vlanshowbr-vlanid": 16777216,
- "vlanshowbr-vlanid-utf": 1,
- "vlanshowbr-vlanname": "default",
- "vlanshowbr-vlanstate": "active",
- "vlanshowbr-shutstate": "noshutdown"
- }
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vlans/show_running-config b/test/units/modules/network/nxos/fixtures/nxos_vlans/show_running-config
deleted file mode 100644
index 51e64c9967..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vlans/show_running-config
+++ /dev/null
@@ -1,13 +0,0 @@
-vlan 1,3-5,8
-vlan 3
- name test-vlan3
-vlan 5
- shutdown
- name test-changeme
- mode fabricpath
- state suspend
- vn-segment 942
-vlan 8
- shutdown
- name test-changeme-not
- state suspend
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vlans/show_running-config_no_facts b/test/units/modules/network/nxos/fixtures/nxos_vlans/show_running-config_no_facts
deleted file mode 100644
index ef66a7fff4..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vlans/show_running-config_no_facts
+++ /dev/null
@@ -1 +0,0 @@
-! no data
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vlans/show_running-config_vlan_1 b/test/units/modules/network/nxos/fixtures/nxos_vlans/show_running-config_vlan_1
deleted file mode 100644
index 4343b9f294..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vlans/show_running-config_vlan_1
+++ /dev/null
@@ -1 +0,0 @@
-vlan 1
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vlans/show_vlan b/test/units/modules/network/nxos/fixtures/nxos_vlans/show_vlan
deleted file mode 100644
index 9d53309f3f..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vlans/show_vlan
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "TABLE_vlanbrief": {
- "ROW_vlanbrief": [
- { "vlanshowbr-vlanid": "1", "vlanshowbr-vlanid-utf": "1",
- "vlanshowbr-vlanname": "default",
- "vlanshowbr-vlanstate": "active",
- "vlanshowbr-shutstate": "noshutdown"
- },
- { "vlanshowbr-vlanid": "3", "vlanshowbr-vlanid-utf": "3",
- "vlanshowbr-vlanname": "test-vlan3",
- "vlanshowbr-vlanstate": "active",
- "vlanshowbr-shutstate": "noshutdown"
- },
- { "vlanshowbr-vlanid": "4", "vlanshowbr-vlanid-utf": "4",
- "vlanshowbr-vlanname": "VLAN0004",
- "vlanshowbr-vlanstate": "active",
- "vlanshowbr-shutstate": "noshutdown"
- },
- { "vlanshowbr-vlanid": "5", "vlanshowbr-vlanid-utf": "5",
- "vlanshowbr-vlanname": "test-changeme",
- "vlanshowbr-vlanstate": "suspend",
- "vlanshowbr-shutstate": "shutdown"
- },
- { "vlanshowbr-vlanid": "8", "vlanshowbr-vlanid-utf": "8",
- "vlanshowbr-vlanname": "test-changeme-not",
- "vlanshowbr-vlanstate": "suspend",
- "vlanshowbr-shutstate": "shutdown"
- }
- ]
- },
- "TABLE_mtuinfo": {
- "ROW_mtuinfo": [
- { "vlanshowinfo-vlanid": "1", "vlanshowinfo-media-type": "enet",
- "vlanshowinfo-vlanmode": "ce-vlan" },
- { "vlanshowinfo-vlanid": "3", "vlanshowinfo-media-type": "enet",
- "vlanshowinfo-vlanmode": "ce-vlan" },
- { "vlanshowinfo-vlanid": "4", "vlanshowinfo-media-type": "enet",
- "vlanshowinfo-vlanmode": "ce-vlan" },
- { "vlanshowinfo-vlanid": "5", "vlanshowinfo-media-type": "enet",
- "vlanshowinfo-vlanmode": "fabricpath-vlan" },
- { "vlanshowinfo-vlanid": "8", "vlanshowinfo-media-type": "enet",
- "vlanshowinfo-vlanmode": "ce-vlan" }
- ]
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vlans/show_vlan_no_facts b/test/units/modules/network/nxos/fixtures/nxos_vlans/show_vlan_no_facts
deleted file mode 100644
index 0967ef424b..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vlans/show_vlan_no_facts
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vlans/show_vlan_vlan_1 b/test/units/modules/network/nxos/fixtures/nxos_vlans/show_vlan_vlan_1
deleted file mode 100644
index 630ebbc34b..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vlans/show_vlan_vlan_1
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "TABLE_vlanbrief": {
- "ROW_vlanbrief": {
- "vlanshowbr-vlanid": "1", "vlanshowbr-vlanid-utf": "1",
- "vlanshowbr-vlanname": "default",
- "vlanshowbr-vlanstate": "active",
- "vlanshowbr-shutstate": "noshutdown"
- },
- },
- "TABLE_mtuinfo": {
- "ROW_mtuinfo": {
- "vlanshowinfo-vlanid": "1", "vlanshowinfo-media-type": "enet",
- "vlanshowinfo-vlanmode": "ce-vlan"
- },
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vpc/show_vpc b/test/units/modules/network/nxos/fixtures/nxos_vpc/show_vpc
deleted file mode 100644
index 7d2c2eaeee..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vpc/show_vpc
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "vpc-domain-id": "not configured",
- "vpc-peer-status": "peer-not-configured",
- "vpc-peer-status-reason": "SUCCESS",
- "vpc-peer-keepalive-status": "disabled",
- "vpc-peer-consistency": "inconsistent",
- "vpc-peer-consistency-status": "SYSERR_MCECM_MCT_DOES_NOT_EXISTS",
- "vpc-per-vlan-peer-consistency": "inconsistent",
- "vpc-type-2-consistency": "inconsistent",
- "vpc-type-2-consistency-status": "SYSERR_MCECM_MCT_DOES_NOT_EXISTS",
- "vpc-role": "none-established",
- "num-of-vpcs": "0",
- "peer-gateway": "disabled",
- "dual-active-excluded-vlans": "-",
- "vpc-graceful-consistency-check-status": "enabled",
- "vpc-auto-recovery-status": "Enabled (timeout = 240 seconds)",
- "operational-l3-peer": "disabled",
- "vpc-isolation-status": "disabled-user",
- "vpc-check-consist-note": "disabled"
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vpc/show_vrf_all b/test/units/modules/network/nxos/fixtures/nxos_vpc/show_vrf_all
deleted file mode 100644
index 838190fb71..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vpc/show_vrf_all
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "TABLE_vrf": {
- "ROW_vrf": [
- {
- "vrf_name": "coke",
- "vrf_id": 4,
- "vrf_state": "Up",
- "vrf_reason": "--"
- },
- {
- "vrf_name": "default",
- "vrf_id": 1,
- "vrf_state": "Up",
- "vrf_reason": "--"
- },
- {
- "vrf_name": "management",
- "vrf_id": 2,
- "vrf_state": "Up",
- "vrf_reason": "--"
- },
- {
- "vrf_name": "test-vrf",
- "vrf_id": 3,
- "vrf_state": "Up",
- "vrf_reason": "--"
- }
- ]
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_hardware b/test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_hardware
deleted file mode 100644
index 612a6b3da0..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_hardware
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "kickstart_ver_str": "7.0(3)I5(3)"
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_inventory b/test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_inventory
deleted file mode 100644
index c1a149ddb2..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_inventory
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "TABLE_inv": {
- "ROW_inv": [
- {
- "name": "Chassis",
- "desc": "Nexus9000 C9504 (4 Slot) Chassis",
- "productid": "N9K-C9504",
- "vendorid": "V01",
- "serialnum": "BR-549"
- }
- ]
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_vpc b/test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_vpc
deleted file mode 100644
index f86daa6bda..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_vpc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "vpc-domain-id": "100"
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_vrf_all b/test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_vrf_all
deleted file mode 100644
index 3f56f8adbb..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_vrf_all
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "TABLE_vrf": {
- "ROW_vrf": [
- {
- "vrf_name": "my_vrf",
- "vrf_id": 4,
- "vrf_state": "Up",
- "vrf_reason": "--"
- },
- {
- "vrf_name": "default",
- "vrf_id": 1,
- "vrf_state": "Up",
- "vrf_reason": "--"
- },
- {
- "vrf_name": "management",
- "vrf_id": 2,
- "vrf_state": "Up",
- "vrf_reason": "--"
- },
- {
- "vrf_name": "test-vrf",
- "vrf_id": 3,
- "vrf_state": "Up",
- "vrf_reason": "--"
- },
- {
- "vrf_name": "obviously-different-vrf",
- "vrf_id": 4,
- "vrf_state": "Up",
- "vrf_reason": "--"
- }
- ]
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_vpc_config b/test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_vpc_config
deleted file mode 100644
index e7258296fd..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vpc/vrf_test_vpc_config
+++ /dev/null
@@ -1,2 +0,0 @@
-vpc domain 100
- peer-keepalive destination 192.168.1.1 source 10.1.1.1 vrf my_vrf
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vpc_interface/show_port-channel_summary b/test/units/modules/network/nxos/fixtures/nxos_vpc_interface/show_port-channel_summary
deleted file mode 100644
index d62bea661a..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vpc_interface/show_port-channel_summary
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "TABLE_channel": {
- "ROW_channel": [
- {
- "group": "10",
- "port-channel": "port-channel10",
- "layer": "R",
- "status": "D",
- "type": "Eth",
- "prtcl": "NONE"
- },
- {
- "group": "20",
- "port-channel": "port-channel20",
- "layer": "R",
- "status": "D",
- "type": "Eth",
- "prtcl": "NONE"
- }
- ]
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vpc_interface/show_vpc_brief b/test/units/modules/network/nxos/fixtures/nxos_vpc_interface/show_vpc_brief
deleted file mode 100644
index 2206eca096..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vpc_interface/show_vpc_brief
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "TABLE_vpc": {
- "ROW_vpc": [
- {
- "vpc-id": 100,
- "vpc-ifindex": "Po10",
- "vpc-port-state": "Up",
- "vpc-thru-peerlink": 19,
- "vpc-consistency": "consistent",
- "vpc-consistency-status": "SUCCESS"
- }
- ]
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vrf/show_run_all b/test/units/modules/network/nxos/fixtures/nxos_vrf/show_run_all
deleted file mode 100644
index 06fe9f91d9..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vrf/show_run_all
+++ /dev/null
@@ -1,4 +0,0 @@
-vrf context coke
-vrf context management
- ip route 172.26.0.0/16 172.26.4.1
-vrf context test-vrf
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_default b/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_default
deleted file mode 100644
index e69de29bb2..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_default
+++ /dev/null
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_default_interface b/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_default_interface
deleted file mode 100644
index e69de29bb2..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_default_interface
+++ /dev/null
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_management b/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_management
deleted file mode 100644
index 2b6e9b5212..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_management
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "TABLE_vrf": {
- "ROW_vrf": {
- "vrf_name": "management",
- "vrf_id": 2,
- "vrf_state": "Up",
- "vrf_reason": "--"
- }
- }
-}
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_management_interface b/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_management_interface
deleted file mode 100644
index e69de29bb2..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_management_interface
+++ /dev/null
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_ntc b/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_ntc
deleted file mode 100644
index e69de29bb2..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_ntc
+++ /dev/null
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_ntc_interface b/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_ntc_interface
deleted file mode 100644
index e69de29bb2..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vrf/show_vrf_ntc_interface
+++ /dev/null
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vrf_af/config.cfg b/test/units/modules/network/nxos/fixtures/nxos_vrf_af/config.cfg
deleted file mode 100644
index 1ac093f71f..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vrf_af/config.cfg
+++ /dev/null
@@ -1,22 +0,0 @@
-vrf context vrf1
- address-family ipv4 unicast
-
-vrf context vrf11
- address-family ipv4 unicast
- route-target both auto evpn
-
-vrf context vrf21
- address-family ipv4 unicast
- route-target import 65000:1000
- route-target import 65001:1000
- route-target import 65002:1000
- route-target export 65000:1000
- route-target export 65001:1000
- route-target export 65002:1000
-
-vrf context vrf31
- address-family ipv4 unicast
- route-target import 65000:1000
- route-target export 65001:1000
- route-target import 65002:1000
- route-target export 65003:1000 \ No newline at end of file
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vsan/shvsan.cfg b/test/units/modules/network/nxos/fixtures/nxos_vsan/shvsan.cfg
deleted file mode 100644
index 035351a9f6..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vsan/shvsan.cfg
+++ /dev/null
@@ -1,35 +0,0 @@
-vsan 1 information
- name:VSAN0001 state:active
- interoperability mode:default
- loadbalancing:src-id/dst-id/oxid
- operational state:up
-
-vsan 10 information
- name:VsanAll state:suspended
- interoperability mode:default
- loadbalancing:src-id/dst-id/oxid
- operational state:down
-
-vsan 221 information
- name:VSAN0221 state:active
- interoperability mode:default
- loadbalancing:src-id/dst-id/oxid
- operational state:up
-
-vsan 922 information
- name:vsan-SAN-A state:active
- interoperability mode:default
- loadbalancing:src-id/dst-id/oxid
- operational state:down
-
-vsan 923 information
- name:vsan-SAN-B state:active
- interoperability mode:default
- loadbalancing:src-id/dst-id/oxid
- operational state:up
-
-vsan 4079:evfp_isolated_vsan
-
-vsan 4094:isolated_vsan
-
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vsan/shvsanmem.cfg b/test/units/modules/network/nxos/fixtures/nxos_vsan/shvsanmem.cfg
deleted file mode 100644
index c57c72a2f0..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vsan/shvsanmem.cfg
+++ /dev/null
@@ -1,30 +0,0 @@
-vsan 1 interfaces:
- fc1/4 fc1/5 fc1/6 fc1/7
- fc1/8 fc1/9 fc1/10 fc1/12
- fc1/13 fc1/14 fc1/15 fc1/16
- fc1/17 fc1/18 fc1/19 fc1/20
- fc1/22 fc1/23 fc1/24 fc1/25
- fc1/26 fc1/27 fc1/28 fc1/29
- fc1/30 fc1/31 fc1/32 fc1/33
- fc1/34 fc1/35 fc1/36 fc1/37
- fc1/38 fc1/39 fc1/40
-
-vsan 10 interfaces:
-
-
-vsan 221 interfaces:
-
-
-vsan 922 interfaces:
- fc1/1 fc1/2 fc1/3 port-channel55
-
-vsan 923 interfaces:
- fc1/11 fc1/21 port-channel56
-
-vsan 4079(evfp_isolated_vsan) interfaces:
-
-
-vsan 4094(isolated_vsan) interfaces:
- port-channel145
-
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vxlan_vtep/config.cfg b/test/units/modules/network/nxos/fixtures/nxos_vxlan_vtep/config.cfg
deleted file mode 100644
index 88e2f0ba9a..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vxlan_vtep/config.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-interface nve1
- member vni 6000
diff --git a/test/units/modules/network/nxos/fixtures/nxos_vxlan_vtep_vni/config.cfg b/test/units/modules/network/nxos/fixtures/nxos_vxlan_vtep_vni/config.cfg
deleted file mode 100644
index 88e2f0ba9a..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_vxlan_vtep_vni/config.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-interface nve1
- member vni 6000
diff --git a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_0.cfg b/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_0.cfg
deleted file mode 100644
index 14b431b9b0..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_0.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-zone name zoneA vsan 923
- pwwn 11:11:11:11:11:11:11:11
- device-alias test123
-
-zone name zoneB vsan 923
- pwwn 10:11:11:11:11:11:11:11
- pwwn 62:62:62:62:21:21:21:21
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_1.cfg b/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_1.cfg
deleted file mode 100644
index 73d58c51e8..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_1.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-zone name zoneA vsan 922
- pwwn 11:11:11:11:11:11:11:11
- device-alias test123 both
-
-zone name zoneB vsan 922
- pwwn 10:11:11:11:11:11:11:11
- pwwn 62:62:62:62:21:21:21:21
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_2.cfg b/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_2.cfg
deleted file mode 100644
index 530266d4ca..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_2.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-zone name zv221 vsan 221
- pwwn 21:01:00:1b:32:a1:c0:a8 [h181-dell-linux-top-p2]
- pwwn 10:00:00:90:fa:c7:da:42 [h172-32ghost-p2]
- pwwn 21:01:00:1b:32:aa:50:4b [h190-dell-linux-top-p2]
- pwwn 50:06:01:6a:47:e4:6e:59 [VNX_UNITY_235_SPB-1-2]
- pwwn 21:01:00:1b:32:aa:ff:4a [h189-dell-windows-bottom-p2]
diff --git a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_0.cfg b/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_0.cfg
deleted file mode 100644
index c1b560053d..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_0.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-zoneset name zsetname21 vsan 922
- zone name zone21A vsan 922
- pwwn 11:11:11:11:11:11:11:11 both
- pwwn 62:62:62:62:12:12:12:12
-
- zone name zone21B vsan 922
- pwwn 10:11:11:11:11:11:11:11
- pwwn 62:62:62:62:21:21:21:21
- device-alias somedummyname
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_1.cfg b/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_1.cfg
deleted file mode 100644
index 77d296229c..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_1.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-zoneset name zsetname1 vsan 923
- zone name zoneA vsan 923
- pwwn 11:11:11:11:11:11:11:11
- device-alias test123
-
- zone name zoneB vsan 923
- pwwn 10:11:11:11:11:11:11:11
- pwwn 62:62:62:62:21:21:21:21
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_2.cfg b/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_2.cfg
deleted file mode 100644
index 923f54e4b6..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_2.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-zoneset name zsv221 vsan 221
- zone name zv221 vsan 221
- pwwn 21:01:00:1b:32:a1:c0:a8 [h181-dell-linux-top-p2]
- pwwn 10:00:00:90:fa:c7:da:42 [h172-32ghost-p2]
- pwwn 21:01:00:1b:32:aa:50:4b [h190-dell-linux-top-p2]
- pwwn 50:06:01:6a:47:e4:6e:59 [VNX_UNITY_235_SPB-1-2]
- pwwn 21:01:00:1b:32:aa:ff:4a [h189-dell-windows-bottom-p2]
diff --git a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonesetactive_0.cfg b/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonesetactive_0.cfg
deleted file mode 100644
index 1180410a1a..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonesetactive_0.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-zoneset name zsv221 vsan 221
- zone name zv221 vsan 221
- * fcid 0x2f0000 [pwwn 21:01:00:1b:32:a1:c0:a8] [h181-dell-linux-top-p2]
- * fcid 0xa90000 [pwwn 10:00:00:90:fa:c7:da:42] [h172-32ghost-p2]
- * fcid 0xd50000 [pwwn 21:01:00:1b:32:aa:50:4b] [h190-dell-linux-top-p2]
- * fcid 0xde0000 [pwwn 50:06:01:6a:47:e4:6e:59] [VNX_UNITY_235_SPB-1-2]
- pwwn 21:01:00:1b:32:aa:ff:4a [h189-dell-windows-bottom-p2]
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_0.cfg b/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_0.cfg
deleted file mode 100644
index 0bfced832b..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_0.cfg
+++ /dev/null
@@ -1,23 +0,0 @@
-VSAN: 922 default-zone: deny distribute: active only Interop: default
- mode: basic merge-control: allow
- session: none
- hard-zoning: enabled broadcast: unsupported
- smart-zoning: enabled
- rscn-format: fabric-address
- activation overwrite control: disabled
-Default zone:
- qos: none broadcast: unsupported ronly: unsupported
-Full Zoning Database :
- DB size: 358 bytes
- Zonesets: 1 Zones: 2 Aliases: 0
-Active Zoning Database :
- DB Size: 125 bytes
- Name: zsetname21 Zonesets: 1 Zones: 2
-Current Total Zone DB Usage: 483 / 2097152 bytes (0 % used)
-Pending (Session) DB size:
- Full DB Copy size: n/a
- Active DB Copy size: n/a
-SFC size: 483 / 2097152 bytes (0 % used)
-Status: Activation completed at 23:50:35 IST Jul 3 2019
-
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_1.cfg b/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_1.cfg
deleted file mode 100644
index bf7a4615fb..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_1.cfg
+++ /dev/null
@@ -1,23 +0,0 @@
-VSAN: 922 default-zone: deny distribute: full Interop: default
- mode: enhanced merge-control: allow
- session: none
- hard-zoning: enabled broadcast: unsupported
- smart-zoning: disabled
- rscn-format: fabric-address
- activation overwrite control: disabled
-Default zone:
- qos: none broadcast: unsupported ronly: unsupported
-Full Zoning Database :
- DB size: 376 bytes
- Zonesets: 1 Zones: 2 Aliases: 0 Attribute-groups: 1
-Active Zoning Database :
- DB Size: 156 bytes
- Name: zsetname21 Zonesets: 1 Zones: 2
-Current Total Zone DB Usage: 532 / 2097152 bytes (0 % used)
-Pending (Session) DB size:
- Full DB Copy size: 0 bytes
- Active DB Copy size: 0 bytes
-SFC size: 0 / 2097152 bytes (0 % used)
-Status: Set zoning mode complete at 10:19:02 IST Jul 5 2019
-
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_2.cfg b/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_2.cfg
deleted file mode 100644
index eb0db28eb9..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_2.cfg
+++ /dev/null
@@ -1,24 +0,0 @@
-VSAN: 923 default-zone: permit distribute: full Interop: default
- mode: enhanced merge-control: allow
- session: none
- hard-zoning: enabled broadcast: unsupported
- smart-zoning: disabled
- rscn-format: fabric-address
- activation overwrite control: disabled
-Default zone:
- qos: none broadcast: unsupported ronly: unsupported
-Full Zoning Database :
- DB size: 356 bytes
- Zonesets: 1 Zones: 2 Aliases: 0 Attribute-groups: 1
-Active Zoning Database :
- DB Size: 136 bytes
- Name: zsetname1 Zonesets: 1 Zones: 2
-Current Total Zone DB Usage: 492 / 2097152 bytes (0 % used)
-Pending (Session) DB size:
- Full DB Copy size: 0 bytes
- Active DB Copy size: 0 bytes
-SFC size: 0 / 2097152 bytes (0 % used)
-Status: Operation failed: [Error: WARNING: Specified zoneset already active and unchanged]:
- at 11:06:21 IST Jul 5 2019
-
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_3.cfg b/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_3.cfg
deleted file mode 100644
index c5c32db0b4..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_3.cfg
+++ /dev/null
@@ -1,24 +0,0 @@
-VSAN: 923 default-zone: permit distribute: full Interop: default
- mode: basic merge-control: allow
- session: none
- hard-zoning: enabled broadcast: unsupported
- smart-zoning: disabled
- rscn-format: fabric-address
- activation overwrite control: disabled
-Default zone:
- qos: none broadcast: unsupported ronly: unsupported
-Full Zoning Database :
- DB size: 356 bytes
- Zonesets: 1 Zones: 2 Aliases: 0 Attribute-groups: 1
-Active Zoning Database :
- DB Size: 136 bytes
- Name: zsetname1 Zonesets: 1 Zones: 2
-Current Total Zone DB Usage: 492 / 2097152 bytes (0 % used)
-Pending (Session) DB size:
- Full DB Copy size: 0 bytes
- Active DB Copy size: 0 bytes
-SFC size: 0 / 2097152 bytes (0 % used)
-Status: Operation failed: [Error: WARNING: Specified zoneset already active and unchanged]:
- at 11:06:21 IST Jul 5 2019
-
-
diff --git a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_4.cfg b/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_4.cfg
deleted file mode 100644
index 97c3a7156c..0000000000
--- a/test/units/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_4.cfg
+++ /dev/null
@@ -1,23 +0,0 @@
-VSAN: 221 default-zone: deny distribute: full Interop: default
- mode: enhanced merge-control: allow
- session: none
- hard-zoning: enabled broadcast: unsupported
- smart-zoning: disabled
- rscn-format: fabric-address
- activation overwrite control: disabled
-Default zone:
- qos: none broadcast: unsupported ronly: unsupported
-Full Zoning Database :
- DB size: 300 bytes
- Zonesets: 1 Zones: 1 Aliases: 0 Attribute-groups: 1
-Active Zoning Database :
- DB Size: 112 bytes
- Name: zsv221 Zonesets: 1 Zones: 1
-Current Total Zone DB Usage: 412 / 2097152 bytes (0 % used)
-Pending (Session) DB size:
- Full DB Copy size: 0 bytes
- Active DB Copy size: 0 bytes
-SFC size: 0 / 2097152 bytes (0 % used)
-Status:
-
-
diff --git a/test/units/modules/network/nxos/nxos_module.py b/test/units/modules/network/nxos/nxos_module.py
deleted file mode 100644
index 07670a282c..0000000000
--- a/test/units/modules/network/nxos/nxos_module.py
+++ /dev/null
@@ -1,117 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-import os
-import json
-
-from units.modules.utils import AnsibleExitJson, AnsibleFailJson, ModuleTestCase
-from units.modules.utils import set_module_args as _set_module_args
-
-
-def set_module_args(args, ignore_provider=None):
- if 'provider' not in args and not ignore_provider:
- args['provider'] = {'transport': args.get('transport') or 'cli'}
-
- return _set_module_args(args)
-
-
-fixture_path = os.path.join(os.path.dirname(__file__), 'fixtures')
-fixture_data = {}
-
-
-def load_fixture(module_name, name, device=''):
- path = os.path.join(fixture_path, module_name, device, name)
- if not os.path.exists(path):
- path = os.path.join(fixture_path, module_name, name)
-
- if path in fixture_data:
- return fixture_data[path]
-
- with open(path) as f:
- data = f.read()
-
- try:
- data = json.loads(data)
- except Exception:
- pass
-
- fixture_data[path] = data
- return data
-
-
-class TestNxosModule(ModuleTestCase):
-
- def execute_module_devices(self, failed=False, changed=False, commands=None, sort=True, defaults=False):
- module_name = self.module.__name__.rsplit('.', 1)[1]
- local_fixture_path = os.path.join(fixture_path, module_name)
-
- models = []
- for path in os.listdir(local_fixture_path):
- path = os.path.join(local_fixture_path, path)
- if os.path.isdir(path):
- models.append(os.path.basename(path))
- if not models:
- models = ['']
-
- retvals = {}
- for model in models:
- retvals[model] = self.execute_module(
- failed, changed, commands, sort, device=model)
-
- return retvals
-
- def execute_module(self, failed=False, changed=False, commands=None, sort=True, device=''):
-
- self.load_fixtures(commands, device=device)
-
- if failed:
- result = self.failed()
- self.assertTrue(result['failed'], result)
- else:
- result = self.changed(changed)
- self.assertEqual(result['changed'], changed, result)
- if commands is not None and len(commands) > 0:
- if sort:
- self.assertEqual(sorted(commands), sorted(
- result['commands']), result['commands'])
- else:
- self.assertEqual(
- commands, result['commands'], result['commands'])
-
- return result
-
- def failed(self):
- with self.assertRaises(AnsibleFailJson) as exc:
- self.module.main()
- result = exc.exception.args[0]
- self.assertTrue(result['failed'], result)
- return result
-
- def changed(self, changed=False):
- with self.assertRaises(AnsibleExitJson) as exc:
- self.module.main()
-
- result = exc.exception.args[0]
- self.assertEqual(result['changed'], changed, result)
- return result
-
- def load_fixtures(self, commands=None, device=''):
- pass
diff --git a/test/units/modules/network/nxos/storage/test_nxos_devicealias.py b/test/units/modules/network/nxos/storage/test_nxos_devicealias.py
deleted file mode 100644
index 68080afef2..0000000000
--- a/test/units/modules/network/nxos/storage/test_nxos_devicealias.py
+++ /dev/null
@@ -1,229 +0,0 @@
-#!/usr/bin/env python
-# Copyright: Ansible Project
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-
-from __future__ import (absolute_import, division, print_function)
-
-__metaclass__ = type
-
-import pytest
-
-from units.compat.mock import patch
-from units.modules.utils import AnsibleFailJson
-from ansible.modules.network.nxos.storage import nxos_devicealias
-from ansible.modules.network.nxos.storage.nxos_devicealias import showDeviceAliasStatus
-from ansible.modules.network.nxos.storage.nxos_devicealias import showDeviceAliasDatabase
-
-from ..nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosDeviceAliasModule(TestNxosModule):
- module = nxos_devicealias
-
- def setUp(self):
- super(TestNxosDeviceAliasModule, self).setUp()
- module_path = 'ansible.modules.network.nxos.storage.nxos_devicealias.'
-
- self.mock_run_commands = patch(module_path + 'run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- self.mock_execute_show_cmd = patch(module_path + 'showDeviceAliasStatus.execute_show_cmd')
- self.execute_show_cmd = self.mock_execute_show_cmd.start()
-
- self.mock_execute_show_cmd_1 = patch(module_path + 'showDeviceAliasDatabase.execute_show_cmd')
- self.execute_show_cmd_1 = self.mock_execute_show_cmd_1.start()
-
- self.mock_load_config = patch(module_path + 'load_config')
- self.load_config = self.mock_load_config.start()
-
- def tearDown(self):
- super(TestNxosDeviceAliasModule, self).tearDown()
- self.mock_run_commands.stop()
- self.mock_execute_show_cmd.stop()
- self.mock_execute_show_cmd_1.stop()
- self.mock_load_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.load_config.return_value = None
-
- def test_da_mode_1(self):
- # Playbook mode is basic
- # Switch has mode as enahnced
- set_module_args(dict(mode='basic'), True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask', 'no device-alias mode enhanced',
- 'device-alias commit', 'no terminal dont-ask'])
-
- def test_da_mode_2(self):
- # Playbook mode is enhanced
- # Switch has mode as enahnced
- set_module_args(dict(mode='enhanced'), True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus.cfg')
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_da_distribute_1(self):
- # Playbook mode is enhanced , distrbute = True
- # Switch has mode as enahnced, distrbute = True
- set_module_args(dict(distribute=True, mode='enhanced'), True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus.cfg')
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_da_distribute_2(self):
- # Playbook mode is enhanced , distrbute = False
- # Switch has mode as enhanced, distrbute = True
- set_module_args(dict(distribute=False, mode='enhanced'), True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['no device-alias distribute'])
-
- def test_da_distribute_3(self):
- # Playbook mode is basic , distrbute = False
- # Switch has mode as enahnced, distrbute = True
- set_module_args(dict(distribute=False, mode='basic'), True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['no device-alias distribute', 'no device-alias mode enhanced'])
-
- def test_da_add_1(self):
- # Playbook mode is enhanced , distrbute = true , some new da being added
- # Switch has mode as enahnced, distrbute = True, switch doesnt have the new da being added
- set_module_args(dict(distribute=True, mode='enhanced',
- da=[dict(name='somename', pwwn='10:00:00:00:89:a1:01:03'),
- dict(name='somename1', pwwn='10:00:00:00:89:a1:02:03')]),
- True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus.cfg')
- self.execute_show_cmd_1.return_value = load_fixture('nxos_devicealias', 'shdadatabse.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask', 'device-alias database',
- 'device-alias name somename pwwn 10:00:00:00:89:a1:01:03',
- 'device-alias name somename1 pwwn 10:00:00:00:89:a1:02:03',
- 'device-alias commit', 'no terminal dont-ask'])
-
- def test_da_add_2(self):
- # Playbook mode is enhanced , distrbute = true , some new da being added
- # Switch has mode as enahnced, distrbute = True, switch already has the pwwn:name
- set_module_args(dict(distribute=True, mode='enhanced',
- da=[dict(name='tieHost-2', pwwn='10:00:00:00:89:a1:01:02')]),
- True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus.cfg')
- self.execute_show_cmd_1.return_value = load_fixture('nxos_devicealias', 'shdadatabse.cfg')
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_da_add_3(self):
- # Playbook mode is enhanced , distrbute = true , some new da being added
- # Switch has mode as enahnced, distrbute = True, switch same name present with different pwwn
- set_module_args(dict(distribute=True, mode='enhanced',
- da=[dict(name='tieHost-2', pwwn='10:00:00:00:89:a1:01:ff')]),
- True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus.cfg')
- self.execute_show_cmd_1.return_value = load_fixture('nxos_devicealias', 'shdadatabse.cfg')
- result = self.execute_module(changed=False, failed=True)
-
- def test_da_add_4(self):
- # Playbook mode is enhanced , distrbute = true , some new da being added
- # Switch has mode as enahnced, distrbute = True, switch same pwwn present with different name
- set_module_args(dict(distribute=True, mode='enhanced',
- da=[dict(name='tieHost-2222', pwwn='10:00:00:00:89:a1:01:02')]),
- True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus.cfg')
- self.execute_show_cmd_1.return_value = load_fixture('nxos_devicealias', 'shdadatabse.cfg')
- result = self.execute_module(changed=False, failed=True)
-
- def test_da_remove_1(self):
- # Playbook mode is enhanced , distrbute = true , some da being removed
- # Switch has mode as enahnced, distrbute = True, switch has the da that needs to be removed
- set_module_args(dict(distribute=True, mode='enhanced',
- da=[dict(name='tieHost-2', pwwn='10:00:00:00:89:a1:01:02', remove=True)]),
- True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus.cfg')
- self.execute_show_cmd_1.return_value = load_fixture('nxos_devicealias', 'shdadatabse.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask', 'device-alias database',
- 'no device-alias name tieHost-2',
- 'device-alias commit', 'no terminal dont-ask'])
-
- def test_da_remove_2(self):
- # Playbook mode is enhanced , distrbute = true , some da being removed
- # Switch has mode as enahnced, distrbute = True, switch does NOT have the da that needs to be removed
- set_module_args(dict(distribute=True, mode='enhanced',
- da=[dict(name='somename', pwwn='10:00:00:00:89:a1:01:02', remove=True)]),
- True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus.cfg')
- self.execute_show_cmd_1.return_value = load_fixture('nxos_devicealias', 'shdadatabse.cfg')
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_da_lock(self):
- # Playbook mode with some data, but switch has cfs lock acq
- set_module_args(dict(distribute=True, mode='enhanced',
- da=[dict(name='somename', pwwn='10:00:00:00:89:a1:01:02', remove=True)]),
- True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatuslock.cfg')
- self.execute_module(failed=True)
-
- def test_da_paramete_not_supported(self):
- # Playbook mode with some data, but switch has cfs lock acq
- # the below one instead of 'mode' we are passing 'mod', kind of typo in playbook
- set_module_args(dict(distribute=True, mod='enhanced',
- da=[dict(name='somename', pwwn='10:00:00:00:89:a1:01:02', remove=True)]),
- True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus.cfg')
- self.execute_show_cmd_1.return_value = load_fixture('nxos_devicealias', 'shdadatabse.cfg')
- with pytest.raises(AnsibleFailJson) as errinfo:
- self.execute_module()
- testdata = errinfo.value.args[0]
- assert 'Unsupported parameters' in str(testdata['msg'])
- assert testdata['failed']
-
- def test_da_name_parameter_missing(self):
- # Lets say you are trying to add a device alias but forgot to put 'name' in the 'da' parameter
- set_module_args(dict(distribute=True, mode='enhanced',
- da=[dict(pwwn='10:00:00:00:89:a1:01:02')]),
- True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus.cfg')
- self.execute_show_cmd_1.return_value = load_fixture('nxos_devicealias', 'shdadatabse.cfg')
- with pytest.raises(AnsibleFailJson) as errinfo:
- self.execute_module()
- testdata = errinfo.value.args[0]
- assert 'missing required arguments' in str(testdata['msg'])
- assert testdata['failed']
-
- def test_da_rename_1(self):
- # rename works
- set_module_args(dict(rename=[dict(old_name='test1_add', new_name='test234'),
- dict(old_name='tieHost-1', new_name='tieTarget-1')]), True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus.cfg')
- self.execute_show_cmd_1.return_value = load_fixture('nxos_devicealias', 'shdadatabse.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask', 'device-alias database',
- 'device-alias rename test1_add test234',
- 'device-alias rename tieHost-1 tieTarget-1',
- 'device-alias commit', 'no terminal dont-ask'])
-
- def test_da_rename_2(self):
- # rename : oldname not present
- set_module_args(dict(rename=[dict(old_name='test1', new_name='test234'),
- dict(old_name='tie', new_name='tieTarget-1')]), True)
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus.cfg')
- self.execute_show_cmd_1.return_value = load_fixture('nxos_devicealias', 'shdadatabse.cfg')
- result = self.execute_module(changed=False, failed=True)
- self.assertEqual(result['commands'], [])
-
- def test_da_mansi(self):
- set_module_args(
- {
- "distribute": True,
- "mode": "enhanced",
- },
- True
- )
- self.execute_show_cmd.return_value = load_fixture('nxos_devicealias', 'shdastatus_mansi.cfg')
- self.execute_show_cmd_1.return_value = load_fixture('nxos_devicealias', 'shdadatabse.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['device-alias distribute', 'terminal dont-ask',
- 'device-alias mode enhanced',
- 'device-alias commit', 'no terminal dont-ask'])
diff --git a/test/units/modules/network/nxos/storage/test_nxos_vsan.py b/test/units/modules/network/nxos/storage/test_nxos_vsan.py
deleted file mode 100644
index 5e94601d72..0000000000
--- a/test/units/modules/network/nxos/storage/test_nxos_vsan.py
+++ /dev/null
@@ -1,237 +0,0 @@
-#!/usr/bin/env python
-# Copyright: Ansible Project
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-
-from __future__ import (absolute_import, division, print_function)
-
-__metaclass__ = type
-
-import pytest
-
-from units.compat.mock import patch
-from units.modules.utils import AnsibleFailJson
-from ansible.modules.network.nxos.storage import nxos_vsan
-from ansible.modules.network.nxos.storage.nxos_vsan import GetVsanInfoFromSwitch
-
-from ..nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosVsanModule(TestNxosModule):
- module = nxos_vsan
-
- def setUp(self):
- super(TestNxosVsanModule, self).setUp()
- module_path = 'ansible.modules.network.nxos.storage.nxos_vsan.'
-
- self.mock_run_commands = patch(module_path + 'run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- self.mock_execute_show_vsan_cmd = patch(module_path + 'GetVsanInfoFromSwitch.execute_show_vsan_cmd')
- self.execute_show_vsan_cmd = self.mock_execute_show_vsan_cmd.start()
-
- self.mock_execute_show_vsanmemcmd = patch(module_path + 'GetVsanInfoFromSwitch.execute_show_vsan_mem_cmd')
- self.execute_show_vsanmem_cmd = self.mock_execute_show_vsanmemcmd.start()
-
- self.mock_load_config = patch(module_path + 'load_config')
- self.load_config = self.mock_load_config.start()
-
- self.maxDiff = None
-
- def tearDown(self):
- super(TestNxosVsanModule, self).tearDown()
- self.mock_run_commands.stop()
- self.execute_show_vsan_cmd.stop()
- self.execute_show_vsanmem_cmd.stop()
- self.mock_load_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.load_config.return_value = None
-
- def test_vsan_add_remove_but_present_in_switch(self):
- margs = {
- "vsan": [
- {
- "interface": [
- "fc1/1",
- "port-channel 55"
- ],
- "id": 922,
- "remove": False,
- "name": "vsan-SAN-A"
- },
- {
- "interface": [
- "fc1/11",
- "fc1/21",
- "port-channel 56"
- ],
- "id": 923,
- "remove": False,
- "name": "vsan-SAN-B"
- },
- {
- "id": 1923,
- "remove": True,
- "name": "vsan-SAN-Old"
- }
- ]
- }
- set_module_args(margs, True)
- self.execute_show_vsan_cmd.return_value = load_fixture('nxos_vsan', 'shvsan.cfg')
- self.execute_show_vsanmem_cmd.return_value = load_fixture('nxos_vsan', 'shvsanmem.cfg')
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_vsan_remove(self):
- margs = {
- "vsan": [
- {
- "id": 922,
- "remove": True
- },
- {
- "id": 923,
- "remove": True
- }
- ]
- }
- set_module_args(margs, True)
- self.execute_show_vsan_cmd.return_value = load_fixture('nxos_vsan', 'shvsan.cfg')
- self.execute_show_vsanmem_cmd.return_value = load_fixture('nxos_vsan', 'shvsanmem.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ["terminal dont-ask"] + ["vsan database"] +
- ["no vsan 922", "no vsan 923"] + ["no terminal dont-ask"])
-
- def test_vsan_add(self):
- margs = {
- "vsan": [
- {
- "interface": [
- "fc1/1",
- "port-channel 55"
- ],
- "id": 924,
- "name": "vsan-SAN-924"
- },
- {
- "interface": [
- "fc1/11",
- "fc1/21",
- "port-channel 56"
- ],
- "id": 925,
- "name": "vsan-SAN-925"
- }
- ]
- }
- set_module_args(margs, True)
- self.execute_show_vsan_cmd.return_value = load_fixture('nxos_vsan', 'shvsan.cfg')
- self.execute_show_vsanmem_cmd.return_value = load_fixture('nxos_vsan', 'shvsanmem.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ["terminal dont-ask"] + ["vsan database"] +
- ["vsan 924", "vsan 924 name vsan-SAN-924", "no vsan 924 suspend",
- "vsan 924 interface fc1/1", "vsan 924 interface port-channel 55"] +
- ["vsan 925", "vsan 925 name vsan-SAN-925", "no vsan 925 suspend", "vsan 925 interface fc1/11",
- "vsan 925 interface fc1/21", "vsan 925 interface port-channel 56"] +
- ["no terminal dont-ask"])
-
- def test_vsan_suspend(self):
- margs = {
- "vsan": [
- {
- "interface": [
- "fc1/1",
- "port-channel 55"
- ],
- "id": 924,
- "name": "vsan-SAN-924"
- },
- {
- "id": 925,
- "name": "vsan-SAN-925",
- "suspend": True
- }
- ]
- }
- set_module_args(margs, True)
- self.execute_show_vsan_cmd.return_value = load_fixture('nxos_vsan', 'shvsan.cfg')
- self.execute_show_vsanmem_cmd.return_value = load_fixture('nxos_vsan', 'shvsanmem.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ["terminal dont-ask"] + ["vsan database"] +
- ["vsan 924", "vsan 924 name vsan-SAN-924", "no vsan 924 suspend",
- "vsan 924 interface fc1/1", "vsan 924 interface port-channel 55"] +
- ["vsan 925", "vsan 925 name vsan-SAN-925", "vsan 925 suspend"] +
- ["no terminal dont-ask"])
-
- def test_vsan_invalid_vsan(self):
- margs = {
- "vsan": [
- {
- "id": 4096,
- "name": "vsan-SAN-925",
- "suspend": True
- }
- ]
- }
- set_module_args(margs, True)
- self.execute_show_vsan_cmd.return_value = load_fixture('nxos_vsan', 'shvsan.cfg')
- self.execute_show_vsanmem_cmd.return_value = load_fixture('nxos_vsan', 'shvsanmem.cfg')
- with pytest.raises(AnsibleFailJson) as errinfo:
- self.execute_module()
- testdata = errinfo.value.args[0]
- assert 'invalid vsan' in str(testdata['msg'])
- assert testdata['failed']
-
- def test_vsan_change_reserved_vsan(self):
- margs = {
- "vsan": [
- {
- "id": 4094,
- "name": "vsan-SAN-925",
- "suspend": True
- }
- ]
- }
- set_module_args(margs, True)
- self.execute_show_vsan_cmd.return_value = load_fixture('nxos_vsan', 'shvsan.cfg')
- self.execute_show_vsanmem_cmd.return_value = load_fixture('nxos_vsan', 'shvsanmem.cfg')
- result = self.execute_module(changed=False)
- assert 'reserved vsan' in str(result['messages'])
- self.assertEqual(result['commands'], [])
-
- def test_vsan_add_int_existing_vsan(self):
- margs = {
- "vsan": [
- {
- "interface": [
- "fc1/1",
- "fc1/40",
- "port-channel 155"
- ],
- "id": 922,
- },
- ]
- }
- set_module_args(margs, True)
- self.execute_show_vsan_cmd.return_value = load_fixture('nxos_vsan', 'shvsan.cfg')
- self.execute_show_vsanmem_cmd.return_value = load_fixture('nxos_vsan', 'shvsanmem.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ["terminal dont-ask"] + ["vsan database"] +
- ["vsan 922 interface fc1/40", "vsan 922 interface port-channel 155"] +
- ["no terminal dont-ask"])
-
- def test_vsan_remove_non_existing_vsan(self):
- margs = {
- "vsan": [
- {
- "id": 1111,
- "remove": True
- },
- ]
- }
- set_module_args(margs, True)
- self.execute_show_vsan_cmd.return_value = load_fixture('nxos_vsan', 'shvsan.cfg')
- self.execute_show_vsanmem_cmd.return_value = load_fixture('nxos_vsan', 'shvsanmem.cfg')
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
- assert 'no vsan' in str(result['messages'])
diff --git a/test/units/modules/network/nxos/storage/test_nxos_zone_zoneset.py b/test/units/modules/network/nxos/storage/test_nxos_zone_zoneset.py
deleted file mode 100644
index ec85dec41f..0000000000
--- a/test/units/modules/network/nxos/storage/test_nxos_zone_zoneset.py
+++ /dev/null
@@ -1,496 +0,0 @@
-#!/usr/bin/env python
-# Copyright: Ansible Project
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-
-from __future__ import (absolute_import, division, print_function)
-
-__metaclass__ = type
-
-import pytest
-
-from units.compat.mock import patch
-from units.modules.utils import AnsibleFailJson, AnsibleExitJson
-from ansible.modules.network.nxos.storage import nxos_zone_zoneset
-from ansible.modules.network.nxos.storage.nxos_zone_zoneset import ShowZonesetActive
-from ansible.modules.network.nxos.storage.nxos_zone_zoneset import ShowZoneset
-from ansible.modules.network.nxos.storage.nxos_zone_zoneset import ShowZone
-from ansible.modules.network.nxos.storage.nxos_zone_zoneset import ShowZoneStatus
-
-from ..nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosZoneZonesetModule(TestNxosModule):
- module = nxos_zone_zoneset
-
- def setUp(self):
- super(TestNxosZoneZonesetModule, self).setUp()
- module_path = 'ansible.modules.network.nxos.storage.nxos_zone_zoneset.'
-
- self.mock_run_commands = patch(module_path + 'run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- self.mock_execute_show_cmd_zoneset_active = patch(
- module_path + 'ShowZonesetActive.execute_show_zoneset_active_cmd')
- self.execute_show_cmd_zoneset_active = self.mock_execute_show_cmd_zoneset_active.start()
-
- self.mock_execute_show_cmd_zoneset = patch(module_path + 'ShowZoneset.execute_show_zoneset_cmd')
- self.execute_show_cmd_zoneset = self.mock_execute_show_cmd_zoneset.start()
-
- self.mock_execute_show_cmd_zone = patch(module_path + 'ShowZone.execute_show_zone_vsan_cmd')
- self.execute_show_cmd_zone = self.mock_execute_show_cmd_zone.start()
-
- self.mock_execute_show_cmd_zone_status = patch(module_path + 'ShowZoneStatus.execute_show_zone_status_cmd')
- self.execute_show_cmd_zone_status = self.mock_execute_show_cmd_zone_status.start()
-
- self.mock_load_config = patch(module_path + 'load_config')
- self.load_config = self.mock_load_config.start()
-
- def tearDown(self):
- super(TestNxosZoneZonesetModule, self).tearDown()
- self.mock_run_commands.stop()
-
- self.execute_show_cmd_zoneset_active.stop()
- self.execute_show_cmd_zoneset.stop()
- self.execute_show_cmd_zone.stop()
- self.execute_show_cmd_zone_status.stop()
-
- self.mock_load_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.load_config.return_value = None
-
- # Test def zone from deny to permit and vice versa
- def test_zone_defzone_deny_to_permit(self):
- # switch has def-zone deny and mode basic
- a = dict(zone_zoneset_details=[dict(vsan=922, default_zone='permit')])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_0.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask',
- 'zone default-zone permit vsan 922',
- 'no terminal dont-ask'])
-
- def test_zone_defzone_deny_to_permit_1(self):
- # switch has def-zone deny and mode enhanced
- a = dict(zone_zoneset_details=[dict(vsan=922, default_zone='permit')])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_1.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask',
- 'zone default-zone permit vsan 922',
- 'zone commit vsan 922',
- 'no terminal dont-ask'])
-
- def test_zone_defzone_permit_to_deny_1(self):
- # switch has def-zone deny and mode enhanced
- a = dict(zone_zoneset_details=[dict(vsan=923, default_zone='deny')])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_2.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask',
- 'no zone default-zone permit vsan 923',
- 'zone commit vsan 923',
- 'no terminal dont-ask'])
-
- def test_zone_defzone_permit_to_deny_2(self):
- # switch has def-zone deny and mode enhanced
- a = dict(zone_zoneset_details=[dict(vsan=923, default_zone='deny')])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_3.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask',
- 'no zone default-zone permit vsan 923',
- 'no terminal dont-ask'])
-
- # Test zone mode from basic to enhanced and vice versa
- def test_zone_mode_basic_to_enh(self):
- # switch has def-zone deny and mode basic
- a = dict(zone_zoneset_details=[dict(vsan=922, mode='enhanced')])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_0.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask',
- 'zone mode enhanced vsan 922',
- 'zone commit vsan 922',
- 'no terminal dont-ask'])
-
- # Test zone mode from basic to enhanced and vice versa
- def test_zone_mode_basic_to_enh_1(self):
- # switch has def-zone deny and mode basic
- a = dict(zone_zoneset_details=[dict(vsan=922, mode='basic')])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_1.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask',
- 'no zone mode enhanced vsan 922',
- 'no terminal dont-ask'])
-
- # Test zone smart-zone from enabled to disabled and vice versa
- def test_zone_smart_zone(self):
- # switch has def-zone deny and mode basic
- a = dict(zone_zoneset_details=[dict(vsan=922, smart_zoning=False)])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_0.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask',
- 'no zone smart-zoning enable vsan 922',
- 'no terminal dont-ask'])
-
- def test_zone_smart_zone_1(self):
- # switch has def-zone deny and mode basic
- a = dict(zone_zoneset_details=[dict(vsan=923, smart_zoning=True)])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_1.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask',
- 'zone smart-zoning enable vsan 923',
- 'zone commit vsan 923',
- 'no terminal dont-ask'])
-
- # Test zone add/removal
- def test_zone_add_rem(self):
- a = dict(zone_zoneset_details=[dict(
- vsan=923,
- zone=[
- dict(
- name='zoneB',
- remove=True)
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_1.cfg')
- self.execute_show_cmd_zone.return_value = load_fixture('nxos_zone_zoneset', 'shzone_0.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'],
- ['terminal dont-ask', 'no zone name zoneB vsan 923', 'zone commit vsan 923',
- 'no terminal dont-ask'])
-
- def test_zone_add_rem_1(self):
- a = dict(zone_zoneset_details=[dict(
- vsan=923,
- zone=[
- dict(
- name='zoneC',
- remove=True)
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_1.cfg')
- self.execute_show_cmd_zone.return_value = load_fixture('nxos_zone_zoneset', 'shzone_0.cfg')
- result = self.execute_module(changed=False, failed=False)
- m = "zone 'zoneC' is not present in vsan 923"
- assert m in str(result['messages'])
- self.assertEqual(result['commands'], [])
-
- def test_zone_add_rem_2(self):
- a = dict(zone_zoneset_details=[dict(
- vsan=923,
- zone=[
- dict(
- name='zoneBNew')
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_1.cfg')
- self.execute_show_cmd_zone.return_value = load_fixture('nxos_zone_zoneset', 'shzone_0.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask',
- 'zone name zoneBNew vsan 923',
- 'zone commit vsan 923',
- 'no terminal dont-ask'])
-
- def test_zone_add_rem_3(self):
- a = dict(zone_zoneset_details=[dict(
- vsan=923,
- zone=[
- dict(
- name='zoneB')
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_1.cfg')
- self.execute_show_cmd_zone.return_value = load_fixture('nxos_zone_zoneset', 'shzone_0.cfg')
- result = self.execute_module(changed=False, failed=False)
- m = "zone 'zoneB' is already present in vsan 923"
- assert m in str(result['messages'])
- self.assertEqual(result['commands'], [])
-
- # Test zone mem add/removal
- def test_zonemem_add_rem(self):
- mem1 = {'pwwn': '10:00:10:94:00:00:00:01'}
- mem2 = {'device_alias': 'somename'}
- a = dict(zone_zoneset_details=[dict(
- vsan=923,
- zone=[
- dict(
- name='zoneBNew',
- members=[mem1, mem2])
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_1.cfg')
- self.execute_show_cmd_zone.return_value = load_fixture('nxos_zone_zoneset', 'shzone_0.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask',
- 'zone name zoneBNew vsan 923',
- 'member pwwn 10:00:10:94:00:00:00:01',
- 'member device-alias somename',
- 'zone commit vsan 923',
- 'no terminal dont-ask'])
-
- # Test zone mem add/removal
- def test_zonemem_add_rem_1(self):
- mem1 = {'pwwn': '11:11:11:11:11:11:11:11', 'remove': True}
- mem2 = {'device_alias': 'test123', 'remove': True}
- a = dict(zone_zoneset_details=[dict(
- vsan=923,
- zone=[
- dict(
- name='zoneA',
- members=[mem1, mem2])
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_1.cfg')
- self.execute_show_cmd_zone.return_value = load_fixture('nxos_zone_zoneset', 'shzone_0.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask',
- 'zone name zoneA vsan 923',
- 'no member pwwn 11:11:11:11:11:11:11:11',
- 'no member device-alias test123',
- 'zone commit vsan 923',
- 'no terminal dont-ask'])
-
- # Test zone mem add/removal
- def test_zonemem_add_rem_2(self):
- mem1 = {'pwwn': '11:11:11:11:11:11:11:11', 'remove': True}
- mem2 = {'device_alias': 'test123', 'remove': True}
- a = dict(zone_zoneset_details=[dict(
- vsan=923,
- zone=[
- dict(
- name='zoneA1',
- members=[mem1, mem2])
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_1.cfg')
- self.execute_show_cmd_zone.return_value = load_fixture('nxos_zone_zoneset', 'shzone_0.cfg')
- result = self.execute_module(changed=False, failed=False)
- m = "zone 'zoneA1' is not present in vsan 923 , hence cannot remove the members"
- assert m in str(result['messages'])
- self.assertEqual(result['commands'], [])
-
- def test_zonemem_add_rem_3(self):
- mem1 = {'pwwn': '10:00:10:94:00:00:00:01', 'devtype': 'initiator'}
- mem2 = {'device_alias': 'somename', 'devtype': 'target'}
- mem3 = {'device_alias': 'somenameWithBoth', 'devtype': 'both'}
-
- a = dict(zone_zoneset_details=[dict(
- vsan=922,
- zone=[
- dict(
- name='zoneBNew',
- members=[mem1, mem2, mem3])
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_0.cfg')
- self.execute_show_cmd_zone.return_value = load_fixture('nxos_zone_zoneset', 'shzone_1.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'],
- ['terminal dont-ask', 'zone name zoneBNew vsan 922',
- 'member pwwn 10:00:10:94:00:00:00:01 initiator',
- 'member device-alias somename target',
- 'member device-alias somenameWithBoth both',
- 'no terminal dont-ask'])
-
- # Test zone mem add/removal with devtype
- def test_zonemem_add_rem_4(self):
- mem2 = {'device_alias': 'test123', 'devtype': 'both', 'remove': True}
-
- a = dict(zone_zoneset_details=[dict(
- vsan=922,
- zone=[
- dict(
- name='zoneA',
- members=[mem2])
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_0.cfg')
- self.execute_show_cmd_zone.return_value = load_fixture('nxos_zone_zoneset', 'shzone_1.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'],
- ['terminal dont-ask', 'zone name zoneA vsan 922',
- 'no member device-alias test123 both',
- 'no terminal dont-ask'])
-
- # Test zoneset add/removal
- def test_zoneset_add_rem(self):
- a = dict(zone_zoneset_details=[
- dict(vsan=922,
- zoneset=[
- dict(name='zsetname21', remove=True)
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_0.cfg')
- self.execute_show_cmd_zoneset.return_value = load_fixture('nxos_zone_zoneset', 'shzoneset_0.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'],
- ['terminal dont-ask', 'no zoneset name zsetname21 vsan 922', 'no terminal dont-ask']
- )
-
- def test_zoneset_add_rem_1(self):
- a = dict(zone_zoneset_details=[
- dict(vsan=922,
- zoneset=[
- dict(name='zsetname21New')
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_0.cfg')
- self.execute_show_cmd_zoneset.return_value = load_fixture('nxos_zone_zoneset', 'shzoneset_0.cfg')
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'],
- ['terminal dont-ask', 'zoneset name zsetname21New vsan 922', 'no terminal dont-ask']
- )
-
- def test_zoneset_add_rem_2(self):
- a = dict(zone_zoneset_details=[
- dict(vsan=922,
- zoneset=[
- dict(name='zsetname21')
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_0.cfg')
- self.execute_show_cmd_zoneset.return_value = load_fixture('nxos_zone_zoneset', 'shzoneset_0.cfg')
- result = self.execute_module(changed=False, failed=False)
- m = "zoneset 'zsetname21' is already present in vsan 922"
- self.assertEqual(result['commands'], [])
- self.assertEqual(result['messages'], [m])
-
- def test_zoneset_add_rem_3(self):
- a = dict(zone_zoneset_details=[
- dict(vsan=922,
- zoneset=[
- dict(name='zsetname21New', remove=True)
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_0.cfg')
- self.execute_show_cmd_zoneset.return_value = load_fixture('nxos_zone_zoneset', 'shzoneset_0.cfg')
- result = self.execute_module(changed=False, failed=False)
- m = "zoneset 'zsetname21New' is not present in vsan 922 ,hence there is nothing to remove"
- self.assertEqual(result['commands'], [])
- self.assertEqual(result['messages'], [m])
-
- # Test zoneset mem add/removal
- def test_zoneset_mem_add_rem(self):
- mem1 = {'name': 'newZoneV100'}
-
- a = dict(zone_zoneset_details=[
- dict(vsan=922,
- zoneset=[
- dict(name='zsetname21', members=[mem1])
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_0.cfg')
- self.execute_show_cmd_zoneset.return_value = load_fixture('nxos_zone_zoneset', 'shzoneset_0.cfg')
- result = self.execute_module(changed=True, failed=False)
- self.assertEqual(result['commands'],
- ['terminal dont-ask', 'zoneset name zsetname21 vsan 922', 'member newZoneV100',
- 'no terminal dont-ask']
- )
-
- # Test zoneset mem add/removal
- def test_zoneset_mem_add_rem_1(self):
- mem1 = {'name': 'zone21A', 'remove': True}
-
- a = dict(zone_zoneset_details=[
- dict(vsan=922,
- zoneset=[
- dict(name='zsetname21', members=[mem1])
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_0.cfg')
- self.execute_show_cmd_zoneset.return_value = load_fixture('nxos_zone_zoneset', 'shzoneset_0.cfg')
- result = self.execute_module(changed=True, failed=False)
- self.assertEqual(result['commands'],
- ['terminal dont-ask', 'zoneset name zsetname21 vsan 922', 'no member zone21A',
- 'no terminal dont-ask']
- )
-
- # Test zoneset mem add/removal
- def test_zoneset_mem_add_rem_2(self):
- mem1 = {'name': 'zone21', 'remove': True}
-
- a = dict(zone_zoneset_details=[
- dict(vsan=922,
- zoneset=[
- dict(name='zsetname21', members=[mem1])
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_0.cfg')
- self.execute_show_cmd_zoneset.return_value = load_fixture('nxos_zone_zoneset', 'shzoneset_0.cfg')
- result = self.execute_module(changed=False, failed=False)
- m = "zoneset member 'zone21' is not present in zoneset 'zsetname21' in vsan 922 ,hence there is nothing to remove"
- self.assertEqual(result['commands'], [])
- self.assertEqual(result['messages'], [m])
-
- # Test zoneset activate/deactivate
- def test_zoneset_activate_deactivate(self):
- a = dict(zone_zoneset_details=[
- dict(vsan=221,
- zoneset=[
- dict(name='zsv221', action='activate')
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_4.cfg')
- self.execute_show_cmd_zoneset.return_value = load_fixture('nxos_zone_zoneset', 'shzoneset_2.cfg')
- self.execute_show_cmd_zoneset_active.return_value = load_fixture('nxos_zone_zoneset', 'shzonesetactive_0.cfg')
- result = self.execute_module(changed=False, failed=False)
- m = "zoneset 'zsv221' is already present in vsan 221"
- m1 = "zoneset 'zsv221' in vsan 221 is already activated"
- self.assertEqual(result['commands'], [])
- self.assertEqual(result['messages'], [m, m1])
-
- def test_zoneset_activate_deactivate_1(self):
- a = dict(zone_zoneset_details=[
- dict(vsan=221,
- zoneset=[
- dict(name='zsv221', action='deactivate')
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_4.cfg')
- self.execute_show_cmd_zoneset.return_value = load_fixture('nxos_zone_zoneset', 'shzoneset_2.cfg')
- self.execute_show_cmd_zoneset_active.return_value = load_fixture('nxos_zone_zoneset', 'shzonesetactive_0.cfg')
- result = self.execute_module(changed=True, failed=False)
- self.assertEqual(result['commands'], ['terminal dont-ask',
- 'no zoneset activate name zsv221 vsan 221',
- 'zone commit vsan 221',
- 'no terminal dont-ask'])
-
- def test_zoneset_activate_deactivate_2(self):
- a = dict(zone_zoneset_details=[
- dict(vsan=221,
- zoneset=[
- dict(name='zsv221New', action='activate')
- ])
- ])
- set_module_args(a, True)
- self.execute_show_cmd_zone_status.return_value = load_fixture('nxos_zone_zoneset', 'shzonestatus_4.cfg')
- self.execute_show_cmd_zoneset.return_value = load_fixture('nxos_zone_zoneset', 'shzoneset_2.cfg')
- self.execute_show_cmd_zoneset_active.return_value = load_fixture('nxos_zone_zoneset', 'shzonesetactive_0.cfg')
- result = self.execute_module(changed=True, failed=False)
- self.assertEqual(result['commands'], ['terminal dont-ask', 'zoneset name zsv221New vsan 221',
- 'zoneset activate name zsv221New vsan 221',
- 'zone commit vsan 221',
- 'no terminal dont-ask'])
diff --git a/test/units/modules/network/nxos/test_nxos_acl.py b/test/units/modules/network/nxos/test_nxos_acl.py
deleted file mode 100644
index 39fb0b0486..0000000000
--- a/test/units/modules/network/nxos/test_nxos_acl.py
+++ /dev/null
@@ -1,79 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-import json
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_acl
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosAclModule(TestNxosModule):
-
- module = nxos_acl
-
- def setUp(self):
- super(TestNxosAclModule, self).setUp()
-
- self.mock_run_commands = patch('ansible.modules.network.nxos.nxos_acl.run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_acl.load_config')
- self.load_config = self.mock_load_config.start()
-
- def tearDown(self):
- super(TestNxosAclModule, self).tearDown()
- self.mock_run_commands.stop()
- self.mock_load_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- def load_from_file(*args, **kwargs):
- module, commands = args
- output = list()
-
- for item in commands:
- try:
- obj = json.loads(item)
- command = obj['command']
- except ValueError:
- command = item
- filename = '%s.txt' % str(command).split(' | ')[0].replace(' ', '_')
- output.append(load_fixture('nxos_acl', filename))
- return output
-
- self.run_commands.side_effect = load_from_file
- self.load_config.return_value = None
-
- def test_nxos_acl(self):
- set_module_args(dict(name='ANSIBLE', seq=10, action='permit',
- proto='tcp', src='192.0.2.1/24', dest='any'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['ip access-list ANSIBLE', '10 permit tcp 192.0.2.1/24 any'])
-
- def test_nxos_acl_remove(self):
- set_module_args(dict(name='copp-system-p-acl-bgp', seq=10, state='absent'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['ip access-list copp-system-p-acl-bgp', 'no 10'])
-
- def test_nxos_acl_delete_acl(self):
- set_module_args(dict(name='copp-system-p-acl-bgp', state='delete_acl'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['no ip access-list copp-system-p-acl-bgp'])
diff --git a/test/units/modules/network/nxos/test_nxos_acl_interface.py b/test/units/modules/network/nxos/test_nxos_acl_interface.py
deleted file mode 100644
index bfcab65a94..0000000000
--- a/test/units/modules/network/nxos/test_nxos_acl_interface.py
+++ /dev/null
@@ -1,71 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metacl_interfaceass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_acl_interface
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosAclInterfaceModule(TestNxosModule):
-
- module = nxos_acl_interface
-
- def setUp(self):
- super(TestNxosAclInterfaceModule, self).setUp()
-
- self.mock_run_commands = patch('ansible.modules.network.nxos.nxos_acl_interface.run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_acl_interface.load_config')
- self.load_config = self.mock_load_config.start()
-
- def tearDown(self):
- super(TestNxosAclInterfaceModule, self).tearDown()
- self.mock_run_commands.stop()
- self.mock_load_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- def load_from_file(*args, **kwargs):
- module, commands = args
- output = list()
-
- for item in commands:
- try:
- command = item['command']
- except ValueError:
- command = item
- filename = '%s.txt' % str(command).split(' | ')[0].replace(' ', '_')
- output.append(load_fixture('nxos_acl_interface', filename))
- return output
-
- self.run_commands.side_effect = load_from_file
- self.load_config.return_value = None
-
- def test_nxos_acl_interface(self):
- set_module_args(dict(name='ANSIBLE', interface='ethernet1/41', direction='egress'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface ethernet1/41', 'ip access-group ANSIBLE out'])
-
- def test_nxos_acl_interface_remove(self):
- set_module_args(dict(name='copp-system-p-acl-bgp', interface='ethernet1/41',
- direction='egress', state='absent'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface ethernet1/41', 'no ip access-group copp-system-p-acl-bgp out'])
diff --git a/test/units/modules/network/nxos/test_nxos_acl_interfaces.py b/test/units/modules/network/nxos/test_nxos_acl_interfaces.py
deleted file mode 100644
index 8c55cd9480..0000000000
--- a/test/units/modules/network/nxos/test_nxos_acl_interfaces.py
+++ /dev/null
@@ -1,303 +0,0 @@
-#
-# (c) 2019, Ansible by Red Hat, inc
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-#
-
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from ansible.modules.network.nxos import nxos_acl_interfaces
-from units.compat.mock import patch, MagicMock
-from units.modules.utils import set_module_args
-from .nxos_module import TestNxosModule, load_fixture
-
-
-class TestNxosAclInterfacesModule(TestNxosModule):
-
- module = nxos_acl_interfaces
-
- def setUp(self):
- super(TestNxosAclInterfacesModule, self).setUp()
-
- self.mock_get_config = patch(
- 'ansible.module_utils.network.common.network.Config.get_config')
- self.get_config = self.mock_get_config.start()
-
- self.mock_load_config = patch(
- 'ansible.module_utils.network.common.network.Config.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_resource_connection_config = patch(
- 'ansible.module_utils.network.common.cfg.base.get_resource_connection'
- )
- self.get_resource_connection_config = self.mock_get_resource_connection_config.start(
- )
-
- self.mock_get_resource_connection_facts = patch(
- 'ansible.module_utils.network.common.facts.facts.get_resource_connection'
- )
- self.get_resource_connection_facts = self.mock_get_resource_connection_facts.start()
-
- self.mock_edit_config = patch(
- 'ansible.module_utils.network.nxos.config.acl_interfaces.acl_interfaces.Acl_interfaces.edit_config'
- )
- self.edit_config = self.mock_edit_config.start()
-
- self.mock_execute_show_command = patch(
- 'ansible.module_utils.network.nxos.facts.acl_interfaces.acl_interfaces.Acl_interfacesFacts.get_device_data'
- )
- self.execute_show_command = self.mock_execute_show_command.start()
-
- def tearDown(self):
- super(TestNxosAclInterfacesModule, self).tearDown()
- self.mock_get_resource_connection_config.stop()
- self.mock_get_resource_connection_facts.stop()
- self.mock_edit_config.stop()
- self.mock_get_config.stop()
- self.mock_load_config.stop()
- self.mock_execute_show_command.stop()
-
- def load_fixtures(self, commands=None, device=''):
- def load_from_file(*args, **kwargs):
- output = '''interface Ethernet1/2\n ip access-group ACL1v4 out\n interface Ethernet1/4\n ipv6 port traffic-filter ACL2v6 in\n'''
- return output
-
- self.execute_show_command.side_effect = load_from_file
-
- def test_nxos_acl_interfaces_merged(self):
- set_module_args(
- dict(config=[
- dict(name="Ethernet1/3",
- access_groups=[
- dict(afi="ipv4",
- acls=[
- dict(
- name="ACL1v4",
- direction="in",
- )
- ]
- )
- ]
- )
- ], state="merged"))
- commands = ['interface Ethernet1/3',
- 'ip access-group ACL1v4 in']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_acl_interfaces_merged_idempotent(self):
- set_module_args(
- dict(config=[
- dict(name="Ethernet1/2",
- access_groups=[
- dict(afi="ipv4",
- acls=[
- dict(
- name="ACL1v4",
- direction="out",
- )
- ]
- )
- ]
- ),
- dict(name="Ethernet1/4",
- access_groups=[
- dict(afi="ipv6",
- acls=[
- dict(
- name="ACL2v6",
- direction="in",
- port=True
- )
- ]
- )
- ]
- ),
-
- ], state="merged"))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_acl_interfaces_replaced(self):
- set_module_args(
- dict(config=[
- dict(name="Ethernet1/2",
- access_groups=[
- dict(afi="ipv6",
- acls=[
- dict(
- name="ACL1v6",
- direction="in",
- port=True
- )
- ]
- )
- ]
- ),
- dict(name="Ethernet1/5",
- access_groups=[
- dict(afi="ipv4",
- acls=[
- dict(
- name="ACL2v4",
- direction="in",
- port=True
- )
- ]
- )
- ]
- )
- ], state="replaced"))
- commands = ['interface Ethernet1/2', 'no ip access-group ACL1v4 out',
- 'ipv6 port traffic-filter ACL1v6 in', 'interface Ethernet1/5', 'ip port access-group ACL2v4 in']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_acl_interfaces_replaced_idempotent(self):
- set_module_args(
- dict(config=[
- dict(name="Ethernet1/2",
- access_groups=[
- dict(afi="ipv4",
- acls=[
- dict(
- name="ACL1v4",
- direction="out",
- )
- ]
- )
- ]
- )], state="replaced"))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_acl_interfaces_overridden(self):
- set_module_args(
- dict(config=[
- dict(name="Ethernet1/3",
- access_groups=[
- dict(afi="ipv4",
- acls=[
- dict(
- name="ACL2v4",
- direction="out"
- ),
- dict(
- name="PortACL",
- direction="in",
- port=True
- ),
- ]
- )
- ]
- )], state="overridden"))
- commands = ['interface Ethernet1/2', 'no ip access-group ACL1v4 out', 'interface Ethernet1/4',
- 'no ipv6 port traffic-filter ACL2v6 in', 'interface Ethernet1/3', 'ip access-group ACL2v4 out', 'ip port access-group PortACL in']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_acl_interfaces_overridden_idempotent(self):
- set_module_args(
- dict(config=[
- dict(name="Ethernet1/2",
- access_groups=[
- dict(afi="ipv4",
- acls=[
- dict(
- name="ACL1v4",
- direction="out",
- )
- ]
- )
- ]
- ),
- dict(name="Ethernet1/4",
- access_groups=[
- dict(afi="ipv6",
- acls=[
- dict(
- name="ACL2v6",
- direction="in",
- port=True
- )
- ]
- )
- ]
- ),
- ], state="overridden"))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_acl_interfaces_deletedname(self):
- set_module_args(
- dict(config=[dict(name="Ethernet1/2")], state="deleted"))
- commands = ['interface Ethernet1/2', 'no ip access-group ACL1v4 out']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_acl_interfaces_deletedafi(self):
- set_module_args(
- dict(config=[dict(name="Ethernet1/2", access_groups=[
- dict(afi="ipv4")
- ])], state="deleted"))
- commands = ['interface Ethernet1/2', 'no ip access-group ACL1v4 out']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_acl_interfaces_deletedacl(self):
- set_module_args(
- dict(config=[dict(name="Ethernet1/2", access_groups=[
- dict(afi="ipv4", acls=[
- dict(
- name="ACL1v4",
- direction="out"
- )
- ])
- ])], state="deleted"))
- commands = ['interface Ethernet1/2', 'no ip access-group ACL1v4 out']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_acl_interfaces_rendered(self):
- set_module_args(
- dict(config=[
- dict(name="Ethernet1/2",
- access_groups=[
- dict(afi="ipv4",
- acls=[
- dict(
- name="ACL1v4",
- direction="out",
- )
- ]
- )
- ]
- ),
- dict(name="Ethernet1/4",
- access_groups=[
- dict(afi="ipv6",
- acls=[
- dict(
- name="ACL2v6",
- direction="in",
- port=True
- )
- ]
- )
- ]
- ),
- ], state="rendered"))
- commands = ['interface Ethernet1/2', 'ip access-group ACL1v4 out',
- 'interface Ethernet1/4', 'ipv6 port traffic-filter ACL2v6 in']
- result = self.execute_module(changed=False)
- self.assertEqual(sorted(result['rendered']), sorted(
- commands), result['rendered'])
-
- def test_nxos_acl_interfaces_parsed(self):
- set_module_args(dict(running_config='''interface Ethernet1/2\n ip access-group ACL1v4 out\n interface Ethernet1/4\n \
- ipv6 port traffic-filter ACL2v6 in''',
- state="parsed"))
- result = self.execute_module(changed=False)
- compare_list = [{'access_groups': [{'acls': [{'direction': 'out', 'name': 'ACL1v4'}], 'afi': 'ipv4'}], 'name': 'Ethernet1/2'},
- {'access_groups': [{'acls': [{'direction': 'in', 'name': 'ACL2v6', 'port': True}], 'afi': 'ipv6'}], 'name': 'Ethernet1/4'}]
- self.assertEqual(result['parsed'],
- compare_list, result['parsed'])
-
- def test_nxos_acl_interfaces_gathered(self):
- set_module_args(dict(config=[], state="gathered"))
- result = self.execute_module(changed=False)
- compare_list = [{'access_groups': [{'acls': [{'direction': 'out', 'name': 'ACL1v4'}], 'afi': 'ipv4'}], 'name': 'Ethernet1/2'},
- {'access_groups': [{'acls': [{'direction': 'in', 'name': 'ACL2v6', 'port': True}], 'afi': 'ipv6'}], 'name': 'Ethernet1/4'}]
- self.assertEqual(result['gathered'],
- compare_list, result['gathered'])
diff --git a/test/units/modules/network/nxos/test_nxos_acls.py b/test/units/modules/network/nxos/test_nxos_acls.py
deleted file mode 100644
index 32cfbdc168..0000000000
--- a/test/units/modules/network/nxos/test_nxos_acls.py
+++ /dev/null
@@ -1,370 +0,0 @@
-#
-# (c) 2019, Ansible by Red Hat, inc
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-#
-
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from ansible.modules.network.nxos import nxos_acls
-from units.compat.mock import patch, MagicMock
-from units.modules.utils import set_module_args
-from .nxos_module import TestNxosModule, load_fixture
-
-
-class TestNxosAclsModule(TestNxosModule):
-
- module = nxos_acls
-
- def setUp(self):
- super(TestNxosAclsModule, self).setUp()
-
- self.mock_get_config = patch(
- 'ansible.module_utils.network.common.network.Config.get_config')
- self.get_config = self.mock_get_config.start()
-
- self.mock_load_config = patch(
- 'ansible.module_utils.network.common.network.Config.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_resource_connection_config = patch(
- 'ansible.module_utils.network.common.cfg.base.get_resource_connection'
- )
- self.get_resource_connection_config = self.mock_get_resource_connection_config.start(
- )
-
- self.mock_get_resource_connection_facts = patch(
- 'ansible.module_utils.network.common.facts.facts.get_resource_connection'
- )
- self.get_resource_connection_facts = self.mock_get_resource_connection_facts.start()
-
- self.mock_edit_config = patch(
- 'ansible.module_utils.network.nxos.config.acls.acls.Acls.edit_config'
- )
- self.edit_config = self.mock_edit_config.start()
-
- self.mock_execute_show_command = patch(
- 'ansible.module_utils.network.nxos.facts.acls.acls.AclsFacts.get_device_data'
- )
- self.execute_show_command = self.mock_execute_show_command.start()
-
- def tearDown(self):
- super(TestNxosAclsModule, self).tearDown()
- self.mock_get_resource_connection_config.stop()
- self.mock_get_resource_connection_facts.stop()
- self.mock_edit_config.stop()
- self.mock_get_config.stop()
- self.mock_load_config.stop()
- self.mock_execute_show_command.stop()
-
- def load_fixtures(self, commands=None, device=''):
- def load_from_file(*args, **kwargs):
- v4 = '''\nip access-list ACL1v4\n 10 permit ip any any\n 20 deny udp any any'''
- v6 = '''\nipv6 access-list ACL1v6\n 10 permit sctp any any'''
- return v4 + v6
-
- self.execute_show_command.side_effect = load_from_file
-
- def test_nxos_acls_merged(self):
- set_module_args(
- dict(config=[
- dict(afi="ipv4",
- acls=[
- dict(name="ACL2v4",
- aces=[
- dict(
- grant="deny",
- destination=dict(any=True),
- source=dict(any=True),
- fragments=True,
- sequence=20,
- protocol="tcp",
- protocol_options=dict(
- tcp=dict(ack=True))
- )
- ]
- )
- ]
- ),
- dict(afi="ipv6",
- acls=[
- dict(name="ACL2v6")
- ])
- ], state="merged"))
- commands = ['ip access-list ACL2v4',
- '20 deny tcp any any ack fragments',
- 'ipv6 access-list ACL2v6']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_acls_merged_idempotent(self):
- set_module_args(
- dict(config=[
- dict(afi="ipv4",
- acls=[
- dict(name="ACL1v4",
- aces=[
- dict(
- grant="permit",
- destination=dict(any=True),
- source=dict(any=True),
- sequence=10,
- protocol="ip"
- ),
- dict(
- grant="deny",
- destination=dict(any=True),
- source=dict(any=True),
- sequence=20,
- protocol="udp")
- ]
- ),
- ]
- ),
- dict(afi="ipv6",
- acls=[
- dict(name="ACL1v6",
- aces=[
- dict(
- grant="permit",
- destination=dict(any=True),
- source=dict(any=True),
- sequence=10,
- protocol="sctp",
- )
- ])
- ])
- ], state="merged"))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_acls_replaced(self):
- set_module_args(
- dict(config=[
- dict(afi="ipv4",
- acls=[
- dict(name="ACL1v4",
- aces=[
- dict(
- grant="permit",
- destination=dict(host="192.0.2.28"),
- source=dict(any=True),
- log=True,
- sequence=50,
- protocol="icmp",
- protocol_options=dict(
- icmp=dict(administratively_prohibited=True))
- )
- ]
- )
- ]
- )
- ], state="replaced"))
- commands = ['ip access-list ACL1v4', 'no 20 deny udp any any',
- 'no 10 permit ip any any',
- '50 permit icmp any host 192.0.2.28 administratively-prohibited log']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_acls_replaced_idempotent(self):
- set_module_args(
- dict(config=[
- dict(afi="ipv4",
- acls=[
- dict(name="ACL1v4",
- aces=[
- dict(
- grant="permit",
- destination=dict(any=True),
- source=dict(any=True),
- sequence=10,
- protocol="ip",
- ),
- dict(
- grant="deny",
- destination=dict(any=True),
- source=dict(any=True),
- sequence=20,
- protocol="udp")
- ]
- ),
- ]
- ),
- dict(afi="ipv6",
- acls=[
- dict(name="ACL1v6",
- aces=[
- dict(
- grant="permit",
- destination=dict(any=True),
- source=dict(any=True),
- sequence=10,
- protocol="sctp",
- )
- ])
- ])
- ], state="replaced"))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_acls_overridden(self):
- set_module_args(
- dict(config=[
- dict(afi="ipv4",
- acls=[
- dict(name="ACL2v4",
- aces=[
- dict(
- grant="permit",
- destination=dict(host="192.0.2.28"),
- source=dict(any=True),
- log=True,
- sequence=50,
- protocol="icmp",
- protocol_options=dict(
- icmp=dict(administratively_prohibited=True))
- ),
- dict(
- remark="Overridden ACL"
- )
- ]
- )
- ]
- )
- ], state="overridden"))
- commands = ['no ip access-list ACL1v4', 'no ipv6 access-list ACL1v6', 'ip access-list ACL2v4',
- '50 permit icmp any host 192.0.2.28 administratively-prohibited log', 'remark Overridden ACL']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_acls_overridden_idempotent(self):
- set_module_args(
- dict(config=[
- dict(afi="ipv4",
- acls=[
- dict(name="ACL1v4",
- aces=[
- dict(
- grant="permit",
- destination=dict(any=True),
- source=dict(any=True),
- sequence=10,
- protocol="ip",
- ),
- dict(
- grant="deny",
- destination=dict(any=True),
- source=dict(any=True),
- sequence=20,
- protocol="udp")
- ]
- ),
- ]
- ),
- dict(afi="ipv6",
- acls=[
- dict(name="ACL1v6",
- aces=[
- dict(
- grant="permit",
- destination=dict(any=True),
- source=dict(any=True),
- sequence=10,
- protocol="sctp",
- )
- ])
- ])
- ], state="overridden"))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_acls_deletedafi(self):
- set_module_args(
- dict(config=[dict(afi="ipv4")], state="deleted"))
- commands = ['no ip access-list ACL1v4']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_acls_deletedace(self):
- set_module_args(
- dict(config=[dict(afi="ipv6",
- acls=[
- dict(name="ACL1v6",
- aces=[
- dict(
- grant="permit",
- destination=dict(any=True),
- source=dict(any=True),
- sequence=10,
- protocol="sctp",
- )
- ])
- ])], state="deleted"))
- commands = ['ipv6 access-list ACL1v6', 'no 10 permit sctp any any']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_acls_deletedall(self):
- set_module_args(dict(config=[], state='deleted'))
- commands = ['no ipv6 access-list ACL1v6', 'no ip access-list ACL1v4']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_acls_rendered(self):
- set_module_args(
- dict(config=[
- dict(afi="ipv4",
- acls=[
- dict(name="ACL1v4",
- aces=[
- dict(
- grant="permit",
- destination=dict(any=True),
- source=dict(any=True),
- sequence=10,
- protocol="ip",
- ),
- dict(
- grant="deny",
- destination=dict(any=True),
- source=dict(any=True),
- sequence=20,
- protocol="udp")
- ]
- ),
- ]
- ),
- dict(afi="ipv6",
- acls=[
- dict(name="ACL1v6",
- aces=[
- dict(
- grant="permit",
- destination=dict(any=True),
- source=dict(any=True),
- sequence=10,
- protocol="sctp",
- )
- ])
- ])
- ], state="rendered"))
- commands = ['ip access-list ACL1v4', '10 permit ip any any', '20 deny udp any any',
- 'ipv6 access-list ACL1v6', '10 permit sctp any any']
- result = self.execute_module(changed=False)
- self.assertEqual(sorted(result['rendered']), sorted(
- commands), result['rendered'])
-
- def test_nxos_acls_parsed(self):
- set_module_args(dict(running_config='''\nip access-list ACL1v4\n 10 permit ip any any\n 20 deny udp any any dscp AF23 precedence critical''',
- state="parsed"))
- result = self.execute_module(changed=False)
- compare_list = [{'afi': 'ipv4', 'acls': [{'name': 'ACL1v4',
- 'aces': [{'grant': 'permit', 'sequence': 10, 'protocol': 'ip', 'source': {'any': True},
- 'destination': {'any': True}}, {'grant': 'deny', 'sequence': 20,
- 'protocol': 'udp', 'source': {'any': True},
- 'destination': {'any': True},
- 'dscp': 'AF23', 'precedence': 'critical'}]}]}]
- self.assertEqual(result['parsed'], compare_list, result['parsed'])
-
- def test_nxos_acls_gathered(self):
- set_module_args(dict(config=[], state="gathered"))
- result = self.execute_module(changed=False)
- compare_list = [{'acls': [{'aces': [{'destination': {'any': True}, 'sequence': 10, 'protocol': 'sctp', 'source': {'any': True}, 'grant': 'permit'}],
- 'name': 'ACL1v6'}], 'afi': 'ipv6'}, {'acls': [{'aces': [{'destination': {'any': True}, 'sequence': 10, 'protocol': 'ip',
- 'source': {'any': True}, 'grant': 'permit'},
- {'destination': {'any': True}, 'sequence': 20, 'protocol': 'udp',
- 'source': {'any': True}, 'grant': 'deny'}], 'name': 'ACL1v4'}],
- 'afi': 'ipv4'}]
- self.assertEqual(result['gathered'],
- compare_list, result['gathered'])
diff --git a/test/units/modules/network/nxos/test_nxos_banner.py b/test/units/modules/network/nxos/test_nxos_banner.py
deleted file mode 100644
index 326f9a3088..0000000000
--- a/test/units/modules/network/nxos/test_nxos_banner.py
+++ /dev/null
@@ -1,83 +0,0 @@
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_banner
-from .nxos_module import TestNxosModule, set_module_args
-
-
-class TestNxosBannerModule(TestNxosModule):
-
- module = nxos_banner
-
- def setUp(self):
- super(TestNxosBannerModule, self).setUp()
- self.mock_run_commands = patch('ansible.modules.network.nxos.nxos_banner.run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_banner.load_config')
- self.load_config = self.mock_load_config.start()
-
- def tearDown(self):
- super(TestNxosBannerModule, self).tearDown()
- self.mock_run_commands.stop()
- self.mock_load_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.load_config.return_value = dict(diff=None, session='session')
-
- def test_nxos_banner_exec_create(self):
- set_module_args(dict(banner='exec', text='test\nbanner\nstring'))
- commands = ['banner exec @\ntest\nbanner\nstring\n@']
- self.run_commands.return_value = commands
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_banner_exec_remove(self):
- set_module_args(dict(banner='exec', state='absent'))
- commands = ['no banner exec']
- self.run_commands.return_value = commands
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_banner_exec_fail_create(self):
- set_module_args(dict(banner='exec', text='test\nbanner\nstring'))
- commands = ['banner exec @\ntest\nbanner\nstring\n@']
- err_rsp = ['Invalid command']
- self.run_commands.return_value = err_rsp
- result = self.execute_module(failed=True, changed=True)
- self.assertEqual(result['msg'], 'banner: exec may not be supported on this platform. Possible values are : exec | motd')
-
- def test_nxos_banner_exec_fail_remove(self):
- set_module_args(dict(banner='exec', state='absent'))
- commands = ['no banner exec']
- err_rsp = ['Invalid command']
- self.run_commands.return_value = err_rsp
- result = self.execute_module(failed=True, changed=True)
- self.assertEqual(result['msg'], 'banner: exec may not be supported on this platform. Possible values are : exec | motd')
-
- def test_nxos_banner_motd_create(self):
- set_module_args(dict(banner='motd', text='test\nbanner\nstring'))
- commands = ['banner motd @\ntest\nbanner\nstring\n@']
- self.run_commands.return_value = commands
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_banner_motd_remove(self):
- set_module_args(dict(banner='motd', state='absent'))
- commands = ['no banner motd']
- self.run_commands.return_value = commands
- self.execute_module(changed=True, commands=commands)
diff --git a/test/units/modules/network/nxos/test_nxos_bfd_global.py b/test/units/modules/network/nxos/test_nxos_bfd_global.py
deleted file mode 100644
index 67891d0fc6..0000000000
--- a/test/units/modules/network/nxos/test_nxos_bfd_global.py
+++ /dev/null
@@ -1,284 +0,0 @@
-# (c) 2019 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_bfd_global
-from ansible.module_utils.network.nxos.nxos import NxosCmdRef
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-# TBD: These imports / import checks are only needed as a workaround for
-# shippable, which fails this test due to import yaml & import ordereddict.
-import pytest
-from ansible.module_utils.network.nxos.nxos import nxosCmdRef_import_check
-msg = nxosCmdRef_import_check()
-@pytest.mark.skipif(len(msg), reason=msg)
-class TestNxosBfdGlobalModule(TestNxosModule):
-
- module = nxos_bfd_global
-
- def setUp(self):
- super(TestNxosBfdGlobalModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_bfd_global.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_execute_show_command = patch('ansible.module_utils.network.nxos.nxos.NxosCmdRef.execute_show_command')
- self.execute_show_command = self.mock_execute_show_command.start()
-
- self.mock_get_platform_shortname = patch('ansible.module_utils.network.nxos.nxos.NxosCmdRef.get_platform_shortname')
- self.get_platform_shortname = self.mock_get_platform_shortname.start()
-
- def tearDown(self):
- super(TestNxosBfdGlobalModule, self).tearDown()
- self.mock_load_config.stop()
- self.execute_show_command.stop()
- self.get_platform_shortname.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.load_config.return_value = None
-
- def test_bfd_defaults_n9k(self):
- # feature bfd is enabled, no non-defaults are set.
- self.execute_show_command.return_value = "feature bfd"
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args(dict(
- echo_interface='deleted',
- echo_rx_interval=50,
- interval={'tx': 50, 'min_rx': 50, 'multiplier': 3},
- slow_timer=2000,
- startup_timer=5,
- ipv4_echo_rx_interval=50,
- ipv4_interval={'tx': 50, 'min_rx': 50, 'multiplier': 3},
- ipv4_slow_timer=2000,
- ipv6_echo_rx_interval=50,
- ipv6_interval={'tx': 50, 'min_rx': 50, 'multiplier': 3},
- ipv6_slow_timer=2000
- ))
- self.execute_module(changed=False)
-
- def test_bfd_non_defaults_n9k(self):
- # feature bfd is enabled, apply all non-default values.
- # This testcase also tests reordering of echo_interface to make sure
- # it gets applied last.
- self.execute_show_command.return_value = "feature bfd"
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args(dict(
- echo_interface='loopback1',
- echo_rx_interval=51,
- interval={'tx': 51, 'min_rx': 51, 'multiplier': 4},
- slow_timer=2001,
- startup_timer=6,
- ipv4_echo_rx_interval=51,
- ipv4_interval={'tx': 51, 'min_rx': 51, 'multiplier': 4},
- ipv4_slow_timer=2001,
- ipv6_echo_rx_interval=51,
- ipv6_interval={'tx': 51, 'min_rx': 51, 'multiplier': 4},
- ipv6_slow_timer=2001
- ))
- self.execute_module(changed=True, commands=[
- 'bfd interval 51 min_rx 51 multiplier 4',
- 'bfd ipv4 echo-rx-interval 51',
- 'bfd ipv4 interval 51 min_rx 51 multiplier 4',
- 'bfd ipv4 slow-timer 2001',
- 'bfd ipv6 echo-rx-interval 51',
- 'bfd ipv6 interval 51 min_rx 51 multiplier 4',
- 'bfd ipv6 slow-timer 2001',
- 'bfd slow-timer 2001',
- 'bfd startup-timer 6',
- 'bfd echo-interface loopback1',
- 'bfd echo-rx-interval 51'
- ])
-
- def test_bfd_defaults_n3k(self):
- # feature bfd is enabled, no non-defaults are set.
- self.execute_show_command.return_value = "feature bfd"
- self.get_platform_shortname.return_value = 'N3K'
- set_module_args(dict(
- echo_interface='deleted',
- echo_rx_interval=250,
- interval={'tx': 250, 'min_rx': 250, 'multiplier': 3},
- slow_timer=2000,
- startup_timer=5,
- ipv4_echo_rx_interval=250,
- ipv4_interval={'tx': 250, 'min_rx': 250, 'multiplier': 3},
- ipv4_slow_timer=2000,
- ipv6_echo_rx_interval=250,
- ipv6_interval={'tx': 250, 'min_rx': 250, 'multiplier': 3},
- ipv6_slow_timer=2000
- ))
- self.execute_module(changed=False)
-
- def test_bfd_defaults_n35(self):
- # feature bfd is enabled, no non-defaults are set.
- self.execute_show_command.return_value = "feature bfd"
- self.get_platform_shortname.return_value = 'N35'
- set_module_args(dict(
- echo_interface='deleted',
- echo_rx_interval=50,
- interval={'tx': 50, 'min_rx': 50, 'multiplier': 3},
- slow_timer=2000,
- startup_timer=5,
- ipv4_echo_rx_interval=50,
- ipv4_interval={'tx': 50, 'min_rx': 50, 'multiplier': 3},
- ipv4_slow_timer=2000,
- ))
- self.execute_module(changed=False)
-
- def test_bfd_defaults_n6k(self):
- # feature bfd is enabled, no non-defaults are set.
- self.execute_show_command.return_value = "feature bfd"
- self.get_platform_shortname.return_value = 'N6K'
- set_module_args(dict(
- echo_interface='deleted',
- interval={'tx': 50, 'min_rx': 50, 'multiplier': 3},
- slow_timer=2000,
- fabricpath_interval={'tx': 50, 'min_rx': 50, 'multiplier': 3},
- fabricpath_slow_timer=2000,
- fabricpath_vlan=1
- ))
- self.execute_module(changed=False)
-
- def test_bfd_defaults_n7k(self):
- # feature bfd is enabled, no non-defaults are set.
- self.execute_show_command.return_value = "feature bfd"
- self.get_platform_shortname.return_value = 'N7K'
- set_module_args(dict(
- echo_interface='deleted',
- echo_rx_interval=50,
- interval={'tx': 50, 'min_rx': 50, 'multiplier': 3},
- slow_timer=2000,
- ipv4_echo_rx_interval=50,
- ipv4_interval={'tx': 50, 'min_rx': 50, 'multiplier': 3},
- ipv4_slow_timer=2000,
- ipv6_echo_rx_interval=50,
- ipv6_interval={'tx': 50, 'min_rx': 50, 'multiplier': 3},
- ipv6_slow_timer=2000,
- fabricpath_interval={'tx': 50, 'min_rx': 50, 'multiplier': 3},
- fabricpath_slow_timer=2000,
- fabricpath_vlan=1
- ))
- self.execute_module(changed=False)
-
- def test_bfd_existing_n9k(self):
- module_name = self.module.__name__.rsplit('.', 1)[1]
- self.execute_show_command.return_value = load_fixture(module_name, 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args(dict(
- echo_interface='deleted',
- echo_rx_interval=51,
- interval={'tx': 51, 'min_rx': 51, 'multiplier': 3},
- slow_timer=2000,
- startup_timer=5,
- ipv4_echo_rx_interval=50,
- ipv4_interval={'tx': 51, 'min_rx': 51, 'multiplier': 3},
- ipv4_slow_timer=2000,
- ipv6_echo_rx_interval=50,
- ipv6_interval={'tx': 51, 'min_rx': 51, 'multiplier': 3},
- ipv6_slow_timer=2000
- ))
- self.execute_module(changed=True, commands=[
- 'no bfd echo-interface loopback2',
- 'bfd echo-rx-interval 51',
- 'bfd interval 51 min_rx 51 multiplier 3',
- 'bfd slow-timer 2000',
- 'bfd startup-timer 5',
- 'bfd ipv4 echo-rx-interval 50',
- 'bfd ipv4 interval 51 min_rx 51 multiplier 3',
- 'bfd ipv4 slow-timer 2000',
- 'bfd ipv6 echo-rx-interval 50',
- 'bfd ipv6 interval 51 min_rx 51 multiplier 3',
- 'bfd ipv6 slow-timer 2000',
- ])
-
- def test_bfd_idempotence_n9k(self):
- module_name = self.module.__name__.rsplit('.', 1)[1]
- self.execute_show_command.return_value = load_fixture(module_name, 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args(dict(
- echo_interface='loopback2',
- echo_rx_interval=56,
- interval={'tx': 51, 'min_rx': 52, 'multiplier': 4},
- slow_timer=2001,
- startup_timer=6,
- ipv4_echo_rx_interval=54,
- ipv4_interval={'tx': 54, 'min_rx': 54, 'multiplier': 4},
- ipv4_slow_timer=2004,
- ipv6_echo_rx_interval=56,
- ipv6_interval={'tx': 56, 'min_rx': 56, 'multiplier': 6},
- ipv6_slow_timer=2006
- ))
- self.execute_module(changed=False)
-
- def test_bfd_existing_n7k(self):
- module_name = self.module.__name__.rsplit('.', 1)[1]
- self.execute_show_command.return_value = load_fixture(module_name, 'N7K.cfg')
- self.get_platform_shortname.return_value = 'N7K'
- set_module_args(dict(
- echo_interface='deleted',
- echo_rx_interval=51,
- interval={'tx': 51, 'min_rx': 51, 'multiplier': 3},
- slow_timer=2002,
- ipv4_echo_rx_interval=51,
- ipv4_interval={'tx': 51, 'min_rx': 51, 'multiplier': 3},
- ipv4_slow_timer=2002,
- ipv6_echo_rx_interval=51,
- ipv6_interval={'tx': 51, 'min_rx': 51, 'multiplier': 3},
- ipv6_slow_timer=2002,
- fabricpath_interval={'tx': 51, 'min_rx': 51, 'multiplier': 3},
- fabricpath_slow_timer=2003,
- fabricpath_vlan=3,
- ))
- self.execute_module(changed=True, commands=[
- 'no bfd echo-interface loopback2',
- 'bfd echo-rx-interval 51',
- 'bfd interval 51 min_rx 51 multiplier 3',
- 'bfd slow-timer 2002',
- 'bfd ipv4 echo-rx-interval 51',
- 'bfd ipv4 interval 51 min_rx 51 multiplier 3',
- 'bfd ipv4 slow-timer 2002',
- 'bfd ipv6 echo-rx-interval 51',
- 'bfd ipv6 interval 51 min_rx 51 multiplier 3',
- 'bfd ipv6 slow-timer 2002',
- 'bfd fabricpath interval 51 min_rx 51 multiplier 3',
- 'bfd fabricpath slow-timer 2003',
- 'bfd fabricpath vlan 3',
- ])
-
- def test_bfd_idempotence_n7k(self):
- module_name = self.module.__name__.rsplit('.', 1)[1]
- self.execute_show_command.return_value = load_fixture(module_name, 'N7K.cfg')
- self.get_platform_shortname.return_value = 'N7K'
- set_module_args(dict(
- echo_interface='loopback2',
- echo_rx_interval=56,
- interval={'tx': 51, 'min_rx': 52, 'multiplier': 4},
- slow_timer=2001,
- ipv4_echo_rx_interval=54,
- ipv4_interval={'tx': 54, 'min_rx': 54, 'multiplier': 4},
- ipv4_slow_timer=2004,
- ipv6_echo_rx_interval=56,
- ipv6_interval={'tx': 56, 'min_rx': 56, 'multiplier': 6},
- ipv6_slow_timer=2006,
- fabricpath_interval={'tx': 58, 'min_rx': 58, 'multiplier': 8},
- fabricpath_slow_timer=2008,
- fabricpath_vlan=2,
- ))
- self.execute_module(changed=False)
diff --git a/test/units/modules/network/nxos/test_nxos_bfd_interfaces.py b/test/units/modules/network/nxos/test_nxos_bfd_interfaces.py
deleted file mode 100644
index 83630f2937..0000000000
--- a/test/units/modules/network/nxos/test_nxos_bfd_interfaces.py
+++ /dev/null
@@ -1,303 +0,0 @@
-# (c) 2019 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from textwrap import dedent
-from units.compat.mock import patch
-from units.modules.utils import AnsibleFailJson
-from ansible.modules.network.nxos import nxos_bfd_interfaces
-from ansible.module_utils.network.nxos.config.bfd_interfaces.bfd_interfaces import Bfd_interfaces
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-ignore_provider_arg = True
-
-
-class TestNxosBfdInterfacesModule(TestNxosModule):
-
- module = nxos_bfd_interfaces
-
- def setUp(self):
- super(TestNxosBfdInterfacesModule, self).setUp()
-
- self.mock_FACT_LEGACY_SUBSETS = patch('ansible.module_utils.network.nxos.facts.facts.FACT_LEGACY_SUBSETS')
- self.FACT_LEGACY_SUBSETS = self.mock_FACT_LEGACY_SUBSETS.start()
-
- self.mock_get_resource_connection_config = patch('ansible.module_utils.network.common.cfg.base.get_resource_connection')
- self.get_resource_connection_config = self.mock_get_resource_connection_config.start()
-
- self.mock_get_resource_connection_facts = patch('ansible.module_utils.network.common.facts.facts.get_resource_connection')
- self.get_resource_connection_facts = self.mock_get_resource_connection_facts.start()
-
- self.mock_edit_config = patch('ansible.module_utils.network.nxos.config.bfd_interfaces.bfd_interfaces.Bfd_interfaces.edit_config')
- self.edit_config = self.mock_edit_config.start()
-
- def tearDown(self):
- super(TestNxosBfdInterfacesModule, self).tearDown()
- self.mock_FACT_LEGACY_SUBSETS.stop()
- self.mock_get_resource_connection_config.stop()
- self.mock_get_resource_connection_facts.stop()
- self.mock_edit_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.mock_FACT_LEGACY_SUBSETS.return_value = dict()
- self.get_resource_connection_config.return_value = None
- self.edit_config.return_value = None
-
- # ---------------------------
- # Bfd_interfaces Test Cases
- # ---------------------------
-
- # 'state' logic behaviors
- #
- # - 'merged' : Update existing device state with any differences in the play.
- # - 'deleted' : Reset existing device state to default values. Ignores any
- # play attrs other than 'name'. Scope is limited to interfaces
- # in the play.
- # - 'overridden': The play is the source of truth. Similar to replaced but the
- # scope includes all interfaces; ie. it will also reset state
- # on interfaces not found in the play.
- # - 'replaced' : Scope is limited to the interfaces in the play.
-
- SHOW_CMD = "show running-config | section '^interface|^feature bfd'"
-
- def test_1(self):
- # Setup: No BFD configs shown on device interfaces
- # NOTE: The bfd 'enable' state is the default and does not nvgen.
- existing = dedent('''\
- feature bfd
- interface Ethernet1/1
- interface Ethernet1/2
- interface Ethernet1/3
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(
- name='Ethernet1/1',
- bfd='disable',
- echo='disable'),
- dict(
- name='Ethernet1/2',
- bfd='disable'),
- ])
- # Expected result commands for each 'state'
- merged = ['interface Ethernet1/1', 'no bfd', 'no bfd echo',
- 'interface Ethernet1/2', 'no bfd']
- deleted = []
- overridden = merged
- replaced = merged
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=merged)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False, commands=deleted)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- def test_2(self):
- # Change existing BFD configs
- existing = dedent('''\
- feature bfd
- interface Ethernet1/1
- no bfd
- interface Ethernet1/2
- no bfd echo
- interface Ethernet1/3
- no bfd
- no bfd echo
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(
- name='Ethernet1/1',
- bfd='enable',
- echo='disable'),
- dict(
- name='Ethernet1/2'),
- # Eth1/3 not present! Thus overridden should set Eth1/3 to defaults;
- # replaced should ignore Eth1/3.
- ])
- # Expected result commands for each 'state'
- merged = ['interface Ethernet1/1', 'bfd', 'no bfd echo']
- deleted = ['interface Ethernet1/1', 'bfd',
- 'interface Ethernet1/2', 'bfd echo']
- overridden = ['interface Ethernet1/3', 'bfd', 'bfd echo',
- 'interface Ethernet1/1', 'bfd', 'no bfd echo',
- 'interface Ethernet1/2', 'bfd echo']
- replaced = ['interface Ethernet1/1', 'bfd', 'no bfd echo',
- 'interface Ethernet1/2', 'bfd echo']
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=merged)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- def test_3(self):
- # Device has bfd configs, playbook has no values
- existing = dedent('''\
- feature bfd
- interface Ethernet1/1
- no bfd
- interface Ethernet1/2
- no bfd echo
- interface Ethernet1/3
- no bfd
- no bfd echo
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(name='Ethernet1/1'),
- ])
- # Expected result commands for each 'state'
- merged = []
- deleted = ['interface Ethernet1/1', 'bfd']
- overridden = ['interface Ethernet1/1', 'bfd',
- 'interface Ethernet1/2', 'bfd echo',
- 'interface Ethernet1/3', 'bfd', 'bfd echo']
- replaced = ['interface Ethernet1/1', 'bfd']
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False, commands=merged)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- def test_4(self):
- # Test with interface that doesn't exist yet
- existing = dedent('''\
- feature bfd
- interface Ethernet1/1
- no bfd
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(
- name='Ethernet1/1.42',
- bfd='enable',
- echo='disable'),
- ])
- # Expected result commands for each 'state'
- merged = ['interface Ethernet1/1.42', 'bfd', 'no bfd echo']
- deleted = []
- overridden = ['interface Ethernet1/1.42', 'bfd', 'no bfd echo',
- 'interface Ethernet1/1', 'bfd']
- replaced = ['interface Ethernet1/1.42', 'bfd', 'no bfd echo']
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=merged)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False, commands=deleted)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- def test_5(self):
- # idempotence
- existing = dedent('''\
- feature bfd
- interface Ethernet1/1
- no bfd
- no bfd echo
- interface Ethernet1/2
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(
- name='Ethernet1/1',
- bfd='disable',
- echo='disable'),
- dict(
- name='Ethernet1/2',
- bfd='enable',
- echo='enable'),
- ])
- # Expected result commands for each 'state'
- merged = []
- deleted = ['interface Ethernet1/1', 'bfd', 'bfd echo']
- overridden = []
- replaced = []
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False, commands=merged)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False, commands=overridden)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False, commands=replaced)
-
-
-def build_args(data, type, state=None, check_mode=None):
- if state is None:
- state = 'merged'
- if check_mode is None:
- check_mode = False
- args = {
- 'state': state,
- '_ansible_check_mode': check_mode,
- 'config': {
- type: data
- }
- }
- return args
diff --git a/test/units/modules/network/nxos/test_nxos_bgp.py b/test/units/modules/network/nxos/test_nxos_bgp.py
deleted file mode 100644
index cc3ae8c890..0000000000
--- a/test/units/modules/network/nxos/test_nxos_bgp.py
+++ /dev/null
@@ -1,134 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_bgp
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosBgpModule(TestNxosModule):
-
- module = nxos_bgp
-
- def setUp(self):
- super(TestNxosBgpModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_bgp.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_bgp.get_config')
- self.get_config = self.mock_get_config.start()
-
- def tearDown(self):
- super(TestNxosBgpModule, self).tearDown()
- self.mock_load_config.stop()
- self.mock_get_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.get_config.return_value = load_fixture('nxos_bgp', 'config.cfg')
- self.load_config.return_value = []
-
- def test_nxos_bgp(self):
- set_module_args(dict(asn=65535, router_id='192.0.2.1'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['router bgp 65535', 'router-id 192.0.2.1'])
-
- def test_nxos_bgp_change_nothing(self):
- set_module_args(dict(asn=65535, router_id='192.168.1.1'))
- self.execute_module(changed=False)
-
- def test_nxos_bgp_wrong_asn(self):
- set_module_args(dict(asn=10, router_id='192.168.1.1'))
- result = self.execute_module(failed=True)
- self.assertEqual(result['msg'], 'Another BGP ASN already exists.')
-
- def test_nxos_bgp_remove(self):
- set_module_args(dict(asn=65535, state='absent'))
- self.execute_module(changed=True, commands=['no router bgp 65535'])
-
- def test_nxos_bgp_remove_vrf(self):
- set_module_args(dict(asn=65535, vrf='test2', state='absent'))
- self.execute_module(changed=True, commands=['router bgp 65535', 'no vrf test2'])
-
- def test_nxos_bgp_remove_nonexistant_vrf(self):
- set_module_args(dict(asn=65535, vrf='foo', state='absent'))
- self.execute_module(changed=False)
-
- def test_nxos_bgp_remove_wrong_asn(self):
- set_module_args(dict(asn=10, state='absent'))
- self.execute_module(changed=False)
-
- def test_nxos_bgp_vrf(self):
- set_module_args(dict(asn=65535, vrf='test', router_id='192.0.2.1'))
- result = self.execute_module(changed=True, commands=['router bgp 65535', 'vrf test', 'router-id 192.0.2.1'])
- self.assertEqual(result['warnings'], ["VRF test doesn't exist."])
-
- def test_nxos_bgp_global_param(self):
- set_module_args(dict(asn=65535, shutdown=True))
- self.execute_module(changed=True, commands=['router bgp 65535', 'shutdown'])
-
- def test_nxos_bgp_global_param_outside_default(self):
- set_module_args(dict(asn=65535, vrf='test', shutdown=True))
- result = self.execute_module(failed=True)
- self.assertEqual(result['msg'], 'Global params can be modified only under "default" VRF.')
-
- def test_nxos_bgp_default_value(self):
- set_module_args(dict(asn=65535, graceful_restart_timers_restart='default'))
- self.execute_module(
- changed=True,
- commands=['router bgp 65535', 'graceful-restart restart-time 120']
- )
-
-
-class TestNxosBgp32BitsAS(TestNxosModule):
-
- module = nxos_bgp
-
- def setUp(self):
- super(TestNxosBgp32BitsAS, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_bgp.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_bgp.get_config')
- self.get_config = self.mock_get_config.start()
-
- def tearDown(self):
- super(TestNxosBgp32BitsAS, self).tearDown()
- self.mock_load_config.stop()
- self.mock_get_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.get_config.return_value = load_fixture('nxos_bgp', 'config_32_bits_as.cfg')
- self.load_config.return_value = []
-
- def test_nxos_bgp_change_nothing(self):
- set_module_args(dict(asn='65535.65535', router_id='192.168.1.1'))
- self.execute_module(changed=False)
-
- def test_nxos_bgp_wrong_asn(self):
- set_module_args(dict(asn='65535.10', router_id='192.168.1.1'))
- result = self.execute_module(failed=True)
- self.assertEqual(result['msg'], 'Another BGP ASN already exists.')
-
- def test_nxos_bgp_remove(self):
- set_module_args(dict(asn='65535.65535', state='absent'))
- self.execute_module(changed=True, commands=['no router bgp 65535.65535'])
diff --git a/test/units/modules/network/nxos/test_nxos_bgp_af.py b/test/units/modules/network/nxos/test_nxos_bgp_af.py
deleted file mode 100644
index 452caef80f..0000000000
--- a/test/units/modules/network/nxos/test_nxos_bgp_af.py
+++ /dev/null
@@ -1,103 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_bgp_af
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosBgpAfModule(TestNxosModule):
-
- module = nxos_bgp_af
-
- def setUp(self):
- super(TestNxosBgpAfModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_bgp_af.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_bgp_af.get_config')
- self.get_config = self.mock_get_config.start()
-
- def tearDown(self):
- super(TestNxosBgpAfModule, self).tearDown()
- self.mock_load_config.stop()
- self.mock_get_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.get_config.return_value = load_fixture('nxos_bgp', 'config.cfg')
- self.load_config.return_value = None
-
- def test_nxos_bgp_af(self):
- set_module_args(dict(asn=65535, afi='ipv4', safi='unicast'))
- self.execute_module(
- changed=True, sort=False,
- commands=['router bgp 65535', 'address-family ipv4 unicast']
- )
-
- def test_nxos_bgp_af_vrf(self):
- set_module_args(dict(asn=65535, vrf='test', afi='ipv4', safi='unicast'))
- self.execute_module(
- changed=True, sort=False,
- commands=['router bgp 65535', 'vrf test', 'address-family ipv4 unicast']
- )
-
- def test_nxos_bgp_af_vrf_exists(self):
- set_module_args(dict(asn=65535, vrf='test2', afi='ipv4', safi='unicast'))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_bgp_af_dampening_routemap(self):
- set_module_args(dict(asn=65535, afi='ipv4', safi='unicast',
- dampening_routemap='route-map-a'))
- self.execute_module(
- changed=True,
- commands=['router bgp 65535', 'address-family ipv4 unicast',
- 'dampening route-map route-map-a']
- )
-
- def test_nxos_bgp_af_dampening_manual(self):
- set_module_args(dict(asn=65535, afi='ipv4', safi='unicast',
- dampening_half_time=5, dampening_suppress_time=2000,
- dampening_reuse_time=1900, dampening_max_suppress_time=10))
- self.execute_module(
- changed=True,
- commands=['router bgp 65535', 'address-family ipv4 unicast',
- 'dampening 5 1900 2000 10']
- )
-
- def test_nxos_bgp_af_dampening_mix(self):
- set_module_args(dict(asn=65535, afi='ipv4', safi='unicast',
- dampening_routemap='route-map-a',
- dampening_half_time=5, dampening_suppress_time=2000,
- dampening_reuse_time=1900, dampening_max_suppress_time=10))
- result = self.execute_module(failed=True)
- self.assertEqual(result['msg'], 'parameters are mutually exclusive: dampening_routemap|dampening_half_time, '
- 'dampening_routemap|dampening_suppress_time, dampening_routemap|dampening_reuse_time, '
- 'dampening_routemap|dampening_max_suppress_time')
-
- def test_nxos_bgp_af_client(self):
- set_module_args(dict(asn=65535, afi='ipv4', safi='unicast',
- client_to_client=False))
- self.execute_module(
- changed=True,
- commands=['router bgp 65535', 'address-family ipv4 unicast',
- 'no client-to-client reflection']
- )
diff --git a/test/units/modules/network/nxos/test_nxos_bgp_neighbor.py b/test/units/modules/network/nxos/test_nxos_bgp_neighbor.py
deleted file mode 100644
index 564ef301e4..0000000000
--- a/test/units/modules/network/nxos/test_nxos_bgp_neighbor.py
+++ /dev/null
@@ -1,81 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_bgp_neighbor
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosBgpNeighborModule(TestNxosModule):
-
- module = nxos_bgp_neighbor
-
- def setUp(self):
- super(TestNxosBgpNeighborModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_bgp_neighbor.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_bgp_neighbor.get_config')
- self.get_config = self.mock_get_config.start()
-
- def tearDown(self):
- super(TestNxosBgpNeighborModule, self).tearDown()
- self.mock_load_config.stop()
- self.mock_get_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.get_config.return_value = load_fixture('nxos_bgp', 'config.cfg')
- self.load_config.return_value = []
-
- def test_nxos_bgp_neighbor_bfd_1(self):
- # None (disable) -> enable
- set_module_args(dict(asn=65535, neighbor='1.1.1.1', bfd='enable'))
- self.execute_module(changed=True, commands=['router bgp 65535', 'neighbor 1.1.1.1', 'bfd'])
-
- # enable -> enable (idempotence)
- set_module_args(dict(asn=65535, neighbor='1.1.1.2', bfd='enable'))
- self.execute_module(changed=False)
-
- def test_nxos_bgp_neighbor_bfd_2(self):
- # enable -> None (disable)
- set_module_args(dict(asn=65535, neighbor='1.1.1.2', bfd='disable'))
- self.execute_module(changed=True, commands=['router bgp 65535', 'neighbor 1.1.1.2', 'no bfd'])
-
- # None (disable) -> disable (idempotence)
- set_module_args(dict(asn=65535, neighbor='1.1.1.1', bfd='disable'))
- self.execute_module(changed=False)
-
- def test_nxos_bgp_neighbor(self):
- set_module_args(dict(asn=65535, neighbor='192.0.2.3', description='some words'))
- self.execute_module(changed=True, commands=['router bgp 65535', 'neighbor 192.0.2.3', 'description some words'])
-
- def test_nxos_bgp_neighbor_absent(self):
- set_module_args(dict(asn=65535, neighbor='1.1.1.1', state='absent'))
- self.execute_module(changed=True, commands=['router bgp 65535', 'no neighbor 1.1.1.1'])
-
- def test_nxos_bgp_neighbor_remove_private_as(self):
- set_module_args(dict(asn=65535, neighbor='3.3.3.4', remove_private_as='all'))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_bgp_neighbor_remove_private_as_changed(self):
- set_module_args(dict(asn=65535, neighbor='3.3.3.4', remove_private_as='replace-as'))
- self.execute_module(changed=True, commands=['router bgp 65535', 'neighbor 3.3.3.4', 'remove-private-as replace-as'])
diff --git a/test/units/modules/network/nxos/test_nxos_bgp_neighbor_af.py b/test/units/modules/network/nxos/test_nxos_bgp_neighbor_af.py
deleted file mode 100644
index 78cb1e3307..0000000000
--- a/test/units/modules/network/nxos/test_nxos_bgp_neighbor_af.py
+++ /dev/null
@@ -1,108 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_bgp_neighbor_af
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosBgpNeighborAfModule(TestNxosModule):
-
- module = nxos_bgp_neighbor_af
-
- def setUp(self):
- super(TestNxosBgpNeighborAfModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_bgp_neighbor_af.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_bgp_neighbor_af.get_config')
- self.get_config = self.mock_get_config.start()
-
- def tearDown(self):
- super(TestNxosBgpNeighborAfModule, self).tearDown()
- self.mock_load_config.stop()
- self.mock_get_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.get_config.return_value = load_fixture('nxos_bgp', 'config.cfg')
- self.load_config.return_value = []
-
- def test_nxos_bgp_neighbor_af(self):
- set_module_args(dict(asn=65535, neighbor='192.0.2.3', afi='ipv4',
- safi='unicast', route_reflector_client=True))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], [
- 'router bgp 65535', 'neighbor 192.0.2.3', 'address-family ipv4 unicast',
- 'route-reflector-client'
- ])
-
- def test_nxos_bgp_neighbor_af_exists(self):
- set_module_args(dict(asn=65535, neighbor='3.3.3.5', afi='ipv4', safi='unicast'))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_bgp_neighbor_af_absent(self):
- set_module_args(dict(asn=65535, neighbor='3.3.3.5', afi='ipv4', safi='unicast', state='absent'))
- self.execute_module(
- changed=True, sort=False,
- commands=['router bgp 65535', 'neighbor 3.3.3.5', 'no address-family ipv4 unicast']
- )
-
- def test_nxos_bgp_neighbor_af_advertise_map(self):
- set_module_args(dict(asn=65535, neighbor='3.3.3.5', afi='ipv4', safi='unicast',
- advertise_map_exist=['my_advertise_map', 'my_exist_map']))
- self.execute_module(
- changed=True, sort=False,
- commands=['router bgp 65535', 'neighbor 3.3.3.5', 'address-family ipv4 unicast', 'advertise-map my_advertise_map exist-map my_exist_map']
- )
-
- def test_nxos_bgp_neighbor_af_advertise_map_non_exist(self):
- set_module_args(dict(asn=65535, neighbor='3.3.3.5', afi='ipv4', safi='unicast',
- advertise_map_non_exist=['my_advertise_map', 'my_non_exist_map']))
- self.execute_module(
- changed=True, sort=False,
- commands=['router bgp 65535', 'neighbor 3.3.3.5', 'address-family ipv4 unicast', 'advertise-map my_advertise_map non-exist-map my_non_exist_map']
- )
-
- def test_nxos_bgp_neighbor_af_max_prefix_limit_default(self):
- set_module_args(dict(asn=65535, neighbor='3.3.3.5', afi='ipv4',
- safi='unicast', max_prefix_limit='default'))
- self.execute_module(
- changed=True, sort=False,
- commands=['router bgp 65535', 'neighbor 3.3.3.5', 'address-family ipv4 unicast', 'no maximum-prefix']
- )
-
- def test_nxos_bgp_neighbor_af_max_prefix(self):
- set_module_args(dict(asn=65535, neighbor='3.3.3.5', afi='ipv4',
- safi='unicast', max_prefix_threshold=20,
- max_prefix_limit=20))
- self.execute_module(
- changed=True, sort=False,
- commands=['router bgp 65535', 'neighbor 3.3.3.5', 'address-family ipv4 unicast', 'maximum-prefix 20 20']
- )
-
- def test_nxos_bgp_neighbor_af_disable_peer_as_check(self):
- set_module_args(dict(asn=65535, neighbor='3.3.3.5', afi='ipv4',
- safi='unicast', disable_peer_as_check=True))
- self.execute_module(
- changed=True,
- commands=['router bgp 65535', 'neighbor 3.3.3.5', 'address-family ipv4 unicast', 'disable-peer-as-check']
- )
diff --git a/test/units/modules/network/nxos/test_nxos_command.py b/test/units/modules/network/nxos/test_nxos_command.py
deleted file mode 100644
index a3c148212a..0000000000
--- a/test/units/modules/network/nxos/test_nxos_command.py
+++ /dev/null
@@ -1,106 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-import json
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_command
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosCommandModule(TestNxosModule):
-
- module = nxos_command
-
- def setUp(self):
- super(TestNxosCommandModule, self).setUp()
-
- self.mock_run_commands = patch('ansible.modules.network.nxos.nxos_command.run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- def tearDown(self):
- super(TestNxosCommandModule, self).tearDown()
- self.mock_run_commands.stop()
-
- def load_fixtures(self, commands=None, device=''):
- def load_from_file(*args, **kwargs):
- module, commands = args
- output = list()
-
- for item in commands:
- try:
- obj = json.loads(item['command'])
- command = obj['command']
- except ValueError:
- command = item['command']
- filename = '%s.txt' % str(command).replace(' ', '_')
- output.append(load_fixture('nxos_command', filename))
- return output
-
- self.run_commands.side_effect = load_from_file
-
- def test_nxos_command_simple(self):
- set_module_args(dict(commands=['show version']))
- result = self.execute_module()
- self.assertEqual(len(result['stdout']), 1)
- self.assertTrue(result['stdout'][0].startswith('Cisco'))
-
- def test_nxos_command_multiple(self):
- set_module_args(dict(commands=['show version', 'show version']))
- result = self.execute_module()
- self.assertEqual(len(result['stdout']), 2)
- self.assertTrue(result['stdout'][0].startswith('Cisco'))
-
- def test_nxos_command_wait_for(self):
- wait_for = 'result[0] contains "NX-OS"'
- set_module_args(dict(commands=['show version'], wait_for=wait_for))
- self.execute_module()
-
- def test_nxos_command_wait_for_fails(self):
- wait_for = 'result[0] contains "test string"'
- set_module_args(dict(commands=['show version'], wait_for=wait_for))
- self.execute_module(failed=True)
- self.assertEqual(self.run_commands.call_count, 10)
-
- def test_nxos_command_retries(self):
- wait_for = 'result[0] contains "test string"'
- set_module_args(dict(commands=['show version'], wait_for=wait_for, retries=2))
- self.execute_module(failed=True)
- self.assertEqual(self.run_commands.call_count, 2)
-
- def test_nxos_command_match_any(self):
- wait_for = ['result[0] contains "Cisco"',
- 'result[0] contains "test string"']
- set_module_args(dict(commands=['show version'], wait_for=wait_for, match='any'))
- self.execute_module()
-
- def test_nxos_command_match_all(self):
- wait_for = ['result[0] contains "Cisco"',
- 'result[0] contains "image file"']
- set_module_args(dict(commands=['show version'], wait_for=wait_for, match='all'))
- self.execute_module()
-
- def test_nxos_command_match_all_failure(self):
- wait_for = ['result[0] contains "Cisco"',
- 'result[0] contains "test string"']
- commands = ['show version', 'show version']
- set_module_args(dict(commands=commands, wait_for=wait_for, match='all'))
- self.execute_module(failed=True)
diff --git a/test/units/modules/network/nxos/test_nxos_config.py b/test/units/modules/network/nxos/test_nxos_config.py
deleted file mode 100644
index 37d1f164e8..0000000000
--- a/test/units/modules/network/nxos/test_nxos_config.py
+++ /dev/null
@@ -1,224 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch, MagicMock
-from ansible.modules.network.nxos import nxos_config
-from ansible.plugins.cliconf.nxos import Cliconf
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosConfigModule(TestNxosModule):
-
- module = nxos_config
-
- def setUp(self):
- super(TestNxosConfigModule, self).setUp()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_config.get_config')
- self.get_config = self.mock_get_config.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_config.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_save_config = patch('ansible.modules.network.nxos.nxos_config.save_config')
- self.save_config = self.mock_save_config.start()
-
- self.mock_get_connection = patch('ansible.modules.network.nxos.nxos_config.get_connection')
- self.get_connection = self.mock_get_connection.start()
-
- self.conn = self.get_connection()
- self.conn.edit_config = MagicMock()
-
- self.mock_run_commands = patch('ansible.modules.network.nxos.nxos_config.run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- self.cliconf_obj = Cliconf(MagicMock())
- self.running_config = load_fixture('nxos_config', 'config.cfg')
-
- def tearDown(self):
- super(TestNxosConfigModule, self).tearDown()
- self.mock_get_config.stop()
- self.mock_load_config.stop()
- self.mock_run_commands.stop()
- self.mock_get_connection.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.get_config.return_value = load_fixture('nxos_config', 'config.cfg')
- self.load_config.return_value = None
-
- def test_nxos_config_no_change(self):
- lines = ['hostname localhost']
- args = dict(lines=lines)
- self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff('\n'.join(lines), self.running_config))
- set_module_args(args)
- result = self.execute_module()
-
- def test_nxos_config_src(self):
- src = load_fixture('nxos_config', 'candidate.cfg')
- args = dict(src=src)
- self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(src, self.running_config))
- set_module_args(args)
-
- result = self.execute_module(changed=True)
- config = ['hostname switch01', 'interface Ethernet1',
- 'description test interface', 'no shutdown', 'ip routing']
-
- self.assertEqual(sorted(config), sorted(result['commands']), result['commands'])
-
- def test_nxos_config_replace_src(self):
- set_module_args(dict(replace_src='bootflash:config', replace='config'))
- self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(self.running_config, self.running_config, diff_replace='config'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['config replace bootflash:config'])
-
- def test_nxos_config_lines(self):
- lines = ['hostname switch01', 'ip domain-name eng.ansible.com']
- args = dict(lines=lines)
- self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff('\n'.join(lines), self.running_config))
- set_module_args(args)
-
- result = self.execute_module(changed=True)
- config = ['hostname switch01']
-
- self.assertEqual(sorted(config), sorted(result['commands']), result['commands'])
-
- def test_nxos_config_before(self):
- lines = ['hostname switch01', 'ip domain-name eng.ansible.com']
- args = dict(lines=lines,
- before=['before command'])
- self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff('\n'.join(lines), self.running_config))
- set_module_args(args)
-
- result = self.execute_module(changed=True)
- config = ['before command', 'hostname switch01']
-
- self.assertEqual(sorted(config), sorted(result['commands']), result['commands'])
- self.assertEqual('before command', result['commands'][0])
-
- def test_nxos_config_after(self):
- lines = ['hostname switch01', 'ip domain-name eng.ansible.com']
- args = dict(lines=lines,
- after=['after command'])
-
- self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff('\n'.join(lines), self.running_config))
- set_module_args(args)
-
- result = self.execute_module(changed=True)
- config = ['after command', 'hostname switch01']
-
- self.assertEqual(sorted(config), sorted(result['commands']), result['commands'])
- self.assertEqual('after command', result['commands'][-1])
-
- def test_nxos_config_parents(self):
- lines = ['ip address 1.2.3.4/5', 'no shutdown']
- parents = ['interface Ethernet10']
- args = dict(lines=lines, parents=parents)
- self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff('\n'.join(parents + lines), self.running_config, path=parents))
- set_module_args(args)
-
- result = self.execute_module(changed=True)
- config = ['interface Ethernet10', 'ip address 1.2.3.4/5', 'no shutdown']
-
- self.assertEqual(config, result['commands'], result['commands'])
-
- def test_nxos_config_src_and_lines_fails(self):
- args = dict(src='foo', lines='foo')
- set_module_args(args)
- result = self.execute_module(failed=True)
-
- def test_nxos_config_src_and_parents_fails(self):
- args = dict(src='foo', parents='foo')
- set_module_args(args)
- result = self.execute_module(failed=True)
-
- def test_nxos_config_match_exact_requires_lines(self):
- args = dict(match='exact')
- set_module_args(args)
- result = self.execute_module(failed=True)
-
- def test_nxos_config_match_strict_requires_lines(self):
- args = dict(match='strict')
- set_module_args(args)
- result = self.execute_module(failed=True)
-
- def test_nxos_config_replace_block_requires_lines(self):
- args = dict(replace='block')
- set_module_args(args)
- result = self.execute_module(failed=True)
-
- def test_nxos_config_replace_config_requires_src(self):
- args = dict(replace='config')
- set_module_args(args)
- result = self.execute_module(failed=True)
-
- def test_nxos_config_backup_returns__backup__(self):
- args = dict(backup=True)
- set_module_args(args)
- result = self.execute_module()
- self.assertIn('__backup__', result)
-
- def test_nxos_config_save_always(self):
- args = dict(save_when='always')
- set_module_args(args)
- self.execute_module()
- self.assertEqual(self.save_config.call_count, 1)
- self.assertEqual(self.get_config.call_count, 0)
- self.assertEqual(self.load_config.call_count, 0)
-
- def test_nxos_config_save_changed_true(self):
- args = dict(save_when='changed', lines=['hostname foo', 'interface GigabitEthernet0/0', 'no ip address'])
- set_module_args(args)
- self.execute_module(changed=True)
- self.assertEqual(self.save_config.call_count, 1)
- self.assertEqual(self.get_config.call_count, 1)
- self.assertEqual(self.load_config.call_count, 1)
-
- def test_nxos_config_save_changed_false(self):
- args = dict(save_when='changed')
- set_module_args(args)
- self.execute_module()
- self.assertEqual(self.save_config.call_count, 0)
- self.assertEqual(self.get_config.call_count, 0)
- self.assertEqual(self.load_config.call_count, 0)
-
- def test_nxos_config_defaults_false(self):
- set_module_args(dict(lines=['hostname localhost'], defaults=False))
- result = self.execute_module(changed=True)
- self.assertEqual(self.get_config.call_count, 1)
- self.assertEqual(self.get_config.call_args[1], dict(flags=[]))
-
- def test_nxos_config_defaults_true(self):
- set_module_args(dict(lines=['hostname localhost'], defaults=True))
- result = self.execute_module(changed=True)
- self.assertEqual(self.get_config.call_count, 1)
- self.assertEqual(self.get_config.call_args[1], dict(flags=['all']))
-
- def test_nxos_config_defaults_false_backup_true(self):
- set_module_args(dict(lines=['hostname localhost'], defaults=False, backup=True))
- result = self.execute_module(changed=True)
- self.assertEqual(self.get_config.call_count, 1)
- self.assertEqual(self.get_config.call_args[1], dict(flags=[]))
-
- def test_nxos_config_defaults_true_backup_true(self):
- set_module_args(dict(lines=['hostname localhost'], defaults=True, backup=True))
- result = self.execute_module(changed=True)
- self.assertEqual(self.get_config.call_count, 1)
- self.assertEqual(self.get_config.call_args[1], dict(flags=['all']))
diff --git a/test/units/modules/network/nxos/test_nxos_evpn_global.py b/test/units/modules/network/nxos/test_nxos_evpn_global.py
deleted file mode 100644
index f83e242d20..0000000000
--- a/test/units/modules/network/nxos/test_nxos_evpn_global.py
+++ /dev/null
@@ -1,69 +0,0 @@
-#
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_evpn_global
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosEvpnGlobalModule(TestNxosModule):
-
- module = nxos_evpn_global
-
- def setUp(self):
- super(TestNxosEvpnGlobalModule, self).setUp()
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_evpn_global.get_config')
- self.get_config = self.mock_get_config.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_evpn_global.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_capabilities = patch('ansible.modules.network.nxos.nxos_evpn_global.get_capabilities')
- self.get_capabilities = self.mock_get_capabilities.start()
- self.get_capabilities.return_value = {'network_api': 'cliconf'}
-
- def tearDown(self):
- super(TestNxosEvpnGlobalModule, self).tearDown()
- self.mock_get_config.stop()
- self.mock_load_config.stop()
- self.mock_get_capabilities.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.load_config.return_value = None
-
- def start_configured(self, *args, **kwargs):
- self.get_config.return_value = load_fixture('nxos_evpn_global', 'configured.cfg')
- return self.execute_module(*args, **kwargs)
-
- def start_unconfigured(self, *args, **kwargs):
- self.get_config.return_value = load_fixture('nxos_evpn_global', 'unconfigured.cfg')
- return self.execute_module(*args, **kwargs)
-
- def test_nxos_evpn_global_enable(self):
- set_module_args(dict(nv_overlay_evpn=True))
- commands = ['nv overlay evpn']
- self.start_unconfigured(changed=True, commands=commands)
-
- def test_nxos_evpn_global_disable(self):
- set_module_args(dict(nv_overlay_evpn=False))
- commands = ['no nv overlay evpn']
- self.start_configured(changed=True, commands=commands)
diff --git a/test/units/modules/network/nxos/test_nxos_evpn_vni.py b/test/units/modules/network/nxos/test_nxos_evpn_vni.py
deleted file mode 100644
index 64e55e4410..0000000000
--- a/test/units/modules/network/nxos/test_nxos_evpn_vni.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_evpn_vni
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosEvpnVniModule(TestNxosModule):
-
- module = nxos_evpn_vni
-
- def setUp(self):
- super(TestNxosEvpnVniModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_evpn_vni.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_evpn_vni.get_config')
- self.get_config = self.mock_get_config.start()
-
- def tearDown(self):
- super(TestNxosEvpnVniModule, self).tearDown()
- self.mock_load_config.stop()
- self.mock_get_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.get_config.return_value = load_fixture('', 'nxos_evpn_vni_config.cfg')
- self.load_config.return_value = None
-
- def test_nxos_evpn_vni_present(self):
- set_module_args(dict(vni='6000',
- route_target_import='5000:10',
- state='present'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['evpn',
- 'vni 6000 l2',
- 'route-target import 5000:10',
- 'no route-target import auto'])
-
- def test_nxos_evpn_vni_absent_not_existing(self):
- set_module_args(dict(vni='12000', state='absent'))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_evpn_vni_absent_existing(self):
- set_module_args(dict(vni='6000', state='absent'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['evpn', 'no vni 6000 l2'])
diff --git a/test/units/modules/network/nxos/test_nxos_feature.py b/test/units/modules/network/nxos/test_nxos_feature.py
deleted file mode 100644
index d0ca483410..0000000000
--- a/test/units/modules/network/nxos/test_nxos_feature.py
+++ /dev/null
@@ -1,77 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-import json
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_feature
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosFeatureModule(TestNxosModule):
-
- module = nxos_feature
-
- def setUp(self):
- super(TestNxosFeatureModule, self).setUp()
- self.mock_run_commands = patch('ansible.modules.network.nxos.nxos_feature.run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_feature.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_capabilities = patch('ansible.modules.network.nxos.nxos_feature.get_capabilities')
- self.get_capabilities = self.mock_get_capabilities.start()
- self.get_capabilities.return_value = {'network_api': 'cliconf'}
-
- def tearDown(self):
- super(TestNxosFeatureModule, self).tearDown()
- self.mock_run_commands.stop()
- self.mock_load_config.stop()
- self.mock_get_capabilities.stop()
-
- def load_fixtures(self, commands=None, device=''):
- def load_from_file(*args, **kwargs):
- module, commands = args
- output = list()
-
- for item in commands:
- try:
- obj = json.loads(item['command'])
- command = obj['command']
- except ValueError:
- command = item['command']
- filename = '%s.txt' % str(command).replace(' ', '_')
- output.append(load_fixture('nxos_feature', filename))
- return output
-
- self.run_commands.side_effect = load_from_file
- self.load_config.return_value = None
-
- def test_nxos_feature_enable(self):
- set_module_args(dict(feature='nve', state='enabled'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask', 'feature nv overlay'])
-
- def test_nxos_feature_disable(self):
- set_module_args(dict(feature='ospf', state='disabled'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['terminal dont-ask', 'no feature ospf'])
diff --git a/test/units/modules/network/nxos/test_nxos_hsrp.py b/test/units/modules/network/nxos/test_nxos_hsrp.py
deleted file mode 100644
index dc459ab9cd..0000000000
--- a/test/units/modules/network/nxos/test_nxos_hsrp.py
+++ /dev/null
@@ -1,66 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_hsrp
-from .nxos_module import TestNxosModule, set_module_args
-
-
-class TestNxosHsrpModule(TestNxosModule):
-
- module = nxos_hsrp
-
- def setUp(self):
- super(TestNxosHsrpModule, self).setUp()
- self.mock_run_commands = patch('ansible.modules.network.nxos.nxos_hsrp.run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_hsrp.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_capabilities = patch('ansible.modules.network.nxos.nxos_hsrp.get_capabilities')
- self.get_capabilities = self.mock_get_capabilities.start()
- self.get_capabilities.return_value = {'network_api': 'cliconf'}
-
- def tearDown(self):
- super(TestNxosHsrpModule, self).tearDown()
- self.mock_run_commands.stop()
- self.mock_load_config.stop()
- self.mock_get_capabilities.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.load_config.return_value = None
-
- def test_nxos_hsrp(self):
- set_module_args(dict(group='10',
- vip='192.0.2.2/8',
- priority='150',
- interface='Ethernet1/2',
- preempt='enabled',
- ))
- result = self.execute_module(changed=True)
- self.assertEqual(sorted(result['commands']), sorted(['config t',
- 'interface ethernet1/2',
- 'hsrp version 1',
- 'hsrp 10',
- 'priority 150',
- 'ip 192.0.2.2/8',
- 'preempt']))
diff --git a/test/units/modules/network/nxos/test_nxos_hsrp_interfaces.py b/test/units/modules/network/nxos/test_nxos_hsrp_interfaces.py
deleted file mode 100644
index 91225520f2..0000000000
--- a/test/units/modules/network/nxos/test_nxos_hsrp_interfaces.py
+++ /dev/null
@@ -1,293 +0,0 @@
-# (c) 2019 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from textwrap import dedent
-from units.compat.mock import patch
-from units.modules.utils import AnsibleFailJson
-from ansible.modules.network.nxos import nxos_hsrp_interfaces
-from ansible.module_utils.network.nxos.config.hsrp_interfaces.hsrp_interfaces import Hsrp_interfaces
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-ignore_provider_arg = True
-
-
-class TestNxosHsrpInterfacesModule(TestNxosModule):
-
- module = nxos_hsrp_interfaces
-
- def setUp(self):
- super(TestNxosHsrpInterfacesModule, self).setUp()
-
- self.mock_FACT_LEGACY_SUBSETS = patch('ansible.module_utils.network.nxos.facts.facts.FACT_LEGACY_SUBSETS')
- self.FACT_LEGACY_SUBSETS = self.mock_FACT_LEGACY_SUBSETS.start()
-
- self.mock_get_resource_connection_config = patch('ansible.module_utils.network.common.cfg.base.get_resource_connection')
- self.get_resource_connection_config = self.mock_get_resource_connection_config.start()
-
- self.mock_get_resource_connection_facts = patch('ansible.module_utils.network.common.facts.facts.get_resource_connection')
- self.get_resource_connection_facts = self.mock_get_resource_connection_facts.start()
-
- self.mock_edit_config = patch('ansible.module_utils.network.nxos.config.hsrp_interfaces.hsrp_interfaces.Hsrp_interfaces.edit_config')
- self.edit_config = self.mock_edit_config.start()
-
- def tearDown(self):
- super(TestNxosHsrpInterfacesModule, self).tearDown()
- self.mock_FACT_LEGACY_SUBSETS.stop()
- self.mock_get_resource_connection_config.stop()
- self.mock_get_resource_connection_facts.stop()
- self.mock_edit_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.mock_FACT_LEGACY_SUBSETS.return_value = dict()
- self.get_resource_connection_config.return_value = None
- self.edit_config.return_value = None
-
- # ---------------------------
- # Hsrp_interfaces Test Cases
- # ---------------------------
-
- # 'state' logic behaviors
- #
- # - 'merged' : Update existing device state with any differences in the play.
- # - 'deleted' : Reset existing device state to default values. Ignores any
- # play attrs other than 'name'. Scope is limited to interfaces
- # in the play.
- # - 'overridden': The play is the source of truth. Similar to replaced but the
- # scope includes all interfaces; ie. it will also reset state
- # on interfaces not found in the play.
- # - 'replaced' : Scope is limited to the interfaces in the play.
-
- SHOW_CMD = 'show running-config | section ^interface'
-
- def test_1(self):
- # Setup: No HSRP BFD configs shown on device interfaces
- existing = dedent('''\
- interface Ethernet1/1
- interface Ethernet1/2
- interface Ethernet1/3
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(
- name='Ethernet1/1',
- bfd='enable'),
- dict(
- name='Ethernet1/2',
- bfd='disable'),
- ])
- # Expected result commands for each 'state'
- merged = ['interface Ethernet1/1', 'hsrp bfd']
- deleted = []
- overridden = merged
- replaced = merged
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=merged)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False, commands=deleted)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- def test_2(self):
- # Change existing HSRP configs
- existing = dedent('''\
- interface Ethernet1/1
- hsrp bfd
- interface Ethernet1/2
- hsrp bfd
- interface Ethernet1/3
- hsrp bfd
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(
- name='Ethernet1/1',
- bfd='disable'),
- dict(name='Ethernet1/2'),
- # Eth1/3 not present! Thus overridden should set Eth1/3 to defaults;
- # replaced should ignore Eth1/3.
- ])
- # Expected result commands for each 'state'
- merged = ['interface Ethernet1/1', 'no hsrp bfd']
- deleted = ['interface Ethernet1/1', 'no hsrp bfd',
- 'interface Ethernet1/2', 'no hsrp bfd']
- overridden = ['interface Ethernet1/3', 'no hsrp bfd',
- 'interface Ethernet1/1', 'no hsrp bfd',
- 'interface Ethernet1/2', 'no hsrp bfd']
- replaced = ['interface Ethernet1/1', 'no hsrp bfd',
- 'interface Ethernet1/2', 'no hsrp bfd']
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=merged)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- def test_3(self):
- # Device has hsrp bfd configs, playbook has no values
- existing = dedent('''\
- interface Ethernet1/1
- hsrp bfd
- interface Ethernet1/2
- hsrp bfd
- interface Ethernet1/3
- hsrp bfd
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(name='Ethernet1/1'),
- dict(name='Ethernet1/2'),
- ])
- # Expected result commands for each 'state'
- merged = []
- deleted = ['interface Ethernet1/1', 'no hsrp bfd',
- 'interface Ethernet1/2', 'no hsrp bfd']
- overridden = ['interface Ethernet1/3', 'no hsrp bfd',
- 'interface Ethernet1/1', 'no hsrp bfd',
- 'interface Ethernet1/2', 'no hsrp bfd']
- replaced = ['interface Ethernet1/1', 'no hsrp bfd',
- 'interface Ethernet1/2', 'no hsrp bfd']
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False, commands=merged)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- def test_4(self):
- # Test with interface that doesn't exist yet
- existing = dedent('''\
- interface Ethernet1/1
- hsrp bfd
- interface Ethernet1/2
- hsrp bfd
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(
- name='Ethernet1/1.42',
- bfd='enable'),
- ])
- # Expected result commands for each 'state'
- merged = ['interface Ethernet1/1.42', 'hsrp bfd']
- deleted = []
- overridden = ['interface Ethernet1/1.42', 'hsrp bfd',
- 'interface Ethernet1/1', 'no hsrp bfd',
- 'interface Ethernet1/2', 'no hsrp bfd']
- replaced = ['interface Ethernet1/1.42', 'hsrp bfd']
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=merged)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False, commands=deleted)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- def test_5(self):
- # idempotence
- existing = dedent('''\
- interface Ethernet1/1
- hsrp bfd
- interface Ethernet1/2
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(
- name='Ethernet1/1',
- bfd='enable'),
- dict(
- name='Ethernet1/2',
- bfd='disable'),
- ])
- # Expected result commands for each 'state'
- merged = []
- deleted = ['interface Ethernet1/1', 'no hsrp bfd']
- overridden = []
- replaced = []
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False, commands=merged)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False, commands=overridden)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False, commands=replaced)
-
-
-def build_args(data, type, state=None, check_mode=None):
- if state is None:
- state = 'merged'
- if check_mode is None:
- check_mode = False
- args = {
- 'state': state,
- '_ansible_check_mode': check_mode,
- 'config': {
- type: data
- }
- }
- return args
diff --git a/test/units/modules/network/nxos/test_nxos_interface.py b/test/units/modules/network/nxos/test_nxos_interface.py
deleted file mode 100644
index f9a2fbc870..0000000000
--- a/test/units/modules/network/nxos/test_nxos_interface.py
+++ /dev/null
@@ -1,91 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import _nxos_interface
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosInterfaceModule(TestNxosModule):
-
- module = _nxos_interface
-
- def setUp(self):
- super(TestNxosInterfaceModule, self).setUp()
- self.mock_run_commands = patch('ansible.modules.network.nxos._nxos_interface.run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos._nxos_interface.load_config')
- self.load_config = self.mock_load_config.start()
-
- def tearDown(self):
- super(TestNxosInterfaceModule, self).tearDown()
- self.mock_run_commands.stop()
- self.mock_load_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- module_name = self.module.__name__.rsplit('.', 1)[1]
-
- def load_from_file(*args, **kwargs):
- module, commands = args
- output = list()
-
- for command in commands:
- if type(command) == dict:
- command = command['command']
- filename = str(command).split(' | ')[0].replace(' ', '_').replace('/', '_')
- print(filename)
- output.append(load_fixture(module_name, filename))
- return output
-
- self.load_config.return_value = None
- self.run_commands.side_effect = load_from_file
-
- def test_nxos_interface_up(self):
- set_module_args(dict(interface='loopback0'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface loopback0', 'no shutdown'])
-
- def test_nxos_interface_down(self):
- set_module_args(dict(interface='loopback0', admin_state='down'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface loopback0', 'shutdown'])
-
- def test_nxos_interface_delete(self):
- set_module_args(dict(interface='loopback0', state='absent'))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_interface_type(self):
- set_module_args(dict(interface_type='loopback', state='absent'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['no interface loopback0'])
-
- def test_nxos_interface_mtu(self):
- set_module_args(dict(interface='Ethernet2/1', mode='layer2', mtu='1800'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface Ethernet2/1', 'switchport', 'mtu 1800',
- 'interface Ethernet2/1', 'no shutdown'])
-
- def test_nxos_interface_speed_idempotence(self):
- set_module_args(dict(interface='Ethernet2/1', speed='1000'))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
diff --git a/test/units/modules/network/nxos/test_nxos_interface_ospf.py b/test/units/modules/network/nxos/test_nxos_interface_ospf.py
deleted file mode 100644
index d4156b43dd..0000000000
--- a/test/units/modules/network/nxos/test_nxos_interface_ospf.py
+++ /dev/null
@@ -1,141 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_interface_ospf
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosInterfaceOspfModule(TestNxosModule):
-
- module = nxos_interface_ospf
-
- def setUp(self):
- super(TestNxosInterfaceOspfModule, self).setUp()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_interface_ospf.get_config')
- self.get_config = self.mock_get_config.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_interface_ospf.load_config')
- self.load_config = self.mock_load_config.start()
-
- def tearDown(self):
- super(TestNxosInterfaceOspfModule, self).tearDown()
- self.mock_get_config.stop()
- self.mock_load_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- module_name = self.module.__name__.rsplit('.', 1)[1]
- self.get_config.return_value = load_fixture(module_name, 'config.cfg')
- self.load_config.return_value = None
-
- def test_nxos_interface_ospf(self):
- set_module_args(dict(interface='ethernet1/32', ospf=1, area=1))
- self.execute_module(changed=True, commands=['interface Ethernet1/32', 'ip router ospf 1 area 0.0.0.1'])
-
- def test_bfd_1(self):
- # default -> enable
- set_module_args(dict(interface='ethernet1/33', ospf=1, area=1, bfd='enable'))
- self.execute_module(changed=True, commands=['interface Ethernet1/33', 'ip router ospf 1 area 0.0.0.1', 'ip ospf bfd'])
-
- # default -> disable
- set_module_args(dict(interface='ethernet1/33', ospf=1, area=1, bfd='disable'))
- self.execute_module(changed=True, commands=['interface Ethernet1/33', 'ip router ospf 1 area 0.0.0.1', 'ip ospf bfd disable'])
-
- def test_bfd_2(self):
- # default -> default
- set_module_args(dict(interface='ethernet1/33.101', ospf=1, area=1, bfd='default'))
- self.execute_module(changed=False)
-
- # enable -> default
- set_module_args(dict(interface='ethernet1/36', ospf=1, area=1, bfd='default'))
- self.execute_module(changed=True, commands=['interface Ethernet1/36', 'no ip ospf bfd'])
-
- # disable -> default
- set_module_args(dict(interface='ethernet1/37', ospf=1, area=1, bfd='default'))
- self.execute_module(changed=True, commands=['interface Ethernet1/37', 'no ip ospf bfd'])
-
- def test_bfd_3(self):
- # enable -> idempotence
- set_module_args(dict(interface='ethernet1/36', ospf=1, area=1, bfd='enable'))
- self.execute_module(changed=False)
-
- # disable -> idempotence
- set_module_args(dict(interface='ethernet1/37', ospf=1, area=1, bfd='disable'))
- self.execute_module(changed=False)
-
- def test_bfd_4(self):
- # None -> absent
- set_module_args(dict(interface='ethernet1/33.101', ospf=1, area=1, state='absent'))
- self.execute_module(changed=True, commands=['interface Ethernet1/33.101', 'no ip router ospf 1 area 0.0.0.1'])
-
- # enable -> absent
- set_module_args(dict(interface='ethernet1/36', ospf=1, area=1, bfd='enable', state='absent'))
- self.execute_module(changed=True, commands=['interface Ethernet1/36', 'no ip router ospf 1 area 0.0.0.1', 'no ip ospf bfd'])
-
- # disable -> absent
- set_module_args(dict(interface='ethernet1/37', ospf=1, area=1, bfd='disable', state='absent'))
- self.execute_module(changed=True, commands=['interface Ethernet1/37', 'no ip router ospf 1 area 0.0.0.1', 'no ip ospf bfd'])
-
- def test_absent_1(self):
- # area only -> absent
- set_module_args(dict(interface='ethernet1/33.101', ospf=1, area=1, state='absent'))
- self.execute_module(changed=True, commands=['interface Ethernet1/33.101', 'no ip router ospf 1 area 0.0.0.1'])
-
- # None -> absent
- set_module_args(dict(interface='ethernet1/33', ospf=1, area=1, state='absent'))
- self.execute_module(changed=False)
-
- def test_loopback_interface_failed(self):
- set_module_args(dict(interface='loopback0', ospf=1, area=0, passive_interface=True))
- self.execute_module(failed=True, changed=False)
- set_module_args(dict(interface='loopback0', ospf=1, area=0, network='broadcast'))
- self.execute_module(failed=True, changed=False)
-
- def test_nxos_interface_ospf_passive(self):
- # default -> True
- set_module_args(dict(interface='ethernet1/33', ospf=1, area=1, passive_interface=True))
- self.execute_module(changed=True, commands=['interface Ethernet1/33',
- 'ip router ospf 1 area 0.0.0.1',
- 'ip ospf passive-interface'])
- # default -> False
- set_module_args(dict(interface='ethernet1/33', ospf=1, area=1, passive_interface=False))
- self.execute_module(changed=True, commands=['interface Ethernet1/33',
- 'ip router ospf 1 area 0.0.0.1',
- 'no ip ospf passive-interface'])
- # True -> False
- set_module_args(dict(interface='ethernet1/34', ospf=1, area=1, passive_interface=False))
- self.execute_module(changed=True, commands=['interface Ethernet1/34',
- 'no ip ospf passive-interface'])
- # True -> default (absent)
- set_module_args(dict(interface='ethernet1/34', ospf=1, area=1, state='absent'))
- self.execute_module(changed=True, commands=['interface Ethernet1/34',
- 'no ip router ospf 1 area 0.0.0.1',
- 'default ip ospf passive-interface'])
- # False -> True
- set_module_args(dict(interface='ethernet1/35', ospf=1, area=1, passive_interface=True))
- self.execute_module(changed=True, commands=['interface Ethernet1/35',
- 'ip ospf passive-interface'])
- # False -> default (absent)
- set_module_args(dict(interface='ethernet1/35', ospf=1, area=1, state='absent'))
- self.execute_module(changed=True, commands=['interface Ethernet1/35',
- 'no ip router ospf 1 area 0.0.0.1',
- 'default ip ospf passive-interface'])
diff --git a/test/units/modules/network/nxos/test_nxos_interfaces.py b/test/units/modules/network/nxos/test_nxos_interfaces.py
deleted file mode 100644
index 26467abfd6..0000000000
--- a/test/units/modules/network/nxos/test_nxos_interfaces.py
+++ /dev/null
@@ -1,461 +0,0 @@
-# (c) 2019 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from textwrap import dedent
-from units.compat.mock import patch
-from units.modules.utils import AnsibleFailJson
-from ansible.modules.network.nxos import nxos_interfaces
-from ansible.module_utils.network.nxos.config.interfaces.interfaces import Interfaces
-from ansible.module_utils.network.nxos.facts.interfaces.interfaces import InterfacesFacts
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-ignore_provider_arg = True
-
-
-class TestNxosInterfacesModule(TestNxosModule):
-
- module = nxos_interfaces
-
- def setUp(self):
- super(TestNxosInterfacesModule, self).setUp()
-
- self.mock_FACT_LEGACY_SUBSETS = patch('ansible.module_utils.network.nxos.facts.facts.FACT_LEGACY_SUBSETS')
- self.FACT_LEGACY_SUBSETS = self.mock_FACT_LEGACY_SUBSETS.start()
-
- self.mock_get_resource_connection_config = patch('ansible.module_utils.network.common.cfg.base.get_resource_connection')
- self.get_resource_connection_config = self.mock_get_resource_connection_config.start()
-
- self.mock_get_resource_connection_facts = patch('ansible.module_utils.network.common.facts.facts.get_resource_connection')
- self.get_resource_connection_facts = self.mock_get_resource_connection_facts.start()
-
- self.mock_edit_config = patch('ansible.module_utils.network.nxos.config.interfaces.interfaces.Interfaces.edit_config')
- self.edit_config = self.mock_edit_config.start()
- self.mock__device_info = patch('ansible.module_utils.network.nxos.facts.interfaces.interfaces.InterfacesFacts._device_info')
- self._device_info = self.mock__device_info.start()
-
- def tearDown(self):
- super(TestNxosInterfacesModule, self).tearDown()
- self.mock_FACT_LEGACY_SUBSETS.stop()
- self.mock_get_resource_connection_config.stop()
- self.mock_get_resource_connection_facts.stop()
- self.mock_edit_config.stop()
- self.mock__device_info.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.mock_FACT_LEGACY_SUBSETS.return_value = dict()
- self.get_resource_connection_config.return_value = None
- self.edit_config.return_value = None
- if device == 'legacy':
- # call execute_module() with device='legacy' to use this codepath
- self._device_info.return_value = {'network_os_platform': 'N3K-Cxxx'}
- else:
- self._device_info.return_value = {'network_os_platform': 'N9K-Cxxx'}
-
- SHOW_RUN_SYSDEF = "show running-config all | incl 'system default switchport'"
- SHOW_RUN_INTF = 'show running-config | section ^interface'
-
- def test_1(self):
- # Overall general test for each state: merged, deleted, overridden, replaced
- sysdefs = dedent('''\
- !
- ! Interfaces default to L3 !!
- !
- no system default switchport
- no system default switchport shutdown
- ''')
- intf = dedent('''\
- interface mgmt0
- description do not manage mgmt0!
- interface Ethernet1/1
- description foo
- interface Ethernet1/2
- description bar
- speed 1000
- duplex full
- mtu 4096
- ip forward
- fabric forwarding mode anycast-gateway
- interface Ethernet1/3
- interface Ethernet1/4
- interface Ethernet1/5
- interface Ethernet1/6
- no shutdown
- interface loopback0
- description test-loopback
- ''')
- self.get_resource_connection_facts.return_value = {
- self.SHOW_RUN_SYSDEF: sysdefs,
- self.SHOW_RUN_INTF: intf
- }
- playbook = dict(config=[
- dict(name='Ethernet1/1', description='ansible', mode='layer3'),
- dict(name='Ethernet1/2', speed=10000, duplex='auto', mtu=1500,
- ip_forward=False, fabric_forwarding_anycast_gateway=False),
- dict(name='Ethernet1/3', description='ansible', mode='layer3'),
- dict(name='Ethernet1/3.101', description='test-sub-intf', enabled=False),
- dict(name='Ethernet1/4', mode='layer2'),
- dict(name='Ethernet1/5'),
- dict(name='loopback1', description='test-loopback')
- ])
- merged = [
- # Update existing device states with any differences in the playbook.
- 'interface Ethernet1/1', 'description ansible',
- 'interface Ethernet1/2', 'speed 10000', 'duplex auto', 'mtu 1500',
- 'no ip forward', 'no fabric forwarding mode anycast-gateway',
- 'interface Ethernet1/3', 'description ansible',
- 'interface Ethernet1/3.101', 'description test-sub-intf',
- 'interface Ethernet1/4', 'switchport',
- 'interface loopback1', 'description test-loopback'
- ]
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=merged)
-
- deleted = [
- # Reset existing device state to default values. Scope is limited to
- # objects in the play. Ignores any play attrs other than 'name'.
- 'interface Ethernet1/1', 'no description',
- 'interface Ethernet1/2', 'no description', 'no speed', 'no duplex', 'no mtu',
- 'no ip forward', 'no fabric forwarding mode anycast-gateway',
- ]
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- replaced = [
- # Scope is limited to objects in the play. The play is the source of
- # truth for the objects that are explicitly listed.
- 'interface Ethernet1/1', 'description ansible',
- 'interface Ethernet1/2', 'no description',
- 'no ip forward', 'no fabric forwarding mode anycast-gateway',
- 'speed 10000', 'duplex auto', 'mtu 1500',
- 'interface Ethernet1/3', 'description ansible',
- 'interface Ethernet1/3.101', 'description test-sub-intf',
- 'interface Ethernet1/4', 'switchport',
- 'interface loopback1', 'description test-loopback'
- ]
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- overridden = [
- # The play is the source of truth. Similar to replaced but the scope
- # includes all objects on the device; i.e. it will also reset state
- # on objects not found in the play.
- 'interface Ethernet1/1', 'description ansible',
- 'interface Ethernet1/2', 'no description',
- 'no ip forward', 'no fabric forwarding mode anycast-gateway',
- 'speed 10000', 'duplex auto', 'mtu 1500',
- 'interface Ethernet1/6', 'shutdown',
- 'interface loopback0', 'no description',
- 'interface Ethernet1/3', 'description ansible',
- 'interface Ethernet1/4', 'switchport',
- 'interface Ethernet1/3.101', 'description test-sub-intf',
- 'interface loopback1', 'description test-loopback'
- ]
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- def test_2(self):
- # 'enabled'/shutdown behaviors are tricky:
- # - different default states for different interface types for different
- # platforms, based on 'system default switchport' settings
- # - virtual interfaces may not exist yet
- # - idempotence for interfaces with all default states
- sysdefs = dedent('''\
- !
- ! Interfaces default to L3 !!
- !
- no system default switchport
- no system default switchport shutdown
- ''')
- intf = dedent('''\
- interface mgmt0
- interface Ethernet1/1
- interface Ethernet1/2
- switchport
- shutdown
- interface Ethernet1/3
- switchport
- interface loopback1
- interface loopback2
- shutdown
- interface loopback3
- interface loopback8
- interface loopback9
- shutdown
- interface port-channel2
- interface port-channel3
- shutdown
- ''')
- self.get_resource_connection_facts.return_value = {
- self.SHOW_RUN_SYSDEF: sysdefs,
- self.SHOW_RUN_INTF: intf
- }
- playbook = dict(config=[
- # Set non-default states on existing objs
- dict(name='Ethernet1/1', mode='layer3', enabled=True),
- dict(name='loopback1', enabled=False),
- # Set default states on existing objs
- dict(name='Ethernet1/2', enabled=True),
- dict(name='loopback2', enabled=True),
- # Set explicit default state on existing objs (no chg)
- dict(name='Ethernet1/3', enabled=True),
- dict(name='loopback3', enabled=True),
- dict(name='port-channel3', enabled=True),
- # Set default state on non-existent objs; no state changes but need to create intf
- dict(name='loopback4', enabled=True),
- dict(name='port-channel4', enabled=True),
- dict(name='Ethernet1/4.101')
- ])
- # Testing with newer code version
- merged = [
- 'interface Ethernet1/1', 'no shutdown',
- 'interface loopback1', 'shutdown',
- 'interface Ethernet1/2', 'no shutdown',
- 'interface loopback2', 'no shutdown',
- 'interface port-channel3', 'no shutdown',
- 'interface loopback4',
- 'interface port-channel4',
- 'interface Ethernet1/4.101'
- ]
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=merged)
-
- deleted = [
- # e1/2 becomes L3 so enable default changes to false
- 'interface Ethernet1/2', 'no switchport',
- 'interface loopback2', 'no shutdown',
- 'interface Ethernet1/3', 'no switchport',
- 'interface port-channel3', 'no shutdown'
- ]
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- replaced = [
- 'interface Ethernet1/1', 'no shutdown',
- 'interface loopback1', 'shutdown',
- 'interface Ethernet1/2', 'no switchport', 'no shutdown',
- 'interface loopback2', 'no shutdown',
- 'interface Ethernet1/3', 'no switchport', 'no shutdown',
- 'interface port-channel3', 'no shutdown',
- 'interface loopback4',
- 'interface port-channel4',
- 'interface Ethernet1/4.101'
- ]
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- overridden = [
- 'interface Ethernet1/2', 'no switchport', 'no shutdown',
- 'interface Ethernet1/3', 'no switchport', 'no shutdown',
- 'interface loopback2', 'no shutdown',
- 'interface loopback9', 'no shutdown',
- 'interface port-channel3', 'no shutdown',
- 'interface Ethernet1/1', 'no shutdown',
- 'interface loopback1', 'shutdown',
- 'interface loopback4',
- 'interface port-channel4',
- 'interface Ethernet1/4.101'
- ]
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- def test_3(self):
- # Testing 'enabled' with different 'system default' settings.
- # This is the same as test_2 with some minor changes.
- sysdefs = dedent('''\
- !
- ! Interfaces default to L2 !!
- !
- system default switchport
- system default switchport shutdown
- ''')
- intf = dedent('''\
- interface mgmt0
- interface Ethernet1/1
- interface Ethernet1/2
- no switchport
- no shutdown
- interface Ethernet1/3
- no switchport
- interface loopback1
- interface loopback2
- shutdown
- interface loopback3
- interface loopback8
- interface loopback9
- shutdown
- interface port-channel2
- interface port-channel3
- shutdown
- ''')
- self.get_resource_connection_facts.return_value = {
- self.SHOW_RUN_SYSDEF: sysdefs,
- self.SHOW_RUN_INTF: intf
- }
- playbook = dict(config=[
- # Set non-default states on existing objs
- dict(name='Ethernet1/1', mode='layer3', enabled=True),
- dict(name='loopback1', enabled=False),
- # Set default states on existing objs
- dict(name='Ethernet1/2', enabled=False),
- dict(name='loopback2', enabled=True),
- # Set explicit default state on existing objs (no chg)
- dict(name='Ethernet1/3', enabled=False),
- dict(name='loopback3', enabled=True),
- dict(name='port-channel3', enabled=True),
- # Set default state on non-existent objs; no state changes but need to create intf
- dict(name='loopback4', enabled=True),
- dict(name='port-channel4', enabled=True),
- dict(name='Ethernet1/4.101')
- ])
- merged = [
- 'interface Ethernet1/1', 'no switchport', 'no shutdown',
- 'interface loopback1', 'shutdown',
- 'interface Ethernet1/2', 'shutdown',
- 'interface loopback2', 'no shutdown',
- 'interface port-channel3', 'no shutdown',
- 'interface loopback4',
- 'interface port-channel4',
- 'interface Ethernet1/4.101'
- ]
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=merged)
-
- # Test with an older image version which has different defaults
- merged_legacy = [
- 'interface Ethernet1/1', 'no switchport',
- 'interface loopback1', 'shutdown',
- 'interface Ethernet1/2', 'shutdown',
- 'interface loopback2', 'no shutdown',
- 'interface Ethernet1/3', 'shutdown',
- 'interface port-channel3', 'no shutdown',
- 'interface loopback4',
- 'interface port-channel4',
- 'interface Ethernet1/4.101'
- ]
- self.execute_module(changed=True, commands=merged_legacy, device='legacy')
-
- deleted = [
- 'interface Ethernet1/2', 'switchport', 'shutdown',
- 'interface loopback2', 'no shutdown',
- 'interface Ethernet1/3', 'switchport',
- 'interface port-channel3', 'no shutdown'
- ]
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- replaced = [
- 'interface Ethernet1/1', 'no switchport', 'no shutdown',
- 'interface loopback1', 'shutdown',
- 'interface Ethernet1/2', 'switchport', 'shutdown',
- 'interface loopback2', 'no shutdown',
- 'interface Ethernet1/3', 'switchport',
- 'interface port-channel3', 'no shutdown',
- 'interface loopback4',
- 'interface port-channel4',
- 'interface Ethernet1/4.101'
- ]
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- overridden = [
- 'interface Ethernet1/2', 'switchport', 'shutdown',
- 'interface Ethernet1/3', 'switchport',
- 'interface loopback2', 'no shutdown',
- 'interface loopback9', 'no shutdown',
- 'interface port-channel3', 'no shutdown',
- 'interface Ethernet1/1', 'no switchport', 'no shutdown',
- 'interface loopback1', 'shutdown',
- 'interface loopback4',
- 'interface port-channel4',
- 'interface Ethernet1/4.101'
- ]
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- def test_4(self):
- # Basic idempotence test
- sysdefs = dedent('''\
- !
- ! Interfaces default to L3 !!
- !
- no system default switchport
- no system default switchport shutdown
- ''')
- intf = dedent('''\
- interface Ethernet1/1
- interface Ethernet1/2
- switchport
- speed 1000
- shutdown
- ''')
- self.get_resource_connection_facts.return_value = {
- self.SHOW_RUN_SYSDEF: sysdefs,
- self.SHOW_RUN_INTF: intf
- }
- playbook = dict(config=[
- dict(name='Ethernet1/1', mode='layer3'),
- dict(name='Ethernet1/2', mode='layer2', enabled=False)
- ])
- merged = []
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False, commands=merged)
-
- def test_5(self):
- # 'state: deleted' without 'config'; clean all objects.
- sysdefs = dedent('''\
- !
- ! Interfaces default to L3 !!
- !
- no system default switchport
- no system default switchport shutdown
- ''')
- intf = dedent('''\
- interface Ethernet1/1
- switchport
- interface Ethernet1/2
- speed 1000
- no shutdown
- ''')
- self.get_resource_connection_facts.return_value = {
- self.SHOW_RUN_SYSDEF: sysdefs,
- self.SHOW_RUN_INTF: intf
- }
- playbook = dict()
- deleted = [
- 'interface Ethernet1/1', 'no switchport',
- 'interface Ethernet1/2', 'no speed', 'shutdown'
- ]
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
diff --git a/test/units/modules/network/nxos/test_nxos_l3_interface.py b/test/units/modules/network/nxos/test_nxos_l3_interface.py
deleted file mode 100644
index 9e23f5702c..0000000000
--- a/test/units/modules/network/nxos/test_nxos_l3_interface.py
+++ /dev/null
@@ -1,226 +0,0 @@
-# Copyright: (c) 2019, Olivier Blin <olivier.oblin@gmail.com>
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import _nxos_l3_interface
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosL3InterfaceModule(TestNxosModule):
-
- module = _nxos_l3_interface
-
- def setUp(self):
- super(TestNxosL3InterfaceModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos._nxos_l3_interface.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos._nxos_l3_interface.get_config')
- self.get_config = self.mock_get_config.start()
-
- def tearDown(self):
- super(TestNxosL3InterfaceModule, self).tearDown()
- self.mock_load_config.stop()
- self.mock_get_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.load_config.return_value = None
- self.get_config.return_value = load_fixture('nxos_l3_interface', self.mode)
-
- def test_nxos_l3_interface_unknonw_ethernet(self):
- self.mode = 'ethernet_noshut'
- set_module_args(dict(name='Ethernet1/2', ipv4='192.168.0.1/24'))
- result = self.execute_module(changed=False)
-
- # Add when missing
- def test_nxos_l3_interface_add_missing_ipv4(self):
- self.mode = 'ethernet_noshut'
- set_module_args(dict(name='Ethernet1/1', ipv4='192.168.0.1/24'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface Ethernet1/1', 'ip address 192.168.0.1/24', 'exit'])
-
- def test_nxos_l3_interface_add_missing_ipv4_on_e11(self):
- self.mode = 'ethernet_noshut'
- set_module_args(dict(name='et1/1', ipv4='192.168.0.1/24'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface Ethernet1/1', 'ip address 192.168.0.1/24', 'exit'])
-
- def test_nxos_l3_interface_add_missing_ipv6(self):
- self.mode = 'ethernet_noshut'
- set_module_args(dict(name='Ethernet1/1', ipv6='2001:db8::1/124'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface Ethernet1/1', 'ipv6 address 2001:db8::1/124', 'exit'])
-
- def test_nxos_l3_interface_add_missing_ipv4_and_ipv6(self):
- self.mode = 'ethernet_noshut'
- set_module_args(dict(name='Ethernet1/1', ipv4='192.168.0.1/24', ipv6='2001:db8::1/124'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface Ethernet1/1', 'ip address 192.168.0.1/24', 'ipv6 address 2001:db8::1/124', 'exit'])
-
- # Add when existing
- def test_nxos_l3_interface_add_existing_ipv4(self):
- self.mode = 'ethernet_noshut_ipv4_ipv6'
- set_module_args(dict(name='Ethernet1/1', ipv4='192.168.0.1/24'))
- result = self.execute_module()
-
- def test_nxos_l3_interface_add_existing_ipv4_on_e11(self):
- self.mode = 'ethernet_noshut_ipv4_ipv6'
- set_module_args(dict(name='et1/1', ipv4='192.168.0.1/24'))
- result = self.execute_module()
-
- def test_nxos_l3_interface_add_existing_ipv6(self):
- self.mode = 'ethernet_noshut_ipv4_ipv6'
- set_module_args(dict(name='Ethernet1/1', ipv6='2001:db8::1/124'))
- result = self.execute_module()
-
- def test_nxos_l3_interface_add_existing_ipv4_and_ipv6(self):
- self.mode = 'ethernet_noshut_ipv4_ipv6'
- set_module_args(dict(name='Ethernet1/1', ipv4='192.168.0.1/24', ipv6='2001:db8::1/124'))
- result = self.execute_module()
-
- def test_nxos_l3_interface_new_ipv4_and_ipv6(self):
- self.mode = 'ethernet_noshut_ipv4_ipv6'
- set_module_args(dict(name='Ethernet1/1', ipv4='192.168.0.2/24', ipv6='2001:db8::2/124'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface Ethernet1/1', 'ip address 192.168.0.2/24', 'ipv6 address 2001:db8::2/124', 'exit'])
-
- # Add when existing with multiple IPv6
- def test_nxos_l3_interface_multiple_ipv6_add_first(self):
- self.mode = 'ethernet_noshut_multiple_ipv6'
- set_module_args(dict(name='Ethernet1/1', ipv6='2001:db8::1/124'))
- result = self.execute_module()
-
- def test_nxos_l3_interface_multiple_ipv6_add_last(self):
- self.mode = 'ethernet_noshut_multiple_ipv6'
- set_module_args(dict(name='Ethernet1/1', ipv6='2001:db8:2::1/124'))
- result = self.execute_module()
-
- # Add aggregate
- def test_nxos_l3_interface_add_missing_with_empty_aggregate(self):
- self.mode = 'ethernet_noshut'
- set_module_args(dict(aggregate=[]))
- result = self.execute_module()
-
- def test_nxos_l3_interface_add_missing_with_aggregate(self):
- self.mode = 'ethernet_noshut'
- set_module_args(dict(aggregate=[
- dict(name='Ethernet1/1', ipv4='192.168.0.2/24', ipv6='2001:db8::2/124'),
- dict(name='Ethernet1/1', ipv6='2001:db8:1::2/124'),
- dict(name='Ethernet1/1', ipv6='2001:db8:2::2/124')]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], [
- 'interface Ethernet1/1', 'ip address 192.168.0.2/24', 'ipv6 address 2001:db8::2/124', 'exit',
- 'interface Ethernet1/1', 'ipv6 address 2001:db8:1::2/124', 'exit',
- 'interface Ethernet1/1', 'ipv6 address 2001:db8:2::2/124', 'exit'])
-
- # Rem when missing
- def test_nxos_l3_interface_rem_missing_ipv4(self):
- self.mode = 'ethernet_noshut'
- set_module_args(dict(name='Ethernet1/1', ipv4='192.168.0.1/24', state='absent'))
- result = self.execute_module()
-
- def test_nxos_l3_interface_rem_missing_ipv4_on_e11(self):
- self.mode = 'ethernet_noshut'
- set_module_args(dict(name='et1/1', ipv4='192.168.0.1/24', state='absent'))
- result = self.execute_module()
-
- def test_nxos_l3_interface_rem_missing_ipv6(self):
- self.mode = 'ethernet_noshut'
- set_module_args(dict(name='Ethernet1/1', ipv6='2001:db8::1/124', state='absent'))
- result = self.execute_module()
-
- def test_nxos_l3_interface_rem_missing_ipv4_and_ipv6(self):
- self.mode = 'ethernet_noshut'
- set_module_args(dict(name='Ethernet1/1', ipv4='192.168.0.1/24', ipv6='2001:db8::1/124', state='absent'))
- result = self.execute_module()
-
- # Rem when existing
- def test_nxos_l3_interface_rem_existing_ipv4(self):
- self.mode = 'ethernet_noshut_ipv4_ipv6'
- set_module_args(dict(name='Ethernet1/1', ipv4='192.168.0.1/24', state='absent'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface Ethernet1/1', 'no ip address 192.168.0.1/24', 'exit'])
-
- def test_nxos_l3_interface_rem_existing_ipv4_on_e11(self):
- self.mode = 'ethernet_noshut_ipv4_ipv6'
- set_module_args(dict(name='et1/1', ipv4='192.168.0.1/24', state='absent'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface Ethernet1/1', 'no ip address 192.168.0.1/24', 'exit'])
-
- def test_nxos_l3_interface_rem_existing_ipv6(self):
- self.mode = 'ethernet_noshut_ipv4_ipv6'
- set_module_args(dict(name='Ethernet1/1', ipv6='2001:db8::1/124', state='absent'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface Ethernet1/1', 'no ipv6 address 2001:db8::1/124', 'exit'])
-
- def test_nxos_l3_interface_rem_existing_ipv4_and_ipv6(self):
- self.mode = 'ethernet_noshut_ipv4_ipv6'
- set_module_args(dict(name='Ethernet1/1', ipv4='192.168.0.1/24', ipv6='2001:db8::1/124', state='absent'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface Ethernet1/1', 'no ip address 192.168.0.1/24', 'no ipv6 address 2001:db8::1/124', 'exit'])
-
- # Rem when existing with multiple IPv6
- def test_nxos_l3_interface_multiple_ipv6_rem_first(self):
- self.mode = 'ethernet_noshut_multiple_ipv6'
- set_module_args(dict(name='Ethernet1/1', ipv6='2001:db8::1/124', state='absent'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface Ethernet1/1', 'no ipv6 address 2001:db8::1/124', 'exit'])
-
- def test_nxos_l3_interface_multiple_ipv6_rem_last(self):
- self.mode = 'ethernet_noshut_multiple_ipv6'
- set_module_args(dict(name='Ethernet1/1', ipv6='2001:db8:2::1/124', state='absent'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface Ethernet1/1', 'no ipv6 address 2001:db8:2::1/124', 'exit'])
-
- # Rem when missing with aggregate
- def test_nxos_l3_interface_rem_with_empty_aggregate(self):
- self.mode = 'ethernet_noshut_multiple_ipv6'
- set_module_args(dict(aggregate=[], state='absent'))
- result = self.execute_module()
-
- def test_nxos_l3_interface_rem_missing_with_aggregate(self):
- self.mode = 'ethernet_noshut_multiple_ipv6'
- set_module_args(dict(state='absent', aggregate=[
- dict(name='Ethernet1/1', ipv4='192.168.0.2/24', ipv6='2001:db8::2/124'),
- dict(name='Ethernet1/1', ipv6='2001:db8:1::2/124'),
- dict(name='Ethernet1/1', ipv6='2001:db8:2::2/124')]))
- result = self.execute_module()
-
- # Rem when existing with aggregate
- def test_nxos_l3_interface_rem_existing_with_aggregate(self):
- self.mode = 'ethernet_noshut_multiple_ipv6'
- set_module_args(dict(state='absent', aggregate=[
- dict(name='Ethernet1/1', ipv4='192.168.0.1/24', ipv6='2001:db8::1/124'),
- dict(name='Ethernet1/1', ipv6='2001:db8:1::1/124'),
- dict(name='Ethernet1/1', ipv6='2001:db8:2::1/124')]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], [
- 'interface Ethernet1/1', 'no ip address 192.168.0.1/24', 'no ipv6 address 2001:db8::1/124', 'exit',
- 'interface Ethernet1/1', 'no ipv6 address 2001:db8:1::1/124', 'exit',
- 'interface Ethernet1/1', 'no ipv6 address 2001:db8:2::1/124', 'exit'])
-
- # Add itf only
- def test_nxos_l3_interface_add_on_itf_only(self):
- self.mode = 'ethernet_noshut'
- set_module_args(dict(name='Ethernet1/1'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface Ethernet1/1'])
-
- # Add unknown interface
- def test_nxos_l3_interface_add_on_unknown_itf(self):
- self.mode = 'ethernet_noshut'
- set_module_args(dict(name='Ethernet1/2', ipv4='192.168.0.1/24'))
- result = self.execute_module()
- self.assertEqual(result['warnings'], ['Unknown interface Ethernet1/2'])
-
- # Rem unknown interface
- def test_nxos_l3_interface_rem_on_unknown_itf(self):
- self.mode = 'ethernet_noshut'
- set_module_args(dict(name='Ethernet1/2', ipv4='192.168.0.1/24', state='absent'))
- result = self.execute_module()
- self.assertEqual(result['warnings'], ['Unknown interface Ethernet1/2'])
diff --git a/test/units/modules/network/nxos/test_nxos_l3_interfaces.py b/test/units/modules/network/nxos/test_nxos_l3_interfaces.py
deleted file mode 100644
index 79ca244ef4..0000000000
--- a/test/units/modules/network/nxos/test_nxos_l3_interfaces.py
+++ /dev/null
@@ -1,580 +0,0 @@
-# (c) 2019 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from textwrap import dedent
-from units.compat.mock import patch
-from units.modules.utils import AnsibleFailJson
-from ansible.modules.network.nxos import nxos_l3_interfaces
-from ansible.module_utils.network.nxos.config.l3_interfaces.l3_interfaces import L3_interfaces
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-ignore_provider_arg = True
-
-
-class TestNxosL3InterfacesModule(TestNxosModule):
-
- module = nxos_l3_interfaces
-
- def setUp(self):
- super(TestNxosL3InterfacesModule, self).setUp()
-
- self.mock_FACT_LEGACY_SUBSETS = patch('ansible.module_utils.network.nxos.facts.facts.FACT_LEGACY_SUBSETS')
- self.FACT_LEGACY_SUBSETS = self.mock_FACT_LEGACY_SUBSETS.start()
-
- self.mock_get_resource_connection_config = patch('ansible.module_utils.network.common.cfg.base.get_resource_connection')
- self.get_resource_connection_config = self.mock_get_resource_connection_config.start()
-
- self.mock_get_resource_connection_facts = patch('ansible.module_utils.network.common.facts.facts.get_resource_connection')
- self.get_resource_connection_facts = self.mock_get_resource_connection_facts.start()
-
- self.mock_edit_config = patch('ansible.module_utils.network.nxos.config.l3_interfaces.l3_interfaces.L3_interfaces.edit_config')
- self.edit_config = self.mock_edit_config.start()
-
- self.mock_get_platform_type = patch('ansible.module_utils.network.nxos.config.l3_interfaces.l3_interfaces.L3_interfaces.get_platform_type')
- self.get_platform_type = self.mock_get_platform_type.start()
-
- def tearDown(self):
- super(TestNxosL3InterfacesModule, self).tearDown()
- self.mock_FACT_LEGACY_SUBSETS.stop()
- self.mock_get_resource_connection_config.stop()
- self.mock_get_resource_connection_facts.stop()
- self.mock_edit_config.stop()
- self.mock_get_platform_type.stop()
-
- def load_fixtures(self, commands=None, device='N9K'):
- self.mock_FACT_LEGACY_SUBSETS.return_value = dict()
- self.get_resource_connection_config.return_value = None
- self.edit_config.return_value = None
- self.get_platform_type.return_value = device
-
- # ---------------------------
- # L3_interfaces Test Cases
- # ---------------------------
-
- # 'state' logic behaviors
- #
- # - 'merged' : Update existing device state with any differences in the play.
- # - 'deleted' : Reset existing device state to default values. Ignores any
- # play attrs other than 'name'. Scope is limited to interfaces
- # in the play.
- # - 'overridden': The play is the source of truth. Similar to replaced but the
- # scope includes all interfaces; ie. it will also reset state
- # on interfaces not found in the play.
- # - 'replaced' : Scope is limited to the interfaces in the play.
-
- SHOW_CMD = 'show running-config | section ^interface'
-
- def test_1(self):
- # Verify raise when playbook specifies mgmt0
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: ''}
- playbook = dict(config=[dict(name='mgmt0')])
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module({'failed': True, 'msg': "The 'mgmt0' interface is not allowed to be managed by this module"})
-
- def test_2(self):
- # basic tests
- existing = dedent('''\
- interface mgmt0
- ip address 10.0.0.254/24
- interface Ethernet1/1
- ip address 10.1.1.1/24
- interface Ethernet1/2
- ip address 10.1.2.1/24
- interface Ethernet1/3
- ip address 10.1.3.1/24
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(
- name='Ethernet1/1',
- ipv4=[{'address': '192.168.1.1/24'}]),
- dict(name='Ethernet1/2'),
- # Eth1/3 not present! Thus overridden should set Eth1/3 to defaults;
- # replaced should ignore Eth1/3.
- ])
- # Expected result commands for each 'state'
- merged = ['interface Ethernet1/1', 'ip address 192.168.1.1/24']
- deleted = ['interface Ethernet1/1', 'no ip address',
- 'interface Ethernet1/2', 'no ip address']
- replaced = ['interface Ethernet1/1', 'ip address 192.168.1.1/24',
- 'interface Ethernet1/2', 'no ip address']
- overridden = ['interface Ethernet1/1', 'ip address 192.168.1.1/24',
- 'interface Ethernet1/2', 'no ip address',
- 'interface Ethernet1/3', 'no ip address']
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=merged)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- def test_3(self):
- # encap testing
- existing = dedent('''\
- interface mgmt0
- ip address 10.0.0.254/24
- interface Ethernet1/1.41
- encapsulation dot1q 4100
- ip address 10.1.1.1/24
- interface Ethernet1/1.42
- encapsulation dot1q 42
- interface Ethernet1/1.44
- encapsulation dot1q 44
- interface Ethernet1/1.45
- encapsulation dot1q 45
- ip address 10.5.5.5/24
- ipv6 address 10::5/128
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(name='Ethernet1/1.41', dot1q=41, ipv4=[{'address': '10.2.2.2/24'}]),
- dict(name='Ethernet1/1.42', dot1q=42),
- dict(name='Ethernet1/1.43', dot1q=43, ipv6=[{'address': '10::2/128'}]),
- dict(name='Ethernet1/1.44')
- ])
- # Expected result commands for each 'state'
- merged = [
- 'interface Ethernet1/1.41', 'encapsulation dot1q 41', 'ip address 10.2.2.2/24',
- 'interface Ethernet1/1.43', 'encapsulation dot1q 43', 'ipv6 address 10::2/128',
- ]
- deleted = [
- 'interface Ethernet1/1.41', 'no encapsulation dot1q', 'no ip address',
- 'interface Ethernet1/1.42', 'no encapsulation dot1q',
- 'interface Ethernet1/1.44', 'no encapsulation dot1q'
- ]
- replaced = [
- 'interface Ethernet1/1.41', 'encapsulation dot1q 41', 'ip address 10.2.2.2/24',
- # 42 no chg
- 'interface Ethernet1/1.43', 'encapsulation dot1q 43', 'ipv6 address 10::2/128',
- 'interface Ethernet1/1.44', 'no encapsulation dot1q'
- ]
- overridden = [
- 'interface Ethernet1/1.41', 'encapsulation dot1q 41', 'ip address 10.2.2.2/24',
- # 42 no chg
- 'interface Ethernet1/1.44', 'no encapsulation dot1q',
- 'interface Ethernet1/1.45', 'no encapsulation dot1q', 'no ip address', 'no ipv6 address',
- 'interface Ethernet1/1.43', 'encapsulation dot1q 43', 'ipv6 address 10::2/128'
- ]
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=merged)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- def test_4(self):
- # IPv4-centric testing
- existing = dedent('''\
- interface mgmt0
- ip address 10.0.0.254/24
- interface Ethernet1/1
- no ip redirects
- ip address 10.1.1.1/24 tag 11
- ip address 10.2.2.2/24 secondary tag 12
- ip address 10.3.3.3/24 secondary
- ip address 10.4.4.4/24 secondary tag 14
- ip address 10.5.5.5/24 secondary tag 15
- ip address 10.6.6.6/24 secondary tag 16
- interface Ethernet1/2
- ip address 10.12.12.12/24
- interface Ethernet1/3
- ip address 10.13.13.13/24
- interface Ethernet1/5
- no ip redirects
- ip address 10.15.15.15/24
- ip address 10.25.25.25/24 secondary
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(name='Ethernet1/1',
- ipv4=[{'address': '10.1.1.1/24', 'secondary': True}, # prim->sec
- {'address': '10.2.2.2/24', 'secondary': True}, # rmv tag
- {'address': '10.3.3.3/24', 'tag': 3}, # become prim
- {'address': '10.4.4.4/24', 'secondary': True, 'tag': 14}, # no chg
- {'address': '10.5.5.5/24', 'secondary': True, 'tag': 55}, # chg tag
- {'address': '10.7.7.7/24', 'secondary': True, 'tag': 77}]), # new ip
- dict(name='Ethernet1/2'),
- dict(name='Ethernet1/4',
- ipv4=[{'address': '10.40.40.40/24'},
- {'address': '10.41.41.41/24', 'secondary': True}]),
- dict(name='Ethernet1/5'),
- ])
- # Expected result commands for each 'state'
- merged = [
- 'interface Ethernet1/1',
- 'no ip address 10.5.5.5/24 secondary',
- 'no ip address 10.2.2.2/24 secondary',
- 'no ip address 10.3.3.3/24 secondary',
- 'ip address 10.3.3.3/24 tag 3', # Changes primary
- 'ip address 10.1.1.1/24 secondary',
- 'ip address 10.2.2.2/24 secondary',
- 'ip address 10.7.7.7/24 secondary tag 77',
- 'ip address 10.5.5.5/24 secondary tag 55',
- 'interface Ethernet1/4',
- 'ip address 10.40.40.40/24',
- 'ip address 10.41.41.41/24 secondary'
- ]
- deleted = [
- 'interface Ethernet1/1', 'no ip address',
- 'interface Ethernet1/2', 'no ip address',
- 'interface Ethernet1/5', 'no ip address'
- ]
- replaced = [
- 'interface Ethernet1/1',
- 'no ip address 10.5.5.5/24 secondary',
- 'no ip address 10.2.2.2/24 secondary',
- 'no ip address 10.3.3.3/24 secondary',
- 'ip address 10.3.3.3/24 tag 3', # Changes primary
- 'ip address 10.1.1.1/24 secondary',
- 'ip address 10.2.2.2/24 secondary',
- 'ip address 10.7.7.7/24 secondary tag 77',
- 'ip address 10.5.5.5/24 secondary tag 55',
- 'interface Ethernet1/2',
- 'no ip address',
- 'interface Ethernet1/4',
- 'ip address 10.40.40.40/24',
- 'ip address 10.41.41.41/24 secondary',
- 'interface Ethernet1/5',
- 'no ip address'
- ]
- overridden = [
- 'interface Ethernet1/1',
- 'no ip address 10.6.6.6/24 secondary',
- 'no ip address 10.5.5.5/24 secondary',
- 'no ip address 10.2.2.2/24 secondary',
- 'no ip address 10.3.3.3/24 secondary',
- 'ip address 10.3.3.3/24 tag 3', # Changes primary
- 'ip address 10.1.1.1/24 secondary',
- 'ip address 10.2.2.2/24 secondary',
- 'ip address 10.7.7.7/24 secondary tag 77',
- 'ip address 10.5.5.5/24 secondary tag 55',
- 'interface Ethernet1/2',
- 'no ip address',
- 'interface Ethernet1/3',
- 'no ip address',
- 'interface Ethernet1/4',
- 'ip address 10.40.40.40/24',
- 'ip address 10.41.41.41/24 secondary',
- 'interface Ethernet1/5',
- 'no ip address',
- ]
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=merged)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- def test_5(self):
- # IPv6-centric testing
- existing = dedent('''\
- interface Ethernet1/1
- ipv6 address 10::1/128
- ipv6 address 10::2/128 tag 12
- ipv6 address 10::3/128 tag 13
- ipv6 address 10::4/128 tag 14
- interface Ethernet1/2
- ipv6 address 10::12/128
- interface Ethernet1/3
- ipv6 address 10::13/128
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(name='Ethernet1/1',
- ipv6=[{'address': '10::1/128'}, # no chg
- {'address': '10::3/128'}, # tag rmv
- {'address': '10::4/128', 'tag': 44}, # tag chg
- {'address': '10::5/128'}, # new addr
- {'address': '10::6/128', 'tag': 66}]), # new addr+tag
- dict(name='Ethernet1/2'),
- ])
- # Expected result commands for each 'state'
- merged = [
- 'interface Ethernet1/1',
- 'ipv6 address 10::4/128 tag 44',
- 'ipv6 address 10::5/128',
- 'ipv6 address 10::6/128 tag 66',
- ]
- deleted = [
- 'interface Ethernet1/1', 'no ipv6 address',
- 'interface Ethernet1/2', 'no ipv6 address',
- ]
- replaced = [
- 'interface Ethernet1/1',
- 'no ipv6 address 10::3/128',
- 'no ipv6 address 10::2/128',
- 'ipv6 address 10::4/128 tag 44',
- 'ipv6 address 10::3/128',
- 'ipv6 address 10::5/128',
- 'ipv6 address 10::6/128 tag 66',
- 'interface Ethernet1/2',
- 'no ipv6 address 10::12/128'
- ]
- overridden = [
- 'interface Ethernet1/1',
- 'no ipv6 address 10::3/128',
- 'no ipv6 address 10::2/128',
- 'ipv6 address 10::4/128 tag 44',
- 'ipv6 address 10::3/128',
- 'ipv6 address 10::5/128',
- 'ipv6 address 10::6/128 tag 66',
- 'interface Ethernet1/2',
- 'no ipv6 address 10::12/128',
- 'interface Ethernet1/3',
- 'no ipv6 address'
- ]
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=merged)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
- #
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
- #
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- def test_6(self):
- # misc tests
- existing = dedent('''\
- interface Ethernet1/1
- ip address 10.1.1.1/24
- no ip redirects
- ip unreachables
- interface Ethernet1/2
- interface Ethernet1/3
- interface Ethernet1/4
- interface Ethernet1/5
- no ip redirects
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(name='Ethernet1/1', redirects=True, unreachables=False,
- ipv4=[{'address': '192.168.1.1/24'}]),
- dict(name='Ethernet1/2'),
- dict(name='Ethernet1/3', redirects=True, unreachables=False), # defaults
- dict(name='Ethernet1/4', redirects=False, unreachables=True),
- ])
- merged = [
- 'interface Ethernet1/1',
- 'ip redirects',
- 'no ip unreachables',
- 'ip address 192.168.1.1/24',
- 'interface Ethernet1/4',
- 'no ip redirects',
- 'ip unreachables'
- ]
- deleted = [
- 'interface Ethernet1/1',
- 'ip redirects',
- 'no ip unreachables',
- 'no ip address'
- ]
- replaced = [
- 'interface Ethernet1/1',
- 'ip redirects',
- 'no ip unreachables',
- 'ip address 192.168.1.1/24',
- 'interface Ethernet1/4',
- 'no ip redirects',
- 'ip unreachables'
- ]
- overridden = [
- 'interface Ethernet1/1',
- 'ip redirects',
- 'no ip unreachables',
- 'ip address 192.168.1.1/24',
- 'interface Ethernet1/5',
- 'ip redirects',
- 'interface Ethernet1/4',
- 'no ip redirects',
- 'ip unreachables'
- ]
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=merged)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- def test_7(self):
- # idempotence
- existing = dedent('''\
- interface Ethernet1/1
- ip address 10.1.1.1/24
- ip address 10.2.2.2/24 secondary tag 2
- ip address 10.3.3.3/24 secondary tag 3
- ip address 10.4.4.4/24 secondary
- ipv6 address 10::1/128
- ipv6 address 10::2/128 tag 2
- no ip redirects
- ip unreachables
- interface Ethernet1/2
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(name='Ethernet1/1', redirects=False, unreachables=True,
- ipv4=[{'address': '10.1.1.1/24'},
- {'address': '10.2.2.2/24', 'secondary': True, 'tag': 2},
- {'address': '10.3.3.3/24', 'secondary': True, 'tag': 3},
- {'address': '10.4.4.4/24', 'secondary': True}],
- ipv6=[{'address': '10::1/128'},
- {'address': '10::2/128', 'tag': 2}]),
- dict(name='Ethernet1/2')
- ])
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False)
-
- # Modify output for deleted idempotence test
- existing = dedent('''\
- interface Ethernet1/1
- interface Ethernet1/2
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False)
-
- def test_8(self):
- # no 'config' key in playbook
- existing = dedent('''\
- interface Ethernet1/1
- ip address 10.1.1.1/24
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict()
-
- for i in ['merged', 'replaced', 'overridden']:
- playbook['state'] = i
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(failed=True)
-
- deleted = [
- 'interface Ethernet1/1',
- 'no ip address',
- ]
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- def test_9(self):
- # Platform specific checks
- # 'ip redirects' has platform-specific behaviors
- existing = dedent('''\
- interface mgmt0
- ip address 10.0.0.254/24
- interface Ethernet1/3
- ip address 10.13.13.13/24
- interface Ethernet1/5
- no ip redirects
- ip address 10.15.15.15/24
- ip address 10.25.25.25/24 secondary
- ''')
- self.get_resource_connection_facts.return_value = {self.SHOW_CMD: existing}
- playbook = dict(config=[
- dict(name='Ethernet1/3'),
- dict(name='Ethernet1/5'),
- ])
- # Expected result commands for each 'state'
- deleted = [
- 'interface Ethernet1/3', 'no ip address',
- 'interface Ethernet1/5', 'no ip address', 'ip redirects'
- ]
- replaced = [
- 'interface Ethernet1/3', 'no ip address',
- 'interface Ethernet1/5', 'no ip address', 'ip redirects'
- ]
- overridden = [
- 'interface Ethernet1/3', 'no ip address',
- 'interface Ethernet1/5', 'no ip address', 'ip redirects'
- ]
- platform = 'N3K'
-
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=False, device=platform)
-
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted, device=platform)
-
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced, device=platform)
-
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden, device=platform)
diff --git a/test/units/modules/network/nxos/test_nxos_lldp_interfaces.py b/test/units/modules/network/nxos/test_nxos_lldp_interfaces.py
deleted file mode 100644
index fb70ed2e1c..0000000000
--- a/test/units/modules/network/nxos/test_nxos_lldp_interfaces.py
+++ /dev/null
@@ -1,236 +0,0 @@
-#
-# (c) 2019, Ansible by Red Hat, inc
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-#
-
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from ansible.modules.network.nxos import nxos_lldp_interfaces
-from units.compat.mock import patch, MagicMock
-from units.modules.utils import set_module_args
-from .nxos_module import TestNxosModule, load_fixture
-
-
-class TestNxosLldpInterfacesModule(TestNxosModule):
-
- module = nxos_lldp_interfaces
-
- def setUp(self):
- super(TestNxosLldpInterfacesModule, self).setUp()
-
- self.mock_get_config = patch(
- 'ansible.module_utils.network.common.network.Config.get_config')
- self.get_config = self.mock_get_config.start()
-
- self.mock_load_config = patch(
- 'ansible.module_utils.network.common.network.Config.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_resource_connection_config = patch(
- 'ansible.module_utils.network.common.cfg.base.get_resource_connection'
- )
- self.get_resource_connection_config = self.mock_get_resource_connection_config.start(
- )
-
- self.mock_get_resource_connection_facts = patch(
- 'ansible.module_utils.network.common.facts.facts.get_resource_connection'
- )
- self.get_resource_connection_facts = self.mock_get_resource_connection_facts.start()
-
- self.mock_edit_config = patch(
- 'ansible.module_utils.network.nxos.config.lldp_interfaces.lldp_interfaces.Lldp_interfaces.edit_config'
- )
- self.edit_config = self.mock_edit_config.start()
-
- self.mock_execute_show_command = patch(
- 'ansible.module_utils.network.nxos.facts.lldp_interfaces.lldp_interfaces.Lldp_interfacesFacts.get_device_data'
- )
- self.execute_show_command = self.mock_execute_show_command.start()
-
- def tearDown(self):
- super(TestNxosLldpInterfacesModule, self).tearDown()
- self.mock_get_resource_connection_config.stop()
- self.mock_get_resource_connection_facts.stop()
- self.mock_edit_config.stop()
- self.mock_get_config.stop()
- self.mock_load_config.stop()
- self.mock_execute_show_command.stop()
-
- def load_fixtures(self, commands=None, device=''):
- def load_from_file(*args, **kwargs):
- output = '''interface Ethernet1/1
- lldp receive
- no lldp transmit
- interface Ethernet1/2
- no lldp receive
- lldp tlv-set vlan 12'''
- return output
-
- self.execute_show_command.side_effect = load_from_file
-
- def test_nxos_lldp_interfaces_merged(self):
- set_module_args(
- dict(config=[
- dict(name="Ethernet1/3",
- receive=False,
- tlv_set=dict(
- vlan=123
- )
- )
- ], state="merged"))
- commands = ['interface Ethernet1/3',
- 'no lldp receive',
- 'lldp tlv-set vlan 123']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_lldp_interfaces_merged_idempotent(self):
- set_module_args(
- dict(config=[
- dict(name="Ethernet1/2",
- receive=False,
- tlv_set=dict(
- vlan=12
- )
- ),
- dict(name="Ethernet1/1",
- receive=True,
- transmit=False)
- ], state="merged"))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_lldp_interfaces_replaced(self):
- set_module_args(
- dict(config=[
- dict(name="Ethernet1/2",
- receive=True,
- transmit=False,
- tlv_set=dict(
- management_address='192.0.2.123'
- )
- )
- ], state="replaced"))
- commands = ['interface Ethernet1/2',
- 'lldp receive',
- 'no lldp transmit',
- 'no lldp tlv-set vlan 12',
- 'lldp tlv-set management-address 192.0.2.123']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_lldp_interfaces_replaced_idempotent(self):
- set_module_args(
- dict(config=[
- dict(name="Ethernet1/2",
- receive=False,
- tlv_set=dict(
- vlan=12
- )
- ),
- dict(name="Ethernet1/1",
- receive=True,
- transmit=False)
- ], state="replaced"))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_lldp_interfaces_overridden(self):
- set_module_args(
- dict(config=[
- dict(name="Ethernet1/4",
- receive=True,
- transmit=False
- )
- ], state="overridden"))
- commands = ['interface Ethernet1/4',
- 'lldp receive',
- 'no lldp transmit',
- 'interface Ethernet1/1',
- 'lldp receive',
- 'lldp transmit',
- 'interface Ethernet1/2',
- 'lldp receive',
- 'no lldp tlv-set vlan 12']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_lldp_interfaces_overridden_idempotent(self):
- set_module_args(
- dict(config=[
- dict(name="Ethernet1/2",
- receive=False,
- tlv_set=dict(
- vlan=12
- )
- ),
- dict(name="Ethernet1/1",
- receive=True,
- transmit=False)
- ], state="overridden"))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_lldp_interfaces_deleted_intf(self):
- set_module_args(
- dict(config=[
- dict(name="Ethernet1/2")
- ], state="deleted"))
- commands = ['interface Ethernet1/2',
- 'lldp receive',
- 'no lldp tlv-set vlan 12']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_lldp_interfaces_deleted_all(self):
- set_module_args(
- dict(state="deleted"))
- commands = ['interface Ethernet1/2',
- 'lldp receive',
- 'no lldp tlv-set vlan 12',
- 'interface Ethernet1/1',
- 'lldp receive',
- 'lldp transmit']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_lldp_interfaces_rendered(self):
- set_module_args(
- dict(config=[
- dict(name="Ethernet1/2",
- receive=False,
- tlv_set=dict(
- vlan=12
- )
- ),
- dict(name="Ethernet1/1",
- receive=True,
- transmit=False)
- ], state="rendered"))
- commands = ['interface Ethernet1/1',
- 'lldp receive',
- 'no lldp transmit',
- 'interface Ethernet1/2',
- 'no lldp receive',
- 'lldp tlv-set vlan 12']
- result = self.execute_module(changed=False)
- self.assertEqual(sorted(result['rendered']), sorted(
- commands), result['rendered'])
-
- def test_nxos_lldp_interfaces_parsed(self):
- set_module_args(dict(running_config='''interface Ethernet1/1
- lldp receive
- no lldp transmit
- interface Ethernet1/2
- no lldp receive
- lldp tlv-set vlan 12''', state="parsed"))
- result = self.execute_module(changed=False)
- compare_list = [{'name': 'Ethernet1/1', 'receive': True, 'transmit': False},
- {'name': 'Ethernet1/2', 'receive': False, 'tlv_set': {
- 'vlan': 12
- }}]
- self.assertEqual(result['parsed'],
- compare_list, result['parsed'])
-
- def test_nxos_lldp_interfaces_gathered(self):
- set_module_args(dict(state="gathered"))
- result = self.execute_module(changed=False)
- compare_list = [{'name': 'Ethernet1/1', 'receive': True, 'transmit': False},
- {'name': 'Ethernet1/2', 'receive': False, 'tlv_set': {
- 'vlan': 12
- }}]
- self.assertEqual(result['gathered'],
- compare_list, result['gathered'])
diff --git a/test/units/modules/network/nxos/test_nxos_nxapi.py b/test/units/modules/network/nxos/test_nxos_nxapi.py
deleted file mode 100644
index c0eae1a341..0000000000
--- a/test/units/modules/network/nxos/test_nxos_nxapi.py
+++ /dev/null
@@ -1,74 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_nxapi
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosNxapiModule(TestNxosModule):
-
- module = nxos_nxapi
-
- def setUp(self):
- super(TestNxosNxapiModule, self).setUp()
-
- self.mock_run_commands = patch('ansible.modules.network.nxos.nxos_nxapi.run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_nxapi.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_capabilities = patch('ansible.modules.network.nxos.nxos_nxapi.get_capabilities')
- self.get_capabilities = self.mock_get_capabilities.start()
- self.get_capabilities.return_value = {'device_info': {'network_os_platform': 'N7K-C7018', 'network_os_version': '8.3(1)'}, 'network_api': 'cliconf'}
-
- def tearDown(self):
- super(TestNxosNxapiModule, self).tearDown()
- self.mock_run_commands.stop()
- self.mock_load_config.stop()
- self.mock_get_capabilities.stop()
-
- def load_fixtures(self, commands=None, device=''):
- def load_from_file(*args, **kwargs):
- module, commands = args
- module_name = self.module.__name__.rsplit('.', 1)[1]
-
- output = list()
- for command in commands:
- filename = str(command).split(' | ')[0].replace(' ', '_')
- output.append(load_fixture(module_name, filename, device))
- return output
-
- self.run_commands.side_effect = load_from_file
- self.load_config.return_value = None
-
- def test_nxos_nxapi_no_change(self):
- set_module_args(dict(http=True, https=False, http_port=80, https_port=443, sandbox=False))
- self.execute_module_devices(changed=False, commands=[])
-
- def test_nxos_nxapi_disable(self):
- set_module_args(dict(state='absent'))
- self.execute_module_devices(changed=True, commands=['no feature nxapi'])
-
- def test_nxos_nxapi_no_http(self):
- set_module_args(dict(https=True, http=False, https_port=8443))
- self.execute_module_devices(changed=True, commands=['no nxapi http', 'nxapi https port 8443'])
diff --git a/test/units/modules/network/nxos/test_nxos_ospf.py b/test/units/modules/network/nxos/test_nxos_ospf.py
deleted file mode 100644
index 6f5cb3df82..0000000000
--- a/test/units/modules/network/nxos/test_nxos_ospf.py
+++ /dev/null
@@ -1,56 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_ospf
-from .nxos_module import TestNxosModule, set_module_args
-
-
-class TestNxosOspfModule(TestNxosModule):
-
- module = nxos_ospf
-
- def setUp(self):
- super(TestNxosOspfModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_ospf.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_ospf.get_config')
- self.get_config = self.mock_get_config.start()
-
- def tearDown(self):
- super(TestNxosOspfModule, self).tearDown()
- self.mock_load_config.stop()
- self.mock_get_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.load_config.return_value = None
-
- def test_nxos_ospf_present(self):
- set_module_args(dict(ospf=1, state='present'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['router ospf 1'])
-
- def test_nxos_ospf_absent(self):
- set_module_args(dict(ospf=1, state='absent'))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
diff --git a/test/units/modules/network/nxos/test_nxos_ospf_vrf.py b/test/units/modules/network/nxos/test_nxos_ospf_vrf.py
deleted file mode 100644
index 165d127437..0000000000
--- a/test/units/modules/network/nxos/test_nxos_ospf_vrf.py
+++ /dev/null
@@ -1,128 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_ospf_vrf
-from .nxos_module import TestNxosModule, set_module_args
-
-
-class TestNxosOspfVrfModule(TestNxosModule):
-
- module = nxos_ospf_vrf
-
- def setUp(self):
- super(TestNxosOspfVrfModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_ospf_vrf.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_ospf_vrf.get_config')
- self.get_config = self.mock_get_config.start()
-
- def tearDown(self):
- super(TestNxosOspfVrfModule, self).tearDown()
- self.mock_load_config.stop()
- self.mock_get_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.load_config.return_value = None
-
- def test_nxos_ospf_vrf_present(self):
- set_module_args(dict(ospf=1,
- vrf='test',
- timer_throttle_spf_start=50,
- timer_throttle_spf_hold=1000,
- timer_throttle_spf_max=2000,
- timer_throttle_lsa_start=60,
- timer_throttle_lsa_hold=1100,
- timer_throttle_lsa_max=3000,
- bfd='enable',
- state='present'))
- result = self.execute_module(changed=True)
- self.assertEqual(sorted(result['commands']),
- sorted(['router ospf 1',
- 'vrf test',
- 'timers throttle lsa 60 1100 3000',
- 'timers throttle spf 50 1000 2000',
- 'bfd',
- ]))
-
- def test_nxos_ospf_vrf_absent(self):
- set_module_args(dict(ospf=1, vrf='test', state='absent'))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_bfd_1(self):
- self.get_config.return_value = 'router ospf 1\n bfd\nrouter ospf 2'
- # enable -> disable
- set_module_args(dict(
- ospf=1,
- bfd='disable',
- ))
- self.execute_module(changed=True, commands=[
- 'router ospf 1',
- 'no bfd',
- ])
-
- # disable -> enable
- set_module_args(dict(
- ospf=2,
- bfd='enable',
- ))
- self.execute_module(changed=True, commands=[
- 'router ospf 2',
- 'bfd',
- ])
-
- def test_bfd_2(self):
- # enable idempotence
- self.get_config.return_value = 'router ospf 1\n bfd\nrouter ospf 2'
- set_module_args(dict(
- ospf=1,
- bfd='enable',
- ))
- self.execute_module(changed=False)
-
- # disable idempotence
- set_module_args(dict(
- ospf=2,
- bfd='disable',
- ))
- self.execute_module(changed=False)
-
- def test_bfd_3(self):
- # absent tests
- self.get_config.return_value = 'router ospf 1\n bfd\nrouter ospf 2'
- set_module_args(dict(
- ospf=1,
- state='absent'
- ))
- self.execute_module(changed=True, commands=[
- 'router ospf 1',
- 'no bfd',
- ])
-
- # absent w/bfd disable
- set_module_args(dict(
- ospf=2,
- state='absent'
- ))
- self.execute_module(changed=False)
diff --git a/test/units/modules/network/nxos/test_nxos_overlay_global.py b/test/units/modules/network/nxos/test_nxos_overlay_global.py
deleted file mode 100644
index ffbfe73e8d..0000000000
--- a/test/units/modules/network/nxos/test_nxos_overlay_global.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_overlay_global
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosOverlayGlobalModule(TestNxosModule):
-
- module = nxos_overlay_global
-
- def setUp(self):
- super(TestNxosOverlayGlobalModule, self).setUp()
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_overlay_global.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_overlay_global.get_config')
- self.get_config = self.mock_get_config.start()
-
- def tearDown(self):
- super(TestNxosOverlayGlobalModule, self).tearDown()
- self.mock_load_config.stop()
- self.mock_get_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.get_config.return_value = load_fixture('', 'nxos_overlay_global_config.cfg')
- self.load_config.return_value = None
-
- def test_nxos_overlay_global_up(self):
- set_module_args(dict(anycast_gateway_mac="a.a.a"))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['fabric forwarding anycast-gateway-mac 000A.000A.000A'])
diff --git a/test/units/modules/network/nxos/test_nxos_pim.py b/test/units/modules/network/nxos/test_nxos_pim.py
deleted file mode 100644
index f4aa433245..0000000000
--- a/test/units/modules/network/nxos/test_nxos_pim.py
+++ /dev/null
@@ -1,100 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_pim
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosPimModule(TestNxosModule):
-
- module = nxos_pim
-
- def setUp(self):
- super(TestNxosPimModule, self).setUp()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_pim.get_config')
- self.get_config = self.mock_get_config.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_pim.load_config')
- self.load_config = self.mock_load_config.start()
-
- def tearDown(self):
- super(TestNxosPimModule, self).tearDown()
- self.mock_get_config.stop()
- self.mock_load_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.load_config.return_value = None
-
- def test_nxos_pim_1(self):
- # Add/ Modify
- self.get_config.return_value = load_fixture('nxos_pim', 'config.cfg')
- set_module_args(dict(ssm_range='233.0.0.0/8'))
- self.execute_module(changed=True, commands=[
- 'ip pim ssm range 233.0.0.0/8',
- ])
-
- def test_nxos_pim_2(self):
- # Remove existing values
- self.get_config.return_value = load_fixture('nxos_pim', 'config.cfg')
- set_module_args(dict(bfd='disable', ssm_range='none'))
- self.execute_module(changed=True, commands=[
- 'no ip pim bfd',
- 'ip pim ssm range none',
- ])
-
- def test_nxos_pim_3(self):
- # bfd None (disable)-> enable
- self.get_config.return_value = None
- set_module_args(dict(bfd='enable'))
- self.execute_module(changed=True, commands=['ip pim bfd'])
-
- # bfd None (disable) -> disable
- set_module_args(dict(bfd='disable'))
- self.execute_module(changed=False)
-
- # ssm None to 'default'
- set_module_args(dict(ssm_range='default'))
- self.execute_module(changed=False)
-
- def test_nxos_pim_4(self):
- # SSM 'none'
- self.get_config.return_value = load_fixture('nxos_pim', 'config.cfg')
- set_module_args(dict(ssm_range='none'))
- self.execute_module(changed=True, commands=['ip pim ssm range none'])
-
- def test_nxos_pim_5(self):
- # SSM 'default'
- self.get_config.return_value = load_fixture('nxos_pim', 'config.cfg')
- set_module_args(dict(ssm_range='default'))
- self.execute_module(changed=True, commands=['no ip pim ssm range none'])
-
- # SSM 'default' idempotence
- self.get_config.return_value = None
- set_module_args(dict(ssm_range='default'))
- self.execute_module(changed=False)
-
- def test_nxos_pim_6(self):
- # Idempotence
- self.get_config.return_value = load_fixture('nxos_pim', 'config.cfg')
- set_module_args(dict(bfd='enable', ssm_range='127.0.0.0/31'))
- self.execute_module(changed=False, commands=[])
diff --git a/test/units/modules/network/nxos/test_nxos_pim_interface.py b/test/units/modules/network/nxos/test_nxos_pim_interface.py
deleted file mode 100644
index 0248d77401..0000000000
--- a/test/units/modules/network/nxos/test_nxos_pim_interface.py
+++ /dev/null
@@ -1,249 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_pim_interface
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosIPInterfaceModule(TestNxosModule):
-
- module = nxos_pim_interface
-
- def setUp(self):
- super(TestNxosIPInterfaceModule, self).setUp()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_pim_interface.get_config')
- self.get_config = self.mock_get_config.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_pim_interface.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_run_commands = patch('ansible.modules.network.nxos.nxos_pim_interface.run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- def tearDown(self):
- super(TestNxosIPInterfaceModule, self).tearDown()
- self.mock_get_config.stop()
- self.mock_load_config.stop()
- self.mock_run_commands.stop()
-
- def load_fixtures(self, commands=None, device=''):
- module_name = self.module.__name__.rsplit('.', 1)[1]
-
- def load_from_file(*args, **kwargs):
- module, commands = args
- output = list()
-
- for command in commands:
- if type(command) == dict:
- command = command['command']
- filename = str(command).split(' | ')[0].replace(' ', '_').replace('/', '_')
- output.append(load_fixture(module_name, filename))
- return output
-
- self.get_config.return_value = load_fixture(module_name, 'config.cfg')
- self.load_config.return_value = None
- self.run_commands.side_effect = load_from_file
-
- def test_nxos_pim_interface_present(self):
- set_module_args(dict(interface='eth2/1', dr_prio=10, hello_interval=40, sparse=True, border=False))
- self.execute_module(
- changed=True,
- commands=[
- 'interface eth2/1', 'ip pim dr-priority 10', 'ip pim hello-interval 40000',
- 'ip pim sparse-mode']
- )
-
- def test_nxos_pim_interface_jp(self):
- set_module_args(dict(
- interface='eth2/1', jp_policy_in='JPIN', jp_policy_out='JPOUT',
- jp_type_in='routemap', jp_type_out='routemap',
- ))
- self.execute_module(
- changed=True,
- commands=['interface eth2/1', 'ip pim jp-policy JPOUT out',
- 'ip pim jp-policy JPIN in']
- )
-
- def test_nxos_pim_interface_default(self):
- set_module_args(dict(interface='eth2/1', state='default'))
- self.execute_module(
- changed=False,
- commands=[]
- )
-
- def test_nxos_pim_interface_ip_absent(self):
- set_module_args(dict(interface='eth2/1', state='absent'))
- self.execute_module(changed=False, commands=[])
-
-
-class TestNxosPimInterfaceBfdModule(TestNxosModule):
-
- module = nxos_pim_interface
-
- def setUp(self):
- super(TestNxosPimInterfaceBfdModule, self).setUp()
-
- self.mock_get_interface_mode = patch('ansible.modules.network.nxos.nxos_pim_interface.get_interface_mode')
- self.get_interface_mode = self.mock_get_interface_mode.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_pim_interface.get_config')
- self.get_config = self.mock_get_config.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_pim_interface.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_run_commands = patch('ansible.modules.network.nxos.nxos_pim_interface.run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- def tearDown(self):
- super(TestNxosPimInterfaceBfdModule, self).tearDown()
- self.mock_get_interface_mode.stop()
- self.mock_get_config.stop()
- self.mock_load_config.stop()
- self.mock_run_commands.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.load_config.return_value = None
-
- def test_bfd_1(self):
- # default (None) -> enable
- self.get_config.return_value = None
- set_module_args(dict(interface='eth2/1', bfd='enable'))
- self.execute_module(
- changed=True,
- commands=[
- 'interface eth2/1',
- 'ip pim bfd-instance',
- ])
-
- # default (None) -> disable
- set_module_args(dict(interface='eth2/1', bfd='disable'))
- self.execute_module(
- changed=True,
- commands=[
- 'interface eth2/1',
- 'ip pim bfd-instance disable',
- ])
-
- # default (None) -> default (None) (idempotence)
- set_module_args(dict(interface='eth2/1', bfd='default'))
- self.execute_module(changed=False,)
-
- # default (None) -> interface state 'default'
- set_module_args(dict(interface='Ethernet9/3', state='default'))
- self.execute_module(changed=False,)
-
- # default (None) -> interface state 'absent'
- set_module_args(dict(interface='Ethernet9/3', state='absent'))
- self.execute_module(changed=False,)
-
- def test_bfd_2(self):
- # From disable
- self.get_config.return_value = '''
- interface Ethernet9/2
- ip pim bfd-instance disable
- '''
- # disable -> enable
- set_module_args(dict(interface='Ethernet9/2', bfd='enable'))
- self.execute_module(
- changed=True,
- commands=[
- 'interface Ethernet9/2',
- 'ip pim bfd-instance',
- ])
-
- # disable -> disable (idempotence)
- set_module_args(dict(interface='Ethernet9/2', bfd='disable'))
- self.execute_module(changed=False,)
-
- # disable -> default (None)
- set_module_args(dict(interface='Ethernet9/2', bfd='default'))
- self.execute_module(
- changed=True,
- commands=[
- 'interface Ethernet9/2',
- 'no ip pim bfd-instance',
- ])
- # disable -> interface state 'default'
- set_module_args(dict(interface='Ethernet9/3', state='default'))
- self.execute_module(
- changed=True,
- commands=[
- 'interface Ethernet9/3',
- 'no ip pim bfd-instance',
- ])
-
- # disable -> interface state 'absent'
- set_module_args(dict(interface='Ethernet9/3', state='absent'))
- self.execute_module(
- changed=True,
- commands=[
- 'interface Ethernet9/3',
- 'no ip pim bfd-instance',
- ])
-
- def test_bfd_3(self):
- # From enable
- self.get_config.return_value = '''
- interface Ethernet9/2
- ip pim bfd-instance
- '''
- # enable -> disabled
- set_module_args(dict(interface='Ethernet9/3', bfd='disable'))
- self.execute_module(
- changed=True,
- commands=[
- 'interface Ethernet9/3',
- 'ip pim bfd-instance disable',
- ])
-
- # enable -> enable (idempotence)
- set_module_args(dict(interface='Ethernet9/3', bfd='enable'))
- self.execute_module(changed=False,)
-
- # enable -> default (None)
- set_module_args(dict(interface='Ethernet9/3', bfd='default'))
- self.execute_module(
- changed=True,
- commands=[
- 'interface Ethernet9/3',
- 'no ip pim bfd-instance',
- ])
-
- # enable -> interface state 'default'
- set_module_args(dict(interface='Ethernet9/3', state='default'))
- self.execute_module(
- changed=True,
- commands=[
- 'interface Ethernet9/3',
- 'no ip pim bfd-instance',
- ])
-
- # enable -> interface state 'absent'
- set_module_args(dict(interface='Ethernet9/3', state='absent'))
- self.execute_module(
- changed=True,
- commands=[
- 'interface Ethernet9/3',
- 'no ip pim bfd-instance',
- ])
diff --git a/test/units/modules/network/nxos/test_nxos_pim_rp_address.py b/test/units/modules/network/nxos/test_nxos_pim_rp_address.py
deleted file mode 100644
index f6e8919daf..0000000000
--- a/test/units/modules/network/nxos/test_nxos_pim_rp_address.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_pim_rp_address
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosPimRpAddressModule(TestNxosModule):
-
- module = nxos_pim_rp_address
-
- def setUp(self):
- super(TestNxosPimRpAddressModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_pim_rp_address.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_pim_rp_address.get_config')
- self.get_config = self.mock_get_config.start()
-
- def tearDown(self):
- super(TestNxosPimRpAddressModule, self).tearDown()
- self.mock_load_config.stop()
- self.mock_get_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.get_config.return_value = load_fixture('nxos_pim_rp_address', 'config.cfg')
- self.load_config.return_value = None
-
- def test_nxos_pim_rp_address(self):
- set_module_args(dict(rp_address='5.6.7.8'))
- self.execute_module(changed=True, commands=['ip pim rp-address 5.6.7.8'])
-
- def test_nxos_pim_rp_address_no_change(self):
- set_module_args(dict(rp_address='1.2.3.4'))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_pim_rp_address_absent(self):
- set_module_args(dict(rp_address='1.2.3.4', state='absent'))
- self.execute_module(changed=True, commands=['no ip pim rp-address 1.2.3.4'])
-
- def test_nxos_pim_rp_address_absent_no_change(self):
- set_module_args(dict(rp_address='5.6.7.8', state='absent'))
- self.execute_module(changed=False, commands=[])
diff --git a/test/units/modules/network/nxos/test_nxos_static_route.py b/test/units/modules/network/nxos/test_nxos_static_route.py
deleted file mode 100644
index cb9d13cc1a..0000000000
--- a/test/units/modules/network/nxos/test_nxos_static_route.py
+++ /dev/null
@@ -1,79 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_static_route
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosStaticRouteModule(TestNxosModule):
-
- module = nxos_static_route
-
- def setUp(self):
- super(TestNxosStaticRouteModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_static_route.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_static_route.get_config')
- self.get_config = self.mock_get_config.start()
-
- def tearDown(self):
- super(TestNxosStaticRouteModule, self).tearDown()
- self.mock_load_config.stop()
- self.mock_get_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.get_config.return_value = load_fixture('', 'nxos_static_route.cfg')
- self.load_config.return_value = None
-
- def test_nxos_static_route_present(self):
- set_module_args(dict(prefix='192.168.20.64/24', next_hop='192.0.2.3'))
- self.execute_module(changed=True, commands=['ip route 192.168.20.0/24 192.0.2.3'])
-
- def test_nxos_static_route_present_no_defaults(self):
- set_module_args(dict(prefix='192.168.20.64/24', next_hop='192.0.2.3',
- route_name='testing', pref=100))
- self.execute_module(changed=True, commands=['ip route 192.168.20.0/24 192.0.2.3 name testing 100'])
-
- def test_nxos_static_route_present_vrf(self):
- set_module_args(dict(prefix='192.168.20.64/24', next_hop='192.0.2.3', vrf='test'))
- self.execute_module(changed=True, sort=False, commands=['vrf context test', 'ip route 192.168.20.0/24 192.0.2.3'])
-
- def test_nxos_static_route_no_change(self):
- set_module_args(dict(prefix='10.10.30.64/24', next_hop='1.2.4.8'))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_static_route_absent(self):
- set_module_args(dict(prefix='10.10.30.12/24', next_hop='1.2.4.8', state='absent'))
- self.execute_module(changed=True, commands=['no ip route 10.10.30.0/24 1.2.4.8'])
-
- def test_nxos_static_route_absent_no_change(self):
- set_module_args(dict(prefix='192.168.20.6/24', next_hop='192.0.2.3', state='absent'))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_static_route_absent_vrf(self):
- set_module_args(dict(prefix='10.11.12.13/14', next_hop='15.16.17.18', vrf='test', state='absent'))
- self.execute_module(
- changed=True, sort=False,
- commands=['vrf context test', 'no ip route 10.8.0.0/14 15.16.17.18']
- )
diff --git a/test/units/modules/network/nxos/test_nxos_system.py b/test/units/modules/network/nxos/test_nxos_system.py
deleted file mode 100644
index 6f38dd3893..0000000000
--- a/test/units/modules/network/nxos/test_nxos_system.py
+++ /dev/null
@@ -1,130 +0,0 @@
-#
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_system
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosSystemModule(TestNxosModule):
-
- module = nxos_system
-
- def setUp(self):
- super(TestNxosSystemModule, self).setUp()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_system.get_config')
- self.get_config = self.mock_get_config.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_system.load_config')
- self.load_config = self.mock_load_config.start()
-
- def tearDown(self):
- super(TestNxosSystemModule, self).tearDown()
- self.mock_get_config.stop()
- self.mock_load_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.get_config.return_value = load_fixture('', 'nxos_system_config.cfg')
- self.load_config.return_value = None
-
- def test_nxos_system_hostname_changed(self):
- set_module_args(dict(hostname='foo'))
- commands = ['hostname foo']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_system_domain_lookup(self):
- set_module_args(dict(domain_lookup=True))
- commands = ['ip domain-lookup']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_system_missing_vrf(self):
- domain_name = dict(name='example.com', vrf='example')
- set_module_args(dict(domain_name=domain_name))
- self.execute_module(failed=True)
-
- def test_nxos_system_domain_name(self):
- set_module_args(dict(domain_name=['example.net']))
- commands = ['no ip domain-name ansible.com',
- 'vrf context management', 'no ip domain-name eng.ansible.com', 'exit',
- 'ip domain-name example.net']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_system_domain_name_complex(self):
- domain_name = dict(name='example.net', vrf='management')
- set_module_args(dict(domain_name=[domain_name]))
- commands = ['no ip domain-name ansible.com',
- 'vrf context management', 'no ip domain-name eng.ansible.com', 'exit',
- 'vrf context management', 'ip domain-name example.net', 'exit']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_system_domain_search(self):
- set_module_args(dict(domain_search=['example.net']))
- commands = ['vrf context management', 'no ip domain-list ansible.com', 'exit',
- 'vrf context management', 'no ip domain-list redhat.com', 'exit',
- 'no ip domain-list ansible.com', 'no ip domain-list redhat.com',
- 'ip domain-list example.net']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_system_domain_search_complex(self):
- domain_search = dict(name='example.net', vrf='management')
- set_module_args(dict(domain_search=[domain_search]))
- commands = ['vrf context management', 'no ip domain-list ansible.com', 'exit',
- 'vrf context management', 'no ip domain-list redhat.com', 'exit',
- 'no ip domain-list ansible.com', 'no ip domain-list redhat.com',
- 'vrf context management', 'ip domain-list example.net', 'exit']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_system_name_servers(self):
- set_module_args(dict(name_servers=['1.2.3.4', '8.8.8.8']))
- commands = ['no ip name-server 172.26.1.1',
- 'vrf context management', 'no ip name-server 8.8.8.8', 'exit',
- 'vrf context management', 'no ip name-server 172.26.1.1', 'exit',
- 'ip name-server 1.2.3.4']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_system_name_servers_complex(self):
- name_servers = dict(server='1.2.3.4', vrf='management')
- set_module_args(dict(name_servers=[name_servers]))
- commands = ['no ip name-server 8.8.8.8', 'no ip name-server 172.26.1.1',
- 'vrf context management', 'no ip name-server 8.8.8.8', 'exit',
- 'vrf context management', 'no ip name-server 172.26.1.1', 'exit',
- 'vrf context management', 'ip name-server 1.2.3.4', 'exit']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_system_system_mtu(self):
- set_module_args(dict(system_mtu=2000))
- commands = ['system jumbomtu 2000']
- self.execute_module(changed=True, commands=commands)
-
- def test_nxos_system_state_absent(self):
- set_module_args(dict(state='absent'))
- commands = ['no hostname', 'no ip domain-name ansible.com',
- 'vrf context management', 'no ip domain-name eng.ansible.com', 'exit',
- 'no ip domain-list ansible.com', 'no ip domain-list redhat.com',
- 'vrf context management', 'no ip domain-list ansible.com', 'exit',
- 'vrf context management', 'no ip domain-list redhat.com', 'exit',
- 'no ip name-server 8.8.8.8', 'no ip name-server 172.26.1.1',
- 'vrf context management', 'no ip name-server 8.8.8.8', 'exit',
- 'vrf context management', 'no ip name-server 172.26.1.1', 'exit',
- 'no system jumbomtu']
- self.execute_module(changed=True, commands=commands)
diff --git a/test/units/modules/network/nxos/test_nxos_telemetry.py b/test/units/modules/network/nxos/test_nxos_telemetry.py
deleted file mode 100644
index a752ab8615..0000000000
--- a/test/units/modules/network/nxos/test_nxos_telemetry.py
+++ /dev/null
@@ -1,1256 +0,0 @@
-# (c) 2019 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from units.modules.utils import AnsibleFailJson
-from ansible.modules.network.nxos import nxos_telemetry
-from ansible.module_utils.network.nxos.nxos import NxosCmdRef
-from ansible.module_utils.network.nxos.config.telemetry.telemetry import Telemetry
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-# TBD: These imports / import checks are only needed as a workaround for
-# shippable, which fails this test due to import yaml & import ordereddict.
-import pytest
-from ansible.module_utils.network.nxos.nxos import nxosCmdRef_import_check
-msg = nxosCmdRef_import_check()
-ignore_provider_arg = True
-
-
-@pytest.mark.skipif(len(msg), reason=msg)
-class TestNxosTelemetryModule(TestNxosModule):
-
- module = nxos_telemetry
-
- def setUp(self):
- super(TestNxosTelemetryModule, self).setUp()
-
- self.mock_FACT_LEGACY_SUBSETS = patch('ansible.module_utils.network.nxos.facts.facts.FACT_LEGACY_SUBSETS')
- self.FACT_LEGACY_SUBSETS = self.mock_FACT_LEGACY_SUBSETS.start()
-
- self.mock_get_resource_connection_config = patch('ansible.module_utils.network.common.cfg.base.get_resource_connection')
- self.get_resource_connection_config = self.mock_get_resource_connection_config.start()
-
- self.mock_get_resource_connection_facts = patch('ansible.module_utils.network.common.facts.facts.get_resource_connection')
- self.get_resource_connection_facts = self.mock_get_resource_connection_facts.start()
-
- self.mock_edit_config = patch('ansible.module_utils.network.nxos.config.telemetry.telemetry.Telemetry.edit_config')
- self.edit_config = self.mock_edit_config.start()
-
- self.mock_execute_show_command = patch('ansible.module_utils.network.nxos.nxos.NxosCmdRef.execute_show_command')
- self.execute_show_command = self.mock_execute_show_command.start()
-
- self.mock_get_platform_shortname = patch('ansible.module_utils.network.nxos.nxos.NxosCmdRef.get_platform_shortname')
- self.get_platform_shortname = self.mock_get_platform_shortname.start()
-
- def tearDown(self):
- super(TestNxosTelemetryModule, self).tearDown()
- self.mock_FACT_LEGACY_SUBSETS.stop()
- self.mock_get_resource_connection_config.stop()
- self.mock_get_resource_connection_facts.stop()
- self.mock_edit_config.stop()
- self.mock_execute_show_command.stop()
- self.get_platform_shortname.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.mock_FACT_LEGACY_SUBSETS.return_value = dict()
- self.get_resource_connection_config.return_value = 'Connection'
- self.get_resource_connection_facts.return_value = 'Connection'
- self.edit_config.return_value = None
-
- # ---------------------------
- # Telemetry Global Test Cases
- # ---------------------------
-
- def test_tms_global_merged_n9k(self):
- # Assumes feature telemetry is disabled
- # TMS global config is not present.
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args(dict(
- config=dict(
- certificate={'key': '/bootflash/sample.key', 'hostname': 'server.example.com'},
- compression='gzip',
- source_interface='Ethernet2/1',
- vrf='blue',
- )
- ), ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'certificate /bootflash/sample.key server.example.com',
- 'destination-profile',
- 'use-compression gzip',
- 'source-interface Ethernet2/1',
- 'use-vrf blue'
- ])
-
- def test_tms_global_checkmode_n9k(self):
- # Assumes feature telemetry is disabled
- # TMS global config is not present.
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args(dict(
- _ansible_check_mode=True,
- config=dict(
- certificate={'key': '/bootflash/sample.key', 'hostname': 'server.example.com'},
- compression='gzip',
- source_interface='Ethernet2/1',
- vrf='blue',
- )
- ), ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'certificate /bootflash/sample.key server.example.com',
- 'destination-profile',
- 'use-compression gzip',
- 'source-interface Ethernet2/1',
- 'use-vrf blue'
- ])
-
- def test_tms_global_merged2_n9k(self):
- # Assumes feature telemetry is disabled
- # TMS global config is not present.
- # Configure only vrf
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args(dict(
- config=dict(
- vrf='blue',
- )
- ), ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'destination-profile',
- 'use-vrf blue'
- ])
-
- def test_tms_global_idempotent_n9k(self):
- # Assumes feature telemetry is enabled
- # TMS global config is present.
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args(dict(
- config=dict(
- certificate={'key': '/bootflash/server.key', 'hostname': 'localhost'},
- compression='gzip',
- source_interface='loopback55',
- vrf='management',
- )
- ), ignore_provider_arg)
- self.execute_module(changed=False)
-
- def test_tms_global_change_cert_n9k(self):
- # Assumes feature telemetry is enabled
- # TMS global config is present
- # Change certificate
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args(dict(
- config=dict(
- certificate={'key': '/bootflash/server.key', 'hostname': 'my_host'},
- compression='gzip',
- source_interface='loopback55',
- vrf='management',
- )
- ), ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'telemetry',
- 'certificate /bootflash/server.key my_host'
- ])
-
- def test_tms_global_change_interface_n9k(self):
- # Assumes feature telemetry is enabled
- # TMS global config is present
- # Change interface
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args(dict(
- config=dict(
- certificate={'key': '/bootflash/server.key', 'hostname': 'localhost'},
- compression='gzip',
- source_interface='Ethernet8/1',
- vrf='management',
- )
- ), ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'telemetry',
- 'destination-profile',
- 'source-interface Ethernet8/1'
- ])
-
- def test_tms_global_change_several_n9k(self):
- # Assumes feature telemetry is enabled
- # TMS global config is present
- # Change source_interface, vrf and cert
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args(dict(
- config=dict(
- certificate={'key': '/bootflash/server_5.key', 'hostname': 'my_host'},
- compression='gzip',
- source_interface='Ethernet8/1',
- vrf='blue',
- )
- ), ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'telemetry',
- 'certificate /bootflash/server_5.key my_host',
- 'destination-profile',
- 'source-interface Ethernet8/1',
- 'use-vrf blue',
- ])
-
- # ------------------------------
- # Telemetry DestGroup Test Cases
- # ------------------------------
-
- def test_tms_destgroup_input_validation_1(self):
- # Mandatory parameter 'id' missing.
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'destination': {'ip': '192.168.1.1', 'port': '5001', 'protocol': 'GRPC', 'encoding': 'GPB'}}
- ], 'destination_groups')
- set_module_args(args, ignore_provider_arg)
- with pytest.raises(AnsibleFailJson) as errinfo:
- self.execute_module()
- testdata = errinfo.value.args[0]
- assert 'Parameter <id> under <destination_groups> is required' in str(testdata['msg'])
- assert testdata['failed']
-
- def test_tms_destgroup_input_validation_2(self):
- # Parameter 'destination' is not a dict.
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '88',
- 'destination': '192.168.1.1',
- }
- ], 'destination_groups')
- set_module_args(args, ignore_provider_arg)
- with pytest.raises(AnsibleFailJson) as errinfo:
- self.execute_module()
- testdata = errinfo.value.args[0]
- assert "Parameter <destination> under <destination_groups> must be a dict" in str(testdata['msg'])
- assert testdata['failed']
-
- def test_tms_destgroup_input_validation_3(self):
- # Parameter 'destination' is not a dict.
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '88',
- 'ip': '192.168.1.1',
- 'port': '5001'
- }
- ], 'destination_groups')
- set_module_args(args, ignore_provider_arg)
- with pytest.raises(AnsibleFailJson) as errinfo:
- self.execute_module()
- testdata = errinfo.value.args[0]
- assert 'Playbook entry contains unrecongnized parameters' in str(testdata['msg'])
- assert testdata['failed']
-
- def test_tms_destgroup_merged_n9k(self):
- # Assumes feature telemetry is enabled
- # TMS destgroup config is not present.
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '88',
- 'destination': {'ip': '192.168.1.1', 'port': '5001', 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- {'id': '88',
- 'destination': {'ip': '192.168.1.2', 'port': '6001', 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- {'id': '99',
- 'destination': {'ip': '192.168.1.2', 'port': '6001', 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- {'id': '99',
- 'destination': {'ip': '192.168.1.1', 'port': '5001', 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- ], 'destination_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'destination-group 88',
- 'ip address 192.168.1.1 port 5001 protocol grpc encoding gpb',
- 'ip address 192.168.1.2 port 6001 protocol grpc encoding gpb',
- 'destination-group 99',
- 'ip address 192.168.1.2 port 6001 protocol grpc encoding gpb',
- 'ip address 192.168.1.1 port 5001 protocol grpc encoding gpb',
- ])
-
- def test_tms_destgroup_checkmode_n9k(self):
- # Assumes feature telemetry is enabled
- # TMS destgroup config is not present.
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '88',
- 'destination': {'ip': '192.168.1.1', 'port': '5001', 'protocol': 'GRPC', 'encoding': 'GPB'},
- }
- ], 'destination_groups', state='merged', check_mode=True)
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'destination-group 88',
- 'ip address 192.168.1.1 port 5001 protocol grpc encoding gpb'
- ])
-
- def test_tms_destgroup_merged2_n9k(self):
- # Assumes feature telemetry is enabled
- # TMS destgroup config is not present.
- # Configure only identifier
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '88'}
- ], 'destination_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'destination-group 88',
- ])
-
- def test_tms_destgroup_idempotent_n9k(self):
- # Assumes feature telemetry is enabled
- # TMS destgroup config is not present.
- # Configure only identifier
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '2',
- 'destination': {'ip': '192.168.0.2', 'port': '60001', 'protocol': 'grpc', 'encoding': 'gpb'},
- }
- ], 'destination_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=False)
-
- def test_tms_destgroup_idempotent2_n9k(self):
- # Assumes feature telemetry is enabled
- # TMS destgroup config is not present.
- # Configure only identifier
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '2'}
- ], 'destination_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=False)
-
- def test_tms_destgroup_merged_aggregate_idempotent_n9k(self):
- # Assumes feature telemetry is enabled
- # TMS destgroup config is present.
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '2',
- 'destination': {'ip': '192.168.0.1', 'port': '50001', 'protocol': 'gRPC', 'encoding': 'gpb'}
- },
- {'id': '10',
- 'destination': {'ip': '192.168.0.1', 'port': '50001', 'protocol': 'gRPC', 'encoding': 'gpb'}
- }
- ], 'destination_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=False)
-
- def test_tms_destgroup_change_n9k(self):
- # TMS destgroup config is not present.
- # Change protocol and encoding for dest group 2
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '2',
- 'destination': {'ip': '192.168.0.1', 'port': '50001', 'protocol': 'http', 'encoding': 'JSON'}
- },
- {'id': '10',
- 'destination': {'ip': '192.168.0.1', 'port': '50001', 'protocol': 'gRPC', 'encoding': 'gpb'}
- }
- ], 'destination_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'telemetry', 'destination-group 2',
- 'ip address 192.168.0.1 port 50001 protocol http encoding json'
- ])
-
- def test_tms_destgroup_add_n9k(self):
- # TMS destgroup config is not present.
- # Add destinations to destgroup 10
- # Add new destgroup 55 and 56
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '10',
- 'destination': {'ip': '192.168.0.1', 'port': '50001', 'protocol': 'gRPC', 'encoding': 'gpb'}
- },
- {'id': '10',
- 'destination': {'ip': '192.168.0.10', 'port': '50001', 'protocol': 'gRPC', 'encoding': 'gpb'}
- },
- {'id': '55',
- 'destination': {'ip': '192.168.0.2', 'port': '50001', 'protocol': 'gRPC', 'encoding': 'gpb'}
- },
- {'id': '56'},
- ], 'destination_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'telemetry',
- 'destination-group 10',
- 'ip address 192.168.0.10 port 50001 protocol grpc encoding gpb',
- 'destination-group 55',
- 'ip address 192.168.0.2 port 50001 protocol grpc encoding gpb',
- 'destination-group 56'
- ])
-
- # --------------------------------
- # Telemetry SensorGroup Test Cases
- # --------------------------------
-
- def test_tms_sensorgroup_merged_n9k(self):
- # Assumes feature telemetry is enabled
- # TMS sensorgroup config is not present.
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- td55_name = 'sys/bgp/inst/dom-default/peer-[10.10.10.11]/ent-[10.10.10.11]'
- td55_fc = 'or(eq(ethpmPhysIf.operSt,"down"),eq(ethpmPhysIf.operSt,"up"))'
- args = build_args([
- {'id': '2',
- 'data_source': 'NX-API',
- 'path': {'name': 'sys/bgp', 'depth': 0, 'query_condition': 'foo', 'filter_condition': 'foo'},
- },
- {'id': '2',
- 'data_source': 'NX-API',
- 'path': {'name': 'sys/bgp/inst', 'depth': 'unbounded', 'query_condition': 'foo', 'filter_condition': 'foo'},
- },
- {'id': '55',
- 'data_source': 'DME',
- 'path': {'name': td55_name, 'depth': 0, 'query_condition': 'foo', 'filter_condition': 'foo'},
- },
- {'id': '55',
- 'data_source': 'DME',
- 'path': {'name': 'sys/ospf', 'depth': 0, 'query_condition': 'foo', 'filter_condition': td55_fc},
- },
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'sensor-group 2',
- 'data-source NX-API',
- 'path sys/bgp depth 0 query-condition foo filter-condition foo',
- 'path sys/bgp/inst depth unbounded query-condition foo filter-condition foo',
- 'sensor-group 55',
- 'data-source DME',
- 'path sys/bgp/inst/dom-default/peer-[10.10.10.11]/ent-[10.10.10.11] depth 0 query-condition foo filter-condition foo',
- 'path sys/ospf depth 0 query-condition foo filter-condition or(eq(ethpmPhysIf.operSt,"down"),eq(ethpmPhysIf.operSt,"up"))',
- ])
-
- def test_tms_sensorgroup_input_validation_1(self):
- # Mandatory parameter 'id' missing.
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'data_source': 'DME',
- 'path': {'name': 'sys/bgp', 'depth': 0, 'query_condition': 'query_condition_xyz', 'filter_condition': 'filter_condition_xyz'},
- },
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- with pytest.raises(AnsibleFailJson) as errinfo:
- self.execute_module()
- testdata = errinfo.value.args[0]
- assert 'Parameter <id> under <sensor_groups> is required' in str(testdata['msg'])
- assert testdata['failed']
-
- def test_tms_sensorgroup_input_validation_2(self):
- # Path present but mandatory 'name' key is not
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '77',
- 'data_source': 'DME',
- 'path': {'depth': 0, 'query_condition': 'query_condition_xyz', 'filter_condition': 'filter_condition_xyz'},
- },
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- with pytest.raises(AnsibleFailJson) as errinfo:
- self.execute_module()
- testdata = errinfo.value.args[0]
- assert 'Parameter <path> under <sensor_groups> requires <name> key' in str(testdata['msg'])
- assert testdata['failed']
-
- def test_tms_sensorgroup_resource_key_n9k(self):
- # TMS sensorgroup config is not present.
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '77'}
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'sensor-group 77',
- ])
-
- def test_tms_sensorgroup_merged_variable_args1_n9k(self):
- # TMS sensorgroup config is not present.
- # Only path key name provided
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '77',
- 'data_source': 'DME',
- 'path': {'name': 'sys/bgp'},
- },
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'sensor-group 77',
- 'data-source DME',
- 'path sys/bgp',
- ])
-
- def test_tms_sensorgroup_merged_variable_args2_n9k(self):
- # TMS sensorgroup config is not present.
- # Only path keys name and depth provided
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '77',
- 'data_source': 'DME',
- 'path': {'name': 'sys/bgp', 'depth': 0},
- },
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'sensor-group 77',
- 'data-source DME',
- 'path sys/bgp depth 0',
- ])
-
- def test_tms_sensorgroup_merged_variable_args3_n9k(self):
- # TMS sensorgroup config is not present.
- # Only path keys name, depth and query_condition provided
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '77',
- 'data_source': 'DME',
- 'path': {'name': 'sys/bgp', 'depth': 0, 'query_condition': 'query_condition_xyz'},
- },
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'sensor-group 77',
- 'data-source DME',
- 'path sys/bgp depth 0 query-condition query_condition_xyz',
- ])
-
- def test_tms_sensorgroup_merged_variable_args4_n9k(self):
- # TMS sensorgroup config is not present.
- # Only path keys name, depth and filter_condition provided
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '77',
- 'data_source': 'DME',
- 'path': {'name': 'sys/bgp', 'depth': 0, 'filter_condition': 'filter_condition_xyz'},
- },
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'sensor-group 77',
- 'data-source DME',
- 'path sys/bgp depth 0 filter-condition filter_condition_xyz',
- ])
-
- def test_tms_sensorgroup_merged_idempotent_n9k(self):
- # Assumes feature telemetry is enabled
- # TMS sensorgroup config is not present.
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '2',
- 'data_source': 'DME',
- 'path': {'name': 'sys/ospf', 'depth': 0, 'query_condition': 'qc', 'filter_condition': 'fc'},
- },
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=False)
-
- def test_tms_sensorgroup_quotes_merged_idempotent_n9k(self):
- # Assumes feature telemetry is enabled
- # TMS sensorgroup config is present with quotes in NX-API path.
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K_SGs.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '2',
- 'data_source': 'NX-API',
- 'path': {'name': '"show mac address-table count"', 'depth': 2},
- },
- {'id': '3',
- 'data_source': 'NX-API',
- 'path': {'name': '"show interface ethernet1/1-52"'},
- },
- {'id': '1',
- 'path': {'name': 'sys/procsys', 'depth': 1},
- },
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=False)
-
- def test_tms_sensorgroup_vxlan_idempotent_n9k(self):
- # TMS sensorgroup config present.
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '56',
- 'data_source': 'DME',
- 'path': {'name': 'vxlan'},
- },
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=False)
-
- def test_tms_sensorgroup_idempotent_variable1_n9k(self):
- # TMS sensorgroup config is present with path key name.
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '2',
- 'data_source': 'DME',
- 'path': {'name': 'sys/bgp/inst/dom-default/peer-[10.10.10.11]/ent-[10.10.10.11]'},
- },
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=False)
-
- def test_tms_sensorgroup_idempotent_variable2_n9k(self):
- # TMS sensorgroup config is present with path key name and depth.
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '2',
- 'data_source': 'DME',
- 'path': {'name': 'boo', 'depth': 0},
- },
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=False)
-
- def test_tms_sensorgroup_idempotent_resource_key_n9k(self):
- # TMS sensorgroup config is present resource key only.
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '55'}
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=False)
-
- def test_tms_sensorgroup_present_path_environment_n9k(self):
- # TMS sensorgroup config is not present.
- # Path name 'environment' test
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '77',
- 'data_source': 'YANG',
- 'path': {'name': 'environment'},
- },
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'sensor-group 77',
- 'data-source YANG',
- 'path environment',
- ])
-
- def test_tms_sensorgroup_present_path_interface_n9k(self):
- # TMS sensorgroup config is not present.
- # Path name 'interface' test
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '77',
- 'data_source': 'NATIVE',
- 'path': {'name': 'interface'},
- },
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'sensor-group 77',
- 'data-source NATIVE',
- 'path interface',
- ])
-
- def test_tms_sensorgroup_present_path_interface_n9k(self):
- # TMS sensorgroup config is not present.
- # Path name 'resources' test
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': '77',
- 'data_source': 'NX-API',
- 'path': {'name': 'resources'},
- },
- ], 'sensor_groups')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'sensor-group 77',
- 'data-source NX-API',
- 'path resources',
- ])
-
- # ---------------------------------
- # Telemetry Subscription Test Cases
- # ---------------------------------
-
- def test_tms_subscription_merged_n9k(self):
- # TMS subscription config is not present.
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': 5,
- 'destination_group': 55,
- 'sensor_group': {'id': 1, 'sample_interval': 1000},
- },
- {'id': 88,
- 'destination_group': 3,
- 'sensor_group': {'id': 4, 'sample_interval': 2000},
- },
- ], 'subscriptions')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'subscription 5',
- 'dst-grp 55',
- 'snsr-grp 1 sample-interval 1000',
- 'subscription 88',
- 'dst-grp 3',
- 'snsr-grp 4 sample-interval 2000'
- ])
-
- def test_tms_subscription_merged_idempotent_n9k(self):
- # TMS subscription config is not present.
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': 3,
- },
- {'id': 7,
- 'destination_group': 10,
- 'sensor_group': {'id': 2, 'sample_interval': 1000},
- },
- {'id': 5,
- 'destination_group': 2,
- 'sensor_group': {'id': 2, 'sample_interval': 1000},
- },
- ], 'subscriptions')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=False)
-
- def test_tms_subscription_merged_change1_n9k(self):
- # TMS subscription config present.
- # Change sample interval for sensor group 2
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': 3,
- },
- {'id': 7,
- 'destination_group': 10,
- 'sensor_group': {'id': 2, 'sample_interval': 3000},
- },
- {'id': 5,
- 'destination_group': 2,
- 'sensor_group': {'id': 2, 'sample_interval': 1000},
- },
- ], 'subscriptions')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'telemetry',
- 'subscription 7',
- 'snsr-grp 2 sample-interval 3000'
- ])
-
- def test_tms_subscription_add_n9k(self):
- # TMS subscription config present.
- # Add new destination_group and sensor_group to subscription 5
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- args = build_args([
- {'id': 3,
- },
- {'id': 7,
- 'destination_group': 10,
- 'sensor_group': {'id': 2, 'sample_interval': 1000},
- },
- {'id': 5,
- 'destination_group': 2,
- 'sensor_group': {'id': 2, 'sample_interval': 1000},
- },
- {'id': 5,
- 'destination_group': 7,
- 'sensor_group': {'id': 2, 'sample_interval': 1000},
- },
- {'id': 5,
- 'destination_group': 8,
- 'sensor_group': {'id': 9, 'sample_interval': 1000},
- },
- {'id': 5,
- 'destination_group': 9,
- 'sensor_group': {'id': 10, 'sample_interval': 1000},
- },
- ], 'subscriptions')
- set_module_args(args, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'telemetry',
- 'subscription 5',
- 'dst-grp 7',
- 'dst-grp 8',
- 'dst-grp 9',
- 'snsr-grp 9 sample-interval 1000',
- 'snsr-grp 10 sample-interval 1000'
- ])
-
- def test_telemetry_full_n9k(self):
- # Assumes feature telemetry is disabled
- # TMS global config is not present.
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args({
- 'state': 'merged',
- 'config': {
- 'certificate': {'key': '/bootflash/sample.key', 'hostname': 'server.example.com'},
- 'compression': 'gzip',
- 'source_interface': 'Ethernet2/1',
- 'vrf': 'blue',
- 'destination_groups': [
- {'id': '88',
- 'destination': {'ip': '192.168.1.1', 'port': '5001', 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- {'id': '88',
- 'destination': {'ip': '192.168.1.2', 'port': '6001', 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- {'id': '99',
- 'destination': {'ip': '192.168.1.2', 'port': '6001', 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- {'id': '99',
- 'destination': {'ip': '192.168.1.1', 'port': '5001', 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- ],
- 'sensor_groups': [
- {'id': '77',
- 'data_source': 'DME',
- 'path': {'name': 'sys/bgp', 'depth': 0, 'query_condition': 'query_condition_xyz', 'filter_condition': 'filter_condition_xyz'},
- },
- {'id': '99',
- 'data_source': 'DME',
- 'path': {'name': 'sys/bgp', 'depth': 0, 'query_condition': 'query_condition_xyz', 'filter_condition': 'filter_condition_xyz'},
- },
- ],
- 'subscriptions': [
- {'id': 5,
- 'destination_group': 88,
- 'sensor_group': {'id': 77, 'sample_interval': 1000},
- },
- {'id': 5,
- 'destination_group': 99,
- 'sensor_group': {'id': 77, 'sample_interval': 1000},
- },
- {'id': 88,
- 'destination_group': 99,
- 'sensor_group': {'id': 99, 'sample_interval': 2000},
- },
- ],
- }
- }, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'feature telemetry',
- 'telemetry',
- 'certificate /bootflash/sample.key server.example.com',
- 'destination-profile',
- 'use-compression gzip',
- 'source-interface Ethernet2/1',
- 'use-vrf blue',
- 'destination-group 88',
- 'ip address 192.168.1.1 port 5001 protocol grpc encoding gpb',
- 'ip address 192.168.1.2 port 6001 protocol grpc encoding gpb',
- 'destination-group 99',
- 'ip address 192.168.1.2 port 6001 protocol grpc encoding gpb',
- 'ip address 192.168.1.1 port 5001 protocol grpc encoding gpb',
- 'sensor-group 77',
- 'data-source DME',
- 'path sys/bgp depth 0 query-condition query_condition_xyz filter-condition filter_condition_xyz',
- 'sensor-group 99',
- 'data-source DME',
- 'path sys/bgp depth 0 query-condition query_condition_xyz filter-condition filter_condition_xyz',
- 'subscription 5',
- 'dst-grp 88',
- 'dst-grp 99',
- 'snsr-grp 77 sample-interval 1000',
- 'subscription 88',
- 'dst-grp 99',
- 'snsr-grp 99 sample-interval 2000'
- ])
-
- def test_telemetry_deleted_input_validation_n9k(self):
- # State is 'deleted' and 'config' key present.
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args(dict(
- state='deleted',
- config=dict(
- certificate={'key': '/bootflash/server.key', 'hostname': 'localhost'},
- compression='gzip',
- source_interface='loopback55',
- vrf='management',
- )
- ), ignore_provider_arg)
- with pytest.raises(AnsibleFailJson) as errinfo:
- self.execute_module()
- testdata = errinfo.value.args[0]
- assert 'Remove config key from playbook when state is <deleted>' in str(testdata['msg'])
- assert testdata['failed']
-
- def test_telemetry_deleted_n9k(self):
- # Assumes feature telemetry is enabled
- # TMS global config is present.
- # Make absent with all playbook keys provided
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args(dict(
- state='deleted',
- ), ignore_provider_arg)
- self.execute_module(changed=True, commands=['no telemetry'])
-
- def test_telemetry_deleted_idempotent_n9k(self):
- # Assumes feature telemetry is enabled
- # TMS global config is present.
- # Make absent with all playbook keys provided
- self.execute_show_command.return_value = None
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args(dict(
- state='deleted',
- ), ignore_provider_arg)
- self.execute_module(changed=False)
-
- def test_tms_replaced1_n9k(self):
- # Assumes feature telemetry is enabled
- # Modify global config and remove everything else
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args(dict(
- state='replaced',
- config=dict(
- certificate={'key': '/bootflash/sample.key', 'hostname': 'server.example.com'},
- compression='gzip',
- vrf='blue',
- )
- ), ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'telemetry',
- 'no subscription 3',
- 'no subscription 4',
- 'no subscription 5',
- 'no subscription 6',
- 'no subscription 7',
- 'no sensor-group 2',
- 'no sensor-group 55',
- 'no sensor-group 56',
- 'no destination-group 2',
- 'no destination-group 10',
- 'certificate /bootflash/sample.key server.example.com',
- 'destination-profile',
- 'no source-interface loopback55',
- 'use-vrf blue'
- ])
-
- def test_tms_replaced2_n9k(self):
- # Assumes feature telemetry is enabled
- # Remove/default all global config
- # Modify destination-group 10, add 11 and 99, remove 2
- # Modify sensor-group 55, 56
- # remove all subscriptions
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args({
- 'state': 'replaced',
- 'config': {
- 'destination_groups': [
- {'id': 10,
- 'destination': {'ip': '192.168.1.1', 'port': '5001', 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- {'id': 11,
- 'destination': {'ip': '192.168.1.2', 'port': '6001', 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- {'id': 99,
- 'destination': {'ip': '192.168.1.2', 'port': '6001', 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- {'id': '99',
- 'destination': {'ip': '192.168.1.1', 'port': '5001', 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- ],
- 'sensor_groups': [
- {'id': 55,
- 'data_source': 'NX-API',
- 'path': {'name': 'sys/bgp', 'depth': 0, 'query_condition': 'query_condition_xyz', 'filter_condition': 'filter_condition_xyz'},
- },
- {'id': '56',
- 'data_source': 'NX-API',
- 'path': {'name': 'sys/bgp', 'depth': 0, 'query_condition': 'query_condition_xyz', 'filter_condition': 'filter_condition_xyz'},
- },
- ],
- }
- }, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'telemetry',
- 'no subscription 3',
- 'no subscription 5',
- 'no subscription 4',
- 'no subscription 7',
- 'no subscription 6',
- 'sensor-group 56',
- 'no data-source DME',
- 'no path environment',
- 'no path interface',
- 'no path resources',
- 'no path vxlan',
- 'no sensor-group 2',
- 'destination-group 10',
- 'no ip address 192.168.0.1 port 50001 protocol grpc encoding gpb',
- 'no ip address 192.168.0.2 port 60001 protocol grpc encoding gpb',
- 'no destination-group 2',
- 'destination-group 11',
- 'ip address 192.168.1.2 port 6001 protocol grpc encoding gpb',
- 'destination-group 10',
- 'ip address 192.168.1.1 port 5001 protocol grpc encoding gpb',
- 'destination-group 99',
- 'ip address 192.168.1.2 port 6001 protocol grpc encoding gpb',
- 'ip address 192.168.1.1 port 5001 protocol grpc encoding gpb',
- 'sensor-group 55',
- 'data-source NX-API',
- 'path sys/bgp depth 0 query-condition query_condition_xyz filter-condition filter_condition_xyz',
- 'sensor-group 56',
- 'data-source NX-API',
- 'path sys/bgp depth 0 query-condition query_condition_xyz filter-condition filter_condition_xyz',
- 'no certificate /bootflash/server.key localhost',
- 'no destination-profile'
- ])
-
- def test_tms_replaced3_n9k(self):
- # Assumes feature telemetry is enabled
- # Modify vrf global config, remove default all other global config.
- # destination-group 2 destination '192.168.0.1' idempotent
- # destination-group 2 destination '192.168.0.2' remove
- # remove all other destination-groups
- # Modify sensor-group 55 and delete all others
- # Modify subscription 7, add 10 and delete all others
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args({
- 'state': 'replaced',
- 'config': {
- 'vrf': 'blue',
- 'destination_groups': [
- {'id': 2,
- 'destination': {'ip': '192.168.0.1', 'port': 50001, 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- ],
- 'sensor_groups': [
- {'id': 55,
- 'data_source': 'NX-API',
- 'path': {'name': 'sys/bgp', 'depth': 0, 'query_condition': 'query_condition_xyz', 'filter_condition': 'filter_condition_xyz'},
- },
- ],
- 'subscriptions': [
- {'id': 7,
- 'destination_group': 10,
- 'sensor_group': {'id': 55, 'sample_interval': 1000},
- },
- {'id': 10,
- 'destination_group': 2,
- 'sensor_group': {'id': 55, 'sample_interval': 1000},
- },
- ],
- }
- }, ignore_provider_arg)
- self.execute_module(changed=True, commands=[
- 'telemetry',
- 'no subscription 3',
- 'no subscription 5',
- 'no subscription 4',
- 'subscription 7',
- 'no snsr-grp 2 sample-interval 1000',
- 'no subscription 6',
- 'no sensor-group 56',
- 'no sensor-group 2',
- 'no destination-group 10',
- 'destination-group 2',
- 'no ip address 192.168.0.2 port 60001 protocol grpc encoding gpb',
- 'sensor-group 55',
- 'data-source NX-API',
- 'path sys/bgp depth 0 query-condition query_condition_xyz filter-condition filter_condition_xyz',
- 'subscription 10',
- 'dst-grp 2',
- 'snsr-grp 55 sample-interval 1000',
- 'subscription 7',
- 'snsr-grp 55 sample-interval 1000',
- 'no certificate /bootflash/server.key localhost',
- 'destination-profile',
- 'no use-compression gzip',
- 'no source-interface loopback55',
- 'use-vrf blue'
- ])
-
- def test_tms_replaced_idempotent_n9k(self):
- # Assumes feature telemetry is enabled
- # Modify vrf global config, remove default all other global config.
- # destination-group 2 destination '192.168.0.1' idempotent
- # destination-group 2 destination '192.168.0.2' remove
- # remove all other destination-groups
- # Modify sensor-group 55 and delete all others
- # Modify subscription 7, add 10 and delete all others
- self.execute_show_command.return_value = load_fixture('nxos_telemetry', 'N9K.cfg')
- self.get_platform_shortname.return_value = 'N9K'
- set_module_args({
- 'state': 'replaced',
- 'config': {
- 'certificate': {'key': '/bootflash/server.key', 'hostname': 'localhost'},
- 'compression': 'gzip',
- 'vrf': 'management',
- 'source_interface': 'loopback55',
- 'destination_groups': [
- {'id': 2,
- 'destination': {'ip': '192.168.0.1', 'port': 50001, 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- {'id': 2,
- 'destination': {'ip': '192.168.0.2', 'port': 60001, 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- {'id': 10,
- 'destination': {'ip': '192.168.0.1', 'port': 50001, 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- {'id': 10,
- 'destination': {'ip': '192.168.0.2', 'port': 60001, 'protocol': 'GRPC', 'encoding': 'GPB'},
- },
- ],
- 'sensor_groups': [
- {'id': 2,
- 'data_source': 'DME',
- 'path': {'name': 'boo', 'depth': 0},
- },
- {'id': 2,
- 'path': {'name': 'sys/ospf', 'depth': 0, 'query_condition': 'qc', 'filter_condition': 'fc'},
- },
- {'id': 2,
- 'path': {'name': 'interfaces', 'depth': 0},
- },
- {'id': 2,
- 'path': {'name': 'sys/bgp'},
- },
- {'id': 2,
- 'path': {'name': 'sys/bgp/inst', 'depth': 0, 'query_condition': 'foo', 'filter_condition': 'foo'},
- },
- {'id': 2,
- 'path': {'name': 'sys/bgp/inst/dom-default/peer-[10.10.10.11]/ent-[10.10.10.11]'},
- },
- {'id': 2,
- 'path': {'name': 'sys/bgp/inst/dom-default/peer-[20.20.20.11]/ent-[20.20.20.11]'},
- },
- {'id': 2,
- 'path': {'name': 'too', 'depth': 0, 'filter_condition': 'foo'},
- },
- {'id': 55},
- {'id': 56,
- 'data_source': 'DME',
- },
- {'id': 56,
- 'path': {'name': 'environment'},
- },
- {'id': 56,
- 'path': {'name': 'interface'},
- },
- {'id': 56,
- 'path': {'name': 'resources'},
- },
- {'id': 56,
- 'path': {'name': 'vxlan'},
- },
- ],
- 'subscriptions': [
- {'id': 3},
- {'id': 4,
- 'destination_group': 2,
- 'sensor_group': {'id': 2, 'sample_interval': 1000},
- },
- {'id': 5,
- 'destination_group': 2,
- },
- {'id': 5,
- 'sensor_group': {'id': 2, 'sample_interval': 1000},
- },
- {'id': 6,
- 'destination_group': 10,
- },
- {'id': 7,
- 'destination_group': 10,
- 'sensor_group': {'id': 2, 'sample_interval': 1000},
- },
- ],
- }
- }, ignore_provider_arg)
- self.execute_module(changed=False, commands=[])
-
-
-def build_args(data, type, state=None, check_mode=None):
- if state is None:
- state = 'merged'
- if check_mode is None:
- check_mode = False
- args = {
- 'state': state,
- '_ansible_check_mode': check_mode,
- 'config': {
- type: data
- }
- }
- return args
diff --git a/test/units/modules/network/nxos/test_nxos_vlan.py b/test/units/modules/network/nxos/test_nxos_vlan.py
deleted file mode 100644
index 30c9f076f5..0000000000
--- a/test/units/modules/network/nxos/test_nxos_vlan.py
+++ /dev/null
@@ -1,181 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-import json
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import _nxos_vlan
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosVlanModule(TestNxosModule):
-
- module = _nxos_vlan
-
- def setUp(self):
- super(TestNxosVlanModule, self).setUp()
-
- self.mock_run_commands = patch('ansible.modules.network.nxos._nxos_vlan.run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos._nxos_vlan.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos._nxos_vlan.get_config')
- self.get_config = self.mock_get_config.start()
-
- self.mock_get_capabilities = patch('ansible.modules.network.nxos._nxos_vlan.get_capabilities')
- self.get_capabilities = self.mock_get_capabilities.start()
- self.get_capabilities.return_value = {'device_info': {'network_os_platform': 'N9K-9000v'}, 'network_api': 'cliconf'}
-
- def tearDown(self):
- super(TestNxosVlanModule, self).tearDown()
- self.mock_run_commands.stop()
- self.mock_load_config.stop()
- self.mock_get_config.stop()
- self.mock_get_capabilities.stop()
-
- def load_fixtures(self, commands=None, device=''):
- def load_from_file(*args, **kwargs):
- module, commands = args
- output = list()
-
- for item in commands:
- try:
- obj = json.loads(item)
- command = obj['command']
- except ValueError:
- command = item
- filename = '%s.txt' % str(command).split(' | ')[0].replace(' ', '_')
- output.append(load_fixture('nxos_vlan', filename))
- return output
-
- def agg_load_from_file(*args, **kwargs):
- """Load vlan output for aggregate/purge tests"""
- return([load_fixture('nxos_vlan', 'agg_show_vlan_brief.txt')])
-
- if '_agg_' in self._testMethodName:
- self.run_commands.side_effect = agg_load_from_file
- else:
- self.run_commands.side_effect = load_from_file
-
- self.load_config.return_value = None
- self.get_config.return_value = load_fixture('nxos_vlan', 'config.cfg')
-
- def test_nxos_vlan_agg_1(self):
- # Aggregate: vlan 4/5 exist -> Add 6
- set_module_args(dict(aggregate=[
- {'name': '_5_', 'vlan_id': 5},
- {'name': '_6_', 'vlan_id': 6}
- ]))
- self.execute_module(changed=True, commands=[
- 'vlan 6',
- 'name _6_',
- 'state active',
- 'no shutdown',
- 'exit'
- ])
-
- def test_nxos_vlan_agg_2(self):
- # Aggregate: vlan 4/5 exist -> Add none (idempotence)
- set_module_args(dict(aggregate=[
- {'name': '_5_', 'vlan_id': 5},
- {'name': '_4_', 'vlan_id': 4}
- ]))
- self.execute_module(changed=False)
-
- def test_nxos_vlan_agg_3(self):
- # Aggregate/Purge: vlan 4/5 exist -> Add 6, Purge 4
- set_module_args(dict(aggregate=[
- {'name': '_5_', 'vlan_id': 5},
- {'name': '_6_', 'vlan_id': 6}
- ], purge=True))
- self.execute_module(changed=True, commands=[
- 'vlan 6',
- 'name _6_',
- 'state active',
- 'no shutdown',
- 'exit',
- 'no vlan 4'
- ])
-
- def test_nxos_vlan_agg_4(self):
- # Aggregate/Purge: vlan 4/5 exist -> Purge None (idempotence)
- set_module_args(dict(aggregate=[
- {'name': '_5_', 'vlan_id': 5},
- {'name': '_4_', 'vlan_id': 4}
- ]))
- self.execute_module(changed=False)
-
- def test_nxos_vlan_agg_5(self):
- # Purge with Single Vlan: vlan 4/5 exist -> Add 6, Purge 4/5
- set_module_args(dict(vlan_id=6, name='_6_', purge=True))
- self.execute_module(changed=True, commands=[
- 'vlan 6',
- 'name _6_',
- 'state active',
- 'no shutdown',
- 'exit',
- 'no vlan 4',
- 'no vlan 5'
- ])
-
- def test_nxos_vlan_agg_6(self):
- # Purge All: vlan 4/5 exist -> Purge 4/5
- set_module_args(dict(vlan_id=1, purge=True))
- self.execute_module(changed=True, commands=[
- 'no vlan 4',
- 'no vlan 5'
- ])
-
- def test_nxos_vlan_range(self):
- set_module_args(dict(vlan_range='6-10'))
- self.execute_module(changed=True, commands=['vlan 6', 'vlan 7', 'vlan 8', 'vlan 9', 'vlan 10'])
-
- def test_nxos_vlan_range_absent(self):
- set_module_args(dict(vlan_range='1-5', state='absent'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['no vlan 1'])
-
- def test_nxos_vlan_id(self):
- set_module_args(dict(vlan_id='15', state='present'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vlan 15', 'state active', 'no shutdown', 'exit'])
-
- def test_nxos_vlan_id_absent(self):
- set_module_args(dict(vlan_id='1', state='absent'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['no vlan 1'])
-
- def test_nxos_vlan_named_vlan(self):
- set_module_args(dict(vlan_id='15', name='WEB'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vlan 15', 'name WEB', 'state active', 'no shutdown', 'exit'])
-
- def test_nxos_vlan_shut_down(self):
- set_module_args(dict(vlan_id='1', admin_state='down'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vlan 1', 'shutdown', 'exit'])
-
- def test_nxos_vlan_no_change(self):
- set_module_args(dict(vlan_id='1', name='default', vlan_state='active', admin_state='up'))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
diff --git a/test/units/modules/network/nxos/test_nxos_vlans.py b/test/units/modules/network/nxos/test_nxos_vlans.py
deleted file mode 100644
index b8939c668d..0000000000
--- a/test/units/modules/network/nxos/test_nxos_vlans.py
+++ /dev/null
@@ -1,210 +0,0 @@
-# (c) 2019 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from textwrap import dedent
-from units.compat.mock import patch
-from units.modules.utils import AnsibleFailJson
-from ansible.modules.network.nxos import nxos_vlans
-from ansible.module_utils.network.nxos.config.vlans.vlans import Vlans
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-ignore_provider_arg = True
-
-
-class TestNxosVlansModule(TestNxosModule):
-
- module = nxos_vlans
-
- def setUp(self):
- super(TestNxosVlansModule, self).setUp()
-
- self.mock_FACT_LEGACY_SUBSETS = patch('ansible.module_utils.network.nxos.facts.facts.FACT_LEGACY_SUBSETS')
- self.FACT_LEGACY_SUBSETS = self.mock_FACT_LEGACY_SUBSETS.start()
-
- self.mock_get_resource_connection_config = patch('ansible.module_utils.network.common.cfg.base.get_resource_connection')
- self.get_resource_connection_config = self.mock_get_resource_connection_config.start()
-
- self.mock_get_resource_connection_facts = patch('ansible.module_utils.network.common.facts.facts.get_resource_connection')
- self.get_resource_connection_facts = self.mock_get_resource_connection_facts.start()
-
- self.mock_edit_config = patch('ansible.module_utils.network.nxos.config.vlans.vlans.Vlans.edit_config')
- self.edit_config = self.mock_edit_config.start()
-
- self.mock_get_device_data = patch('ansible.module_utils.network.nxos.facts.vlans.vlans.VlansFacts.get_device_data')
- self.get_device_data = self.mock_get_device_data.start()
-
- def tearDown(self):
- super(TestNxosVlansModule, self).tearDown()
- self.mock_FACT_LEGACY_SUBSETS.stop()
- self.mock_get_resource_connection_config.stop()
- self.mock_get_resource_connection_facts.stop()
- self.mock_edit_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.mock_FACT_LEGACY_SUBSETS.return_value = dict()
- self.edit_config.return_value = None
-
- def load_from_file(*args, **kwargs):
- cmd = args[1]
- filename = str(cmd).split(' | ')[0].replace(' ', '_')
- return load_fixture('nxos_vlans', filename)
-
- def load_from_file_no_facts(*args, **kwargs):
- cmd = args[1]
- filename = str(cmd).split(' | ')[0].replace(' ', '_')
- filename += '_no_facts'
- return load_fixture('nxos_vlans', filename)
-
- def load_from_file_vlan_1(*args, **kwargs):
- cmd = args[1]
- filename = str(cmd).split(' | ')[0].replace(' ', '_')
- filename += '_vlan_1'
- return load_fixture('nxos_vlans', filename)
-
- if device == '':
- self.get_device_data.side_effect = load_from_file
- elif device == '_no_facts':
- self.get_device_data.side_effect = load_from_file_no_facts
- elif device == '_vlan_1':
- self.get_device_data.side_effect = load_from_file_vlan_1
-
- def test_1(self):
- '''
- **NOTE** This config is for reference only! See fixtures files for real data.
- vlan 1,3-5,8
- vlan 3
- name test-vlan3
- !Note:vlan 4 is present with default settings
- vlan 5
- shutdown
- name test-changeme
- mode fabricpath
- state suspend
- vn-segment 942
- !Note:vlan 7 is not present
- vlan 8
- shutdown
- name test-changeme-not
- state suspend
- '''
- playbook = dict(config=[
- dict(vlan_id=4),
- dict(vlan_id=5, mapped_vni=555, mode='ce'),
- dict(vlan_id=7, mapped_vni=777, name='test-vlan7', enabled=False),
- dict(vlan_id='8', state='active', name='test-changeme-not')
- # vlan 3 is not present in playbook.
- ])
-
- merged = [
- # Update existing device states with any differences in the playbook.
- 'vlan 5', 'vn-segment 555', 'mode ce',
- 'vlan 7', 'vn-segment 777', 'name test-vlan7', 'shutdown',
- 'vlan 8', 'state active'
- ]
- playbook['state'] = 'merged'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=merged)
-
- deleted = [
- # Reset existing device state to default values. Scope is limited to
- # objects in the play when the 'config' key is specified. For vlans
- # this means deleting each vlan listed in the playbook and ignoring
- # any play attrs other than 'vlan_id'.
- 'no vlan 4',
- 'no vlan 5',
- 'no vlan 8'
- ]
- playbook['state'] = 'deleted'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- overridden = [
- # The play is the source of truth. Similar to replaced but the scope
- # includes all objects on the device; i.e. it will also reset state
- # on objects not found in the play.
- 'no vlan 3',
- 'vlan 5', 'mode ce', 'vn-segment 555', 'no state', 'no shutdown', 'no name',
- 'vlan 8', 'no shutdown', 'state active',
- 'vlan 7', 'name test-vlan7', 'shutdown', 'vn-segment 777'
- ]
- playbook['state'] = 'overridden'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=overridden)
-
- replaced = [
- # Scope is limited to objects in the play.
- # replaced should ignore existing vlan 3.
- 'vlan 5', 'mode ce', 'vn-segment 555', 'no state', 'no shutdown', 'no name',
- 'vlan 7', 'shutdown', 'name test-vlan7', 'vn-segment 777',
- 'vlan 8', 'no shutdown', 'state active'
- ]
- playbook['state'] = 'replaced'
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
-
- def test_2(self):
- # vlan 1 in playbook should raise
- playbook = dict(config=[dict(vlan_id=1)], state='merged')
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(failed=True)
-
- def test_3(self):
- # Test when no 'config' key is used in playbook.
- deleted = [
- # Reset existing device state for all vlans found on device other than vlan 1.
- 'no vlan 3',
- 'no vlan 4',
- 'no vlan 5',
- 'no vlan 8'
- ]
- playbook = dict(state='deleted')
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=deleted)
-
- for test_state in ['merged', 'replaced', 'overridden']:
- set_module_args(dict(state=test_state), ignore_provider_arg)
- self.execute_module(failed=True)
-
- def test_4(self):
- # Test only vlan 1 found
- playbook = dict(state='deleted')
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(device='_vlan_1', changed=False)
-
- def test_5(self):
- # Test no facts returned
- playbook = dict(state='deleted')
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(device='_no_facts', changed=False)
-
- def test_6(self):
- # Misc tests to hit codepaths highlighted by code coverage tool as missed.
- playbook = dict(config=[
- dict(vlan_id=8, enabled=True)
- ])
- replaced = [
- # Update existing device states with any differences in the playbook.
- 'vlan 8', 'no shutdown', 'no state', 'no name'
- ]
- playbook['state'] = 'replaced'
- playbook['_ansible_check_mode'] = True
- set_module_args(playbook, ignore_provider_arg)
- self.execute_module(changed=True, commands=replaced)
diff --git a/test/units/modules/network/nxos/test_nxos_vpc.py b/test/units/modules/network/nxos/test_nxos_vpc.py
deleted file mode 100644
index a65d14a6d0..0000000000
--- a/test/units/modules/network/nxos/test_nxos_vpc.py
+++ /dev/null
@@ -1,182 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_vpc
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosVpcModule(TestNxosModule):
-
- module = nxos_vpc
-
- def setUp(self):
- super(TestNxosVpcModule, self).setUp()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_vpc.get_config')
- self.get_config = self.mock_get_config.start()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_vpc.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_run_commands = patch('ansible.modules.network.nxos.nxos_vpc.run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- def tearDown(self):
- super(TestNxosVpcModule, self).tearDown()
- self.mock_get_config.stop()
- self.mock_load_config.stop()
- self.mock_run_commands.stop()
-
- def load_fixtures(self, commands=None, device=''):
- def load_from_file(*args, **kwargs):
- module, commands = args
- output = list()
-
- for command in commands:
- filename = str(command).split(' | ')[0].replace(' ', '_')
- output.append(load_fixture('nxos_vpc', filename))
- return output
-
- def vrf_load_from_file(*args, **kwargs):
- """Load vpc output for vrf tests"""
- module, commands = args
- output = list()
- for command in commands:
- filename = 'vrf_test_' + str(command).split(' | ')[0].replace(' ', '_')
- output.append(load_fixture('nxos_vpc', filename))
- return output
-
- self.load_config.return_value = None
- if device == '_vrf_test':
- self.run_commands.side_effect = vrf_load_from_file
- else:
- self.run_commands.side_effect = load_from_file
-
- def test_nxos_vpc_present(self):
- set_module_args(dict(domain=100, role_priority=32667, system_priority=2000,
- pkl_dest='192.168.100.4', pkl_src='10.1.100.20',
- peer_gw=True, auto_recovery=True))
- self.execute_module(changed=True, commands=[
- 'vpc domain 100', 'terminal dont-ask', 'role priority 32667', 'system-priority 2000',
- 'peer-keepalive destination 192.168.100.4 source 10.1.100.20',
- 'peer-gateway', 'auto-recovery',
- ])
-
- def test_nxos_vpc_vrf_1(self):
- # No vrf -> vrf 'default'
- set_module_args(dict(
- domain=100,
- pkl_dest='192.168.1.1',
- pkl_src='10.1.1.1',
- pkl_vrf='default',
- ))
- self.execute_module(changed=True, commands=[
- 'vpc domain 100',
- 'peer-keepalive destination 192.168.1.1 source 10.1.1.1 vrf default'
- ])
-
- def test_nxos_vpc_vrf_2(self):
- # vrf 'my_vrf'-> vrf 'test-vrf'
- # All pkl commands should be present
- self.get_config.return_value = load_fixture('nxos_vpc', 'vrf_test_vpc_config')
- set_module_args(dict(
- domain=100,
- pkl_dest='192.168.1.1',
- pkl_src='10.1.1.1',
- pkl_vrf='test-vrf',
- ))
- self.execute_module(changed=True, device='_vrf_test', commands=[
- 'vpc domain 100',
- 'peer-keepalive destination 192.168.1.1 source 10.1.1.1 vrf test-vrf'
- ])
-
- def test_nxos_vpc_vrf_3(self):
- # vrf 'my_vrf' -> vrf 'obviously-different-vrf'
- # Existing pkl_src should be retained even though playbook does not specify it
- self.get_config.return_value = load_fixture('nxos_vpc', 'vrf_test_vpc_config')
- set_module_args(dict(
- domain=100,
- pkl_dest='192.168.1.1',
- pkl_vrf='obviously-different-vrf'
- ))
- self.execute_module(changed=True, device='_vrf_test', commands=[
- 'vpc domain 100',
- 'peer-keepalive destination 192.168.1.1 source 10.1.1.1 vrf obviously-different-vrf'
- ])
-
- def test_nxos_vpc_vrf_4(self):
- # vrf 'my_vrf'-> vrf 'management'
- # 'management' is the default value for vrf, it will not nvgen
- self.get_config.return_value = load_fixture('nxos_vpc', 'vrf_test_vpc_config')
- set_module_args(dict(
- domain=100,
- pkl_dest='192.168.1.1',
- pkl_vrf='management',
- ))
- self.execute_module(changed=True, device='_vrf_test', commands=[
- 'vpc domain 100',
- 'peer-keepalive destination 192.168.1.1 source 10.1.1.1 vrf management'
- ])
-
- def test_nxos_vpc_vrf_5(self):
- # vrf 'my_vrf' -> vrf 'my_vrf' (idempotence)
- self.get_config.return_value = load_fixture('nxos_vpc', 'vrf_test_vpc_config')
- set_module_args(dict(
- domain=100,
- pkl_dest='192.168.1.1',
- pkl_src='10.1.1.1',
- pkl_vrf='my_vrf',
- ))
- self.execute_module(changed=False, device='_vrf_test')
-
- def test_nxos_vpc_vrf_6(self):
- # vrf 'my_vrf' -> absent tests
- self.get_config.return_value = load_fixture('nxos_vpc', 'vrf_test_vpc_config')
- set_module_args(dict(
- domain=100,
- state='absent'
- ))
- self.execute_module(changed=True, device='_vrf_test', commands=[
- 'terminal dont-ask',
- 'no vpc domain 100',
- ])
-
- def test_nxos_vpc_vrf_7(self):
- # dest 192.168.1.1 source 10.1.1.1 vrf my_vrf -> (dest only) (idempotence)
- # pkl_src/pkl_vrf not in playbook but exists on device.
- self.get_config.return_value = load_fixture('nxos_vpc', 'vrf_test_vpc_config')
- set_module_args(dict(
- domain=100,
- pkl_dest='192.168.1.1',
- ))
- self.execute_module(changed=False, device='_vrf_test')
-
- def test_nxos_vpc_vrf_8(self):
- # dest 192.168.1.1 source 10.1.1.1 vrf my_vrf -> (optional vrf) (idempotence)
- # pkl_src not in playbook but exists on device.
- self.get_config.return_value = load_fixture('nxos_vpc', 'vrf_test_vpc_config')
- set_module_args(dict(
- domain=100,
- pkl_dest='192.168.1.1',
- pkl_vrf='my_vrf',
- ))
- self.execute_module(changed=False, device='_vrf_test')
diff --git a/test/units/modules/network/nxos/test_nxos_vpc_interface.py b/test/units/modules/network/nxos/test_nxos_vpc_interface.py
deleted file mode 100644
index d61dbbfc4f..0000000000
--- a/test/units/modules/network/nxos/test_nxos_vpc_interface.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_vpc_interface
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosVpcModule(TestNxosModule):
-
- module = nxos_vpc_interface
-
- def setUp(self):
- super(TestNxosVpcModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_vpc_interface.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_vpc_interface.get_config')
- self.get_config = self.mock_get_config.start()
-
- self.mock_run_commands = patch('ansible.modules.network.nxos.nxos_vpc_interface.run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- def tearDown(self):
- super(TestNxosVpcModule, self).tearDown()
- self.mock_load_config.stop()
- self.mock_get_config.stop()
- self.mock_run_commands.stop()
-
- def load_fixtures(self, commands=None, device=''):
- def load_from_file(*args, **kwargs):
- module, commands = args
- output = list()
- for command in commands:
- filename = str(command).split(' | ')[0].replace(' ', '_')
- output.append(load_fixture('nxos_vpc_interface', filename))
- return output
-
- self.run_commands.side_effect = load_from_file
- self.load_config.return_value = None
-
- def test_nxos_vpc_interface_absent(self):
- set_module_args(dict(portchannel=10, vpc=100, state='absent'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface port-channel10', 'no vpc'])
-
- def test_nxos_vpc_interface_present(self):
- set_module_args(dict(portchannel=20, vpc=200, state='present'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['interface port-channel20', 'vpc 200'])
diff --git a/test/units/modules/network/nxos/test_nxos_vrf.py b/test/units/modules/network/nxos/test_nxos_vrf.py
deleted file mode 100644
index 6479a9f2ba..0000000000
--- a/test/units/modules/network/nxos/test_nxos_vrf.py
+++ /dev/null
@@ -1,79 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_vrf
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosVrfModule(TestNxosModule):
-
- module = nxos_vrf
-
- def setUp(self):
- super(TestNxosVrfModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_vrf.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_run_commands = patch('ansible.modules.network.nxos.nxos_vrf.run_commands')
- self.run_commands = self.mock_run_commands.start()
-
- def tearDown(self):
- super(TestNxosVrfModule, self).tearDown()
- self.mock_load_config.stop()
- self.mock_run_commands.stop()
-
- def load_fixtures(self, commands=None, device=''):
- def load_from_file(*args, **kwargs):
- module, commands = args
- output = list()
-
- for command in commands:
- if isinstance(command, dict):
- command = command['command']
- filename = str(command).split(' | ')[0].replace(' ', '_')
- output.append(load_fixture('nxos_vrf', filename))
- return output
-
- self.load_config.return_value = None
- self.run_commands.side_effect = load_from_file
-
- def test_nxos_vrf_present(self):
- set_module_args(dict(vrf='ntc', state='present', admin_state='up'))
- self.execute_module(changed=True, commands=['vrf context ntc', 'no shutdown', 'exit'])
-
- def test_nxos_vrf_present_no_change(self):
- set_module_args(dict(vrf='management', state='present', admin_state='up'))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_vrf_absent(self):
- set_module_args(dict(vrf='management', state='absent'))
- self.execute_module(changed=True, commands=['no vrf context management'])
-
- def test_nxos_vrf_absent_no_change(self):
- set_module_args(dict(vrf='ntc', state='absent'))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_vrf_default(self):
- set_module_args(dict(vrf='default'))
- result = self.execute_module(failed=True)
- self.assertEqual(result['msg'], 'cannot use default as name of a VRF')
diff --git a/test/units/modules/network/nxos/test_nxos_vrf_af.py b/test/units/modules/network/nxos/test_nxos_vrf_af.py
deleted file mode 100644
index 296f5656bb..0000000000
--- a/test/units/modules/network/nxos/test_nxos_vrf_af.py
+++ /dev/null
@@ -1,791 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_vrf_af
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosVrfafModule(TestNxosModule):
-
- module = nxos_vrf_af
-
- def setUp(self):
- super(TestNxosVrfafModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_vrf_af.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_vrf_af.get_config')
- self.get_config = self.mock_get_config.start()
-
- def tearDown(self):
- super(TestNxosVrfafModule, self).tearDown()
- self.mock_load_config.stop()
- self.mock_get_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.get_config.return_value = load_fixture('nxos_vrf_af', 'config.cfg')
- self.load_config.return_value = None
-
- def test_nxos_vrf_af_present_current_non_existing(self):
- set_module_args(dict(vrf='vrf0', afi='ipv4', state='present'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf0',
- 'address-family ipv4 unicast'])
-
- def test_nxos_vrf_af_present_current_existing(self):
- set_module_args(dict(vrf='vrf1', afi='ipv4', state='present'))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_absent_current_non_existing(self):
- set_module_args(dict(vrf='vrf0', afi='ipv4', state='absent'))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_absent_current_existing(self):
- set_module_args(dict(vrf='vrf1', afi='ipv4', state='absent'))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf1',
- 'no address-family ipv4 unicast'])
-
- def test_nxos_vrf_af_auto_evpn_route_target_present_current_existing(self):
- set_module_args(dict(vrf='vrf11', afi='ipv4', route_target_both_auto_evpn=True))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_auto_evpn_route_target_present_current_non_existing(self):
- set_module_args(dict(vrf='vrf10', afi='ipv4', route_target_both_auto_evpn=True))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf10',
- 'address-family ipv4 unicast',
- 'route-target both auto evpn'])
-
- def test_nxos_vrf_af_auto_evpn_route_target_absent_current_existing(self):
- set_module_args(dict(vrf='vrf11', afi='ipv4', route_target_both_auto_evpn=False))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf11',
- 'address-family ipv4 unicast',
- 'no route-target both auto evpn'])
-
- def test_nxos_vrf_af_auto_evpn_route_target_absent_current_non_existing(self):
- set_module_args(dict(vrf='vrf1', afi='ipv4', route_target_both_auto_evpn=False))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_route_target_import_present_current_non_existing(self):
- set_module_args(dict(vrf='vrf1',
- afi='ipv4',
- route_targets=[{"rt": "65000:1000",
- "direction": "import",
- "state": "present"}]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf1',
- 'address-family ipv4 unicast',
- 'route-target import 65000:1000'])
-
- def test_nxos_vrf_af_route_target_default_direction_present_current_non_existing(self):
- set_module_args(dict(vrf='vrf1',
- afi='ipv4',
- route_targets=[{"rt": "65000:1000",
- "state": "present"}]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf1',
- 'address-family ipv4 unicast',
- 'route-target import 65000:1000',
- 'route-target export 65000:1000'])
-
- def test_nxos_vrf_af_route_target_import_present_current_existing(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[{
- "rt": "65000:1000",
- "direction": "import",
- "state": "present"}
- ]))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_route_target_default_direction_present_current_existing(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[{
- "rt": "65000:1000",
- "state": "present"}
- ]))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_route_target_multi_import_present_current_non_existing(self):
- set_module_args(dict(vrf='vrf1',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "import",
- "state": "present"
- },
- {
- "rt": "65001:1000",
- "direction": "import",
- "state": "present"
- },
- {
- "rt": "65002:1000",
- "direction": "import",
- "state": "present"
- }]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf1',
- 'address-family ipv4 unicast',
- 'route-target import 65000:1000',
- 'route-target import 65001:1000',
- 'route-target import 65002:1000'])
-
- def test_nxos_vrf_af_route_target_multi_import_present_current_existing(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "import",
- "state": "present"
- },
- {
- "rt": "65001:1000",
- "direction": "import",
- "state": "present"
- },
- {
- "rt": "65002:1000",
- "direction": "import",
- "state": "present"
- }
- ]))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_route_target_import_absent_current_non_existing(self):
- set_module_args(dict(vrf='vrf1',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "import",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_route_target_import_absent_current_existing(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "import",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf21',
- 'address-family ipv4 unicast',
- 'no route-target import 65000:1000'])
-
- def test_nxos_vrf_af_route_target_multi_import_absent_current_non_existing(self):
- set_module_args(dict(vrf='vrf1',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "import",
- "state": "absent"
- },
- {
- "rt": "65001:1000",
- "direction": "import",
- "state": "absent"
- },
- {
- "rt": "65002:1000",
- "direction": "import",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_route_target_multi_import_absent_current_existing(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "import",
- "state": "absent"
- },
- {
- "rt": "65001:1000",
- "direction": "import",
- "state": "absent"
- },
- {
- "rt": "65002:1000",
- "direction": "import",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf21',
- 'address-family ipv4 unicast',
- 'no route-target import 65000:1000',
- 'no route-target import 65001:1000',
- 'no route-target import 65002:1000'])
-
- def test_nxos_vrf_af_route_target_multi_import_absent_current_mix(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "import",
- "state": "present"
- },
- {
- "rt": "65001:1000",
- "direction": "import",
- "state": "present"
- },
- {
- "rt": "65002:1000",
- "direction": "import",
- "state": "absent"
- },
- {
- "rt": "65003:1000",
- "direction": "import",
- "state": "present"
- },
- {
- "rt": "65004:1000",
- "direction": "import",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf21',
- 'address-family ipv4 unicast',
- 'no route-target import 65002:1000',
- 'route-target import 65003:1000'])
-
- def test_nxos_vrf_af_route_target_export_present_current_non_existing(self):
- set_module_args(dict(vrf='vrf1',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "export",
- "state": "present"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf1',
- 'address-family ipv4 unicast',
- 'route-target export 65000:1000'])
-
- def test_nxos_vrf_af_route_target_export_present_current_existing(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "export",
- "state": "present"
- }
- ]))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_route_target_multi_export_present_current_non_existing(self):
- set_module_args(dict(vrf='vrf1',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "export",
- "state": "present"
- },
- {
- "rt": "65001:1000",
- "direction": "export",
- "state": "present"
- },
- {
- "rt": "65002:1000",
- "direction": "export",
- "state": "present"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf1',
- 'address-family ipv4 unicast',
- 'route-target export 65000:1000',
- 'route-target export 65001:1000',
- 'route-target export 65002:1000'])
-
- def test_nxos_vrf_af_route_target_multi_export_present_current_existing(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "export",
- "state": "present"
- },
- {
- "rt": "65001:1000",
- "direction": "export",
- "state": "present"
- },
- {
- "rt": "65002:1000",
- "direction": "export",
- "state": "present"
- }
- ]))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_route_target_export_absent_current_non_existing(self):
- set_module_args(dict(vrf='vrf1',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "export",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_route_target_export_absent_current_existing(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "export",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf21',
- 'address-family ipv4 unicast',
- 'no route-target export 65000:1000'])
-
- def test_nxos_vrf_af_route_target_multi_export_absent_current_non_existing(self):
- set_module_args(dict(vrf='vrf1',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "export",
- "state": "absent"
- },
- {
- "rt": "65001:1000",
- "direction": "export",
- "state": "absent"
- },
- {
- "rt": "65002:1000",
- "direction": "export",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_route_target_multi_export_absent_current_existing(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "export",
- "state": "absent"
- },
- {
- "rt": "65001:1000",
- "direction": "export",
- "state": "absent"
- },
- {
- "rt": "65002:1000",
- "direction": "export",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf21',
- 'address-family ipv4 unicast',
- 'no route-target export 65000:1000',
- 'no route-target export 65001:1000',
- 'no route-target export 65002:1000'])
-
- def test_nxos_vrf_af_route_target_multi_export_absent_current_mix(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "export",
- "state": "present"
- },
- {
- "rt": "65001:1000",
- "direction": "export",
- "state": "present"
- },
- {
- "rt": "65002:1000",
- "direction": "export",
- "state": "absent"
- },
- {
- "rt": "65003:1000",
- "direction": "export",
- "state": "present"
- },
- {
- "rt": "65004:1000",
- "direction": "export",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf21',
- 'address-family ipv4 unicast',
- 'no route-target export 65002:1000',
- 'route-target export 65003:1000'])
-
- def test_nxos_vrf_af_route_target_both_present_current_non_existing(self):
- set_module_args(dict(vrf='vrf1',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "both",
- "state": "present"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf1',
- 'address-family ipv4 unicast',
- 'route-target import 65000:1000',
- 'route-target export 65000:1000'])
-
- def test_nxos_vrf_af_route_target_both_present_current_existing(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "both",
- "state": "present"
- }
- ]))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_route_target_multi_both_present_current_non_existing(self):
- set_module_args(dict(vrf='vrf1',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "both",
- "state": "present"
- },
- {
- "rt": "65001:1000",
- "direction": "both",
- "state": "present"
- },
- {
- "rt": "65002:1000",
- "direction": "both",
- "state": "present"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf1',
- 'address-family ipv4 unicast',
- 'route-target import 65000:1000',
- 'route-target export 65000:1000',
- 'route-target import 65001:1000',
- 'route-target export 65001:1000',
- 'route-target import 65002:1000',
- 'route-target export 65002:1000'])
-
- def test_nxos_vrf_af_route_target_multi_both_present_current_existing(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "both",
- "state": "present"
- },
- {
- "rt": "65001:1000",
- "direction": "both",
- "state": "present"
- },
- {
- "rt": "65002:1000",
- "direction": "both",
- "state": "present"
- }
- ]))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_route_target_both_absent_current_non_existing(self):
- set_module_args(dict(vrf='vrf1',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "both",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_route_target_both_absent_current_existing(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "both",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf21',
- 'address-family ipv4 unicast',
- 'no route-target import 65000:1000',
- 'no route-target export 65000:1000'])
-
- def test_nxos_vrf_af_route_target_multi_both_absent_current_non_existing(self):
- set_module_args(dict(vrf='vrf1',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "both",
- "state": "absent"
- },
- {
- "rt": "65001:1000",
- "direction": "both",
- "state": "absent"
- },
- {
- "rt": "65002:1000",
- "direction": "both",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=False)
- self.assertEqual(result['commands'], [])
-
- def test_nxos_vrf_af_route_target_multi_both_absent_current_existing(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "both",
- "state": "absent"
- },
- {
- "rt": "65001:1000",
- "direction": "both",
- "state": "absent"
- },
- {
- "rt": "65002:1000",
- "direction": "both",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf21',
- 'address-family ipv4 unicast',
- 'no route-target import 65000:1000',
- 'no route-target export 65000:1000',
- 'no route-target import 65001:1000',
- 'no route-target export 65001:1000',
- 'no route-target import 65002:1000',
- 'no route-target export 65002:1000'])
-
- def test_nxos_vrf_af_route_target_multi_both_absent_current_mix(self):
- set_module_args(dict(vrf='vrf21',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "both",
- "state": "present"
- },
- {
- "rt": "65001:1000",
- "direction": "both",
- "state": "present"
- },
- {
- "rt": "65002:1000",
- "direction": "both",
- "state": "absent"
- },
- {
- "rt": "65003:1000",
- "direction": "both",
- "state": "present"
- },
- {
- "rt": "65004:1000",
- "direction": "both",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf21',
- 'address-family ipv4 unicast',
- 'no route-target import 65002:1000',
- 'no route-target export 65002:1000',
- 'route-target import 65003:1000',
- 'route-target export 65003:1000'])
-
- def test_nxos_vrf_af_route_target_multi_both_current_only_import_or_export(self):
- set_module_args(dict(vrf='vrf31',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "both",
- "state": "present"
- },
- {
- "rt": "65001:1000",
- "direction": "both",
- "state": "present"
- },
- {
- "rt": "65002:1000",
- "direction": "both",
- "state": "absent"
- },
- {
- "rt": "65003:1000",
- "direction": "both",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf31',
- 'address-family ipv4 unicast',
- 'route-target export 65000:1000',
- 'route-target import 65001:1000',
- 'no route-target import 65002:1000',
- 'no route-target export 65003:1000'])
-
- def test_nxos_vrf_af_route_target_multi_direction_current_only_import_or_export(self):
- set_module_args(dict(vrf='vrf31',
- afi='ipv4',
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "both",
- "state": "present"
- },
- {
- "rt": "65001:1000",
- "state": "present"
- },
- {
- "rt": "65002:1000",
- "direction": "export",
- "state": "absent"
- },
- {
- "rt": "65003:1000",
- "direction": "export",
- "state": "absent"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf31',
- 'address-family ipv4 unicast',
- 'route-target export 65000:1000',
- 'route-target import 65001:1000',
- 'no route-target export 65003:1000'])
-
- def test_nxos_vrf_af_auto_evpn_route_target_and_manual_route_target(self):
- set_module_args(dict(vrf='vrf1',
- afi='ipv4',
- route_target_both_auto_evpn=True,
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "both",
- "state": "present"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf1',
- 'address-family ipv4 unicast',
- 'route-target both auto evpn',
- 'route-target import 65000:1000',
- 'route-target export 65000:1000'])
-
- def test_nxos_vrf_af_auto_evpn_route_target_and_manual_route_targets_with_absent_vrf(self):
- set_module_args(dict(vrf='vrf1',
- afi='ipv4',
- state='absent',
- route_target_both_auto_evpn=True,
- route_targets=[
- {
- "rt": "65000:1000",
- "direction": "both",
- "state": "present"
- }
- ]))
- result = self.execute_module(changed=True)
- self.assertEqual(result['commands'], ['vrf context vrf1',
- 'no address-family ipv4 unicast'])
diff --git a/test/units/modules/network/nxos/test_nxos_vxlan_vtep.py b/test/units/modules/network/nxos/test_nxos_vxlan_vtep.py
deleted file mode 100644
index c609f515e6..0000000000
--- a/test/units/modules/network/nxos/test_nxos_vxlan_vtep.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_vxlan_vtep
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosVxlanVtepVniModule(TestNxosModule):
-
- module = nxos_vxlan_vtep
-
- def setUp(self):
- super(TestNxosVxlanVtepVniModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_vxlan_vtep.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_vxlan_vtep.get_config')
- self.get_config = self.mock_get_config.start()
-
- def tearDown(self):
- super(TestNxosVxlanVtepVniModule, self).tearDown()
- self.mock_get_config.stop()
- self.mock_load_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.get_config.return_value = load_fixture('nxos_vxlan_vtep', 'config.cfg')
- self.load_config.return_value = None
-
- def test_nxos_vxlan_vtep(self):
- set_module_args(dict(interface='nve1', description='simple description'))
- self.execute_module(changed=True, commands=['interface nve1', 'terminal dont-ask', 'description simple description'])
-
- def test_nxos_vxlan_vtep_present_no_change(self):
- set_module_args(dict(interface='nve1'))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_vxlan_vtep_absent(self):
- set_module_args(dict(interface='nve1', state='absent'))
- self.execute_module(changed=True, commands=['no interface nve1'])
-
- def test_nxos_vxlan_vtep_absent_no_change(self):
- set_module_args(dict(interface='nve2', state='absent'))
- self.execute_module(changed=False, commands=[])
diff --git a/test/units/modules/network/nxos/test_nxos_vxlan_vtep_vni.py b/test/units/modules/network/nxos/test_nxos_vxlan_vtep_vni.py
deleted file mode 100644
index 798dd7ae05..0000000000
--- a/test/units/modules/network/nxos/test_nxos_vxlan_vtep_vni.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# (c) 2016 Red Hat Inc.
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-from units.compat.mock import patch
-from ansible.modules.network.nxos import nxos_vxlan_vtep_vni
-from .nxos_module import TestNxosModule, load_fixture, set_module_args
-
-
-class TestNxosVxlanVtepVniModule(TestNxosModule):
-
- module = nxos_vxlan_vtep_vni
-
- def setUp(self):
- super(TestNxosVxlanVtepVniModule, self).setUp()
-
- self.mock_load_config = patch('ansible.modules.network.nxos.nxos_vxlan_vtep_vni.load_config')
- self.load_config = self.mock_load_config.start()
-
- self.mock_get_config = patch('ansible.modules.network.nxos.nxos_vxlan_vtep_vni.get_config')
- self.get_config = self.mock_get_config.start()
-
- def tearDown(self):
- super(TestNxosVxlanVtepVniModule, self).tearDown()
- self.mock_get_config.stop()
- self.mock_load_config.stop()
-
- def load_fixtures(self, commands=None, device=''):
- self.get_config.return_value = load_fixture('nxos_vxlan_vtep_vni', 'config.cfg')
- self.load_config.return_value = None
-
- def test_nxos_vxlan_vtep_vni_present_no_change(self):
- set_module_args(dict(interface='nve1', vni=6000))
- self.execute_module(changed=False, commands=[])
-
- def test_nxos_vxlan_vtep_vni(self):
- set_module_args(dict(interface='nve1', vni=5000))
- self.execute_module(changed=True, commands=['interface nve1', 'member vni 5000'])
-
- def test_nxos_vxlan_vtep_vni_absent(self):
- set_module_args(dict(interface='nve1', vni=6000, state='absent'))
- self.execute_module(changed=True, commands=['interface nve1', 'no member vni 6000'])
-
- def test_nxos_vxlan_vtep_vni_absent_no_change(self):
- set_module_args(dict(interface='nve2', vni=6000, state='absent'))
- self.execute_module(changed=False, commands=[])