cisco_node_utils_mgx 2.1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/.rspec +2 -0
- data/.rubocop.yml +96 -0
- data/.travis.yml +17 -0
- data/CHANGELOG.md +676 -0
- data/CONTRIBUTING.md +43 -0
- data/Gemfile +10 -0
- data/LICENSE +201 -0
- data/README.md +246 -0
- data/Rakefile +44 -0
- data/SUPPORT.md +3 -0
- data/bin/.rubocop.yml +18 -0
- data/bin/check_metric_limits.rb +109 -0
- data/bin/git/hooks/commit-msg/enforce_style +89 -0
- data/bin/git/hooks/hook_lib +115 -0
- data/bin/git/hooks/hooks-wrapper +38 -0
- data/bin/git/hooks/post-flow-hotfix-start/update-version +24 -0
- data/bin/git/hooks/post-flow-release-finish/update-version +29 -0
- data/bin/git/hooks/post-flow-release-start/update-version +19 -0
- data/bin/git/hooks/post-merge/update-hooks +6 -0
- data/bin/git/hooks/post-rewrite/update-hooks +6 -0
- data/bin/git/hooks/pre-commit/check_unstaged_changes +18 -0
- data/bin/git/hooks/pre-commit/rubocop +25 -0
- data/bin/git/hooks/pre-commit/validate-diffs +45 -0
- data/bin/git/hooks/pre-commit/validate-yaml +18 -0
- data/bin/git/hooks/pre-push/check-changelog +24 -0
- data/bin/git/hooks/pre-push/rubocop +7 -0
- data/bin/git/update-hooks +123 -0
- data/bin/show_running_yang.rb +233 -0
- data/cisco_node_utils.gemspec +41 -0
- data/docs/README-develop-best-practices.md +521 -0
- data/docs/README-develop-node-utils-APIs.md +570 -0
- data/docs/README-maintainers.md +77 -0
- data/docs/README-test-execution.md +57 -0
- data/docs/README-utilities.md +14 -0
- data/docs/agent_files.png +0 -0
- data/docs/cisco_node_utils.yaml.example +36 -0
- data/docs/template-router.rb +123 -0
- data/docs/template-test_router.rb +104 -0
- data/ext/mkrf_conf.rb +63 -0
- data/lib/.rubocop.yml +18 -0
- data/lib/cisco_node_utils/aaa_authentication_login.rb +95 -0
- data/lib/cisco_node_utils/aaa_authentication_login_service.rb +138 -0
- data/lib/cisco_node_utils/aaa_authorization_service.rb +156 -0
- data/lib/cisco_node_utils/ace.rb +467 -0
- data/lib/cisco_node_utils/acl.rb +101 -0
- data/lib/cisco_node_utils/banner.rb +63 -0
- data/lib/cisco_node_utils/bfd_global.rb +305 -0
- data/lib/cisco_node_utils/bgp.rb +988 -0
- data/lib/cisco_node_utils/bgp_af.rb +545 -0
- data/lib/cisco_node_utils/bgp_af_aggr_addr.rb +207 -0
- data/lib/cisco_node_utils/bgp_neighbor.rb +527 -0
- data/lib/cisco_node_utils/bgp_neighbor_af.rb +780 -0
- data/lib/cisco_node_utils/bridge_domain.rb +178 -0
- data/lib/cisco_node_utils/bridge_domain_vni.rb +206 -0
- data/lib/cisco_node_utils/cisco_cmn_utils.rb +444 -0
- data/lib/cisco_node_utils/client/client.rb +238 -0
- data/lib/cisco_node_utils/client/grpc/client.rb +395 -0
- data/lib/cisco_node_utils/client/grpc/ems.proto +148 -0
- data/lib/cisco_node_utils/client/grpc/ems.rb +111 -0
- data/lib/cisco_node_utils/client/grpc/ems_services.rb +49 -0
- data/lib/cisco_node_utils/client/grpc.rb +33 -0
- data/lib/cisco_node_utils/client/nxapi/client.rb +368 -0
- data/lib/cisco_node_utils/client/nxapi.rb +31 -0
- data/lib/cisco_node_utils/client/utils.rb +180 -0
- data/lib/cisco_node_utils/client.rb +35 -0
- data/lib/cisco_node_utils/cmd_ref/README_YAML.md +590 -0
- data/lib/cisco_node_utils/cmd_ref/aaa_auth_login_service.yaml +25 -0
- data/lib/cisco_node_utils/cmd_ref/aaa_authentication_login.yaml +38 -0
- data/lib/cisco_node_utils/cmd_ref/aaa_authorization_service.yaml +40 -0
- data/lib/cisco_node_utils/cmd_ref/acl.yaml +48 -0
- data/lib/cisco_node_utils/cmd_ref/banner.yaml +11 -0
- data/lib/cisco_node_utils/cmd_ref/bfd_global.yaml +117 -0
- data/lib/cisco_node_utils/cmd_ref/bgp.yaml +383 -0
- data/lib/cisco_node_utils/cmd_ref/bgp_af.yaml +223 -0
- data/lib/cisco_node_utils/cmd_ref/bgp_af_aa.yaml +38 -0
- data/lib/cisco_node_utils/cmd_ref/bgp_neighbor.yaml +174 -0
- data/lib/cisco_node_utils/cmd_ref/bgp_neighbor_af.yaml +236 -0
- data/lib/cisco_node_utils/cmd_ref/bridge_domain.yaml +49 -0
- data/lib/cisco_node_utils/cmd_ref/bridge_domain_vni.yaml +33 -0
- data/lib/cisco_node_utils/cmd_ref/dhcp_relay_global.yaml +128 -0
- data/lib/cisco_node_utils/cmd_ref/dnsclient.yaml +55 -0
- data/lib/cisco_node_utils/cmd_ref/encapsulation.yaml +25 -0
- data/lib/cisco_node_utils/cmd_ref/evpn_multicast.yaml +12 -0
- data/lib/cisco_node_utils/cmd_ref/evpn_multisite.yaml +18 -0
- data/lib/cisco_node_utils/cmd_ref/evpn_stormcontrol.yaml +18 -0
- data/lib/cisco_node_utils/cmd_ref/evpn_vni.yaml +48 -0
- data/lib/cisco_node_utils/cmd_ref/fabricpath.yaml +183 -0
- data/lib/cisco_node_utils/cmd_ref/fabricpath_topology.yaml +40 -0
- data/lib/cisco_node_utils/cmd_ref/feature.yaml +126 -0
- data/lib/cisco_node_utils/cmd_ref/hostname.yaml +8 -0
- data/lib/cisco_node_utils/cmd_ref/hsrp_global.yaml +25 -0
- data/lib/cisco_node_utils/cmd_ref/images.yaml +8 -0
- data/lib/cisco_node_utils/cmd_ref/interface.yaml +781 -0
- data/lib/cisco_node_utils/cmd_ref/interface_channel_group.yaml +45 -0
- data/lib/cisco_node_utils/cmd_ref/interface_evpn_multisite.yaml +17 -0
- data/lib/cisco_node_utils/cmd_ref/interface_hsrp_group.yaml +120 -0
- data/lib/cisco_node_utils/cmd_ref/interface_ospf.yaml +112 -0
- data/lib/cisco_node_utils/cmd_ref/interface_portchannel.yaml +87 -0
- data/lib/cisco_node_utils/cmd_ref/interface_service_vni.yaml +42 -0
- data/lib/cisco_node_utils/cmd_ref/inventory.yaml +45 -0
- data/lib/cisco_node_utils/cmd_ref/ip_multicast.yaml +22 -0
- data/lib/cisco_node_utils/cmd_ref/itd_device_group.yaml +83 -0
- data/lib/cisco_node_utils/cmd_ref/itd_service.yaml +119 -0
- data/lib/cisco_node_utils/cmd_ref/memory.yaml +24 -0
- data/lib/cisco_node_utils/cmd_ref/ntp_auth_key.yaml +10 -0
- data/lib/cisco_node_utils/cmd_ref/ntp_config.yaml +27 -0
- data/lib/cisco_node_utils/cmd_ref/ntp_server.yaml +34 -0
- data/lib/cisco_node_utils/cmd_ref/object_group.yaml +32 -0
- data/lib/cisco_node_utils/cmd_ref/ospf.yaml +91 -0
- data/lib/cisco_node_utils/cmd_ref/ospf_area.yaml +91 -0
- data/lib/cisco_node_utils/cmd_ref/ospf_area_vlink.yaml +88 -0
- data/lib/cisco_node_utils/cmd_ref/overlay_global.yaml +37 -0
- data/lib/cisco_node_utils/cmd_ref/pim.yaml +43 -0
- data/lib/cisco_node_utils/cmd_ref/portchannel_global.yaml +86 -0
- data/lib/cisco_node_utils/cmd_ref/radius_global.yaml +37 -0
- data/lib/cisco_node_utils/cmd_ref/radius_server.yaml +100 -0
- data/lib/cisco_node_utils/cmd_ref/radius_server_group.yaml +19 -0
- data/lib/cisco_node_utils/cmd_ref/route_map.yaml +601 -0
- data/lib/cisco_node_utils/cmd_ref/show_system.yaml +9 -0
- data/lib/cisco_node_utils/cmd_ref/show_version.yaml +84 -0
- data/lib/cisco_node_utils/cmd_ref/snmp_community.yaml +81 -0
- data/lib/cisco_node_utils/cmd_ref/snmp_group.yaml +9 -0
- data/lib/cisco_node_utils/cmd_ref/snmp_notification_receiver.yaml +74 -0
- data/lib/cisco_node_utils/cmd_ref/snmp_server.yaml +91 -0
- data/lib/cisco_node_utils/cmd_ref/snmp_user.yaml +57 -0
- data/lib/cisco_node_utils/cmd_ref/snmpnotification.yaml +23 -0
- data/lib/cisco_node_utils/cmd_ref/span_session.yaml +65 -0
- data/lib/cisco_node_utils/cmd_ref/stp_global.yaml +235 -0
- data/lib/cisco_node_utils/cmd_ref/syslog_facility.yaml +10 -0
- data/lib/cisco_node_utils/cmd_ref/syslog_server.yaml +34 -0
- data/lib/cisco_node_utils/cmd_ref/syslog_settings.yaml +45 -0
- data/lib/cisco_node_utils/cmd_ref/system.yaml +7 -0
- data/lib/cisco_node_utils/cmd_ref/tacacs_global.yaml +37 -0
- data/lib/cisco_node_utils/cmd_ref/tacacs_server.yaml +63 -0
- data/lib/cisco_node_utils/cmd_ref/tacacs_server_group.yaml +45 -0
- data/lib/cisco_node_utils/cmd_ref/tacacs_server_host.yaml +64 -0
- data/lib/cisco_node_utils/cmd_ref/upgrade.yaml +38 -0
- data/lib/cisco_node_utils/cmd_ref/vdc.yaml +52 -0
- data/lib/cisco_node_utils/cmd_ref/virtual_service.yaml +8 -0
- data/lib/cisco_node_utils/cmd_ref/vlan.yaml +106 -0
- data/lib/cisco_node_utils/cmd_ref/vpc.yaml +233 -0
- data/lib/cisco_node_utils/cmd_ref/vrf.yaml +86 -0
- data/lib/cisco_node_utils/cmd_ref/vrf_af.yaml +139 -0
- data/lib/cisco_node_utils/cmd_ref/vtp.yaml +32 -0
- data/lib/cisco_node_utils/cmd_ref/vxlan_vtep.yaml +114 -0
- data/lib/cisco_node_utils/cmd_ref/vxlan_vtep_vni.yaml +71 -0
- data/lib/cisco_node_utils/cmd_ref/yang.yaml +7 -0
- data/lib/cisco_node_utils/cmd_ref/yum.yaml +68 -0
- data/lib/cisco_node_utils/command_reference.rb +724 -0
- data/lib/cisco_node_utils/configparser_lib.rb +195 -0
- data/lib/cisco_node_utils/constants.rb +40 -0
- data/lib/cisco_node_utils/dhcp_relay_global.rb +302 -0
- data/lib/cisco_node_utils/dns_domain.rb +93 -0
- data/lib/cisco_node_utils/domain_name.rb +82 -0
- data/lib/cisco_node_utils/encapsulation.rb +112 -0
- data/lib/cisco_node_utils/environment.rb +110 -0
- data/lib/cisco_node_utils/evpn_multicast.rb +66 -0
- data/lib/cisco_node_utils/evpn_multisite.rb +96 -0
- data/lib/cisco_node_utils/evpn_stormcontrol.rb +84 -0
- data/lib/cisco_node_utils/evpn_vni.rb +159 -0
- data/lib/cisco_node_utils/exceptions.rb +140 -0
- data/lib/cisco_node_utils/fabricpath_global.rb +405 -0
- data/lib/cisco_node_utils/fabricpath_topology.rb +137 -0
- data/lib/cisco_node_utils/feature.rb +377 -0
- data/lib/cisco_node_utils/hostname.rb +62 -0
- data/lib/cisco_node_utils/hsrp_global.rb +97 -0
- data/lib/cisco_node_utils/interface.rb +2128 -0
- data/lib/cisco_node_utils/interface_channel_group.rb +142 -0
- data/lib/cisco_node_utils/interface_evpn_multisite.rb +72 -0
- data/lib/cisco_node_utils/interface_hsrp_group.rb +557 -0
- data/lib/cisco_node_utils/interface_ospf.rb +378 -0
- data/lib/cisco_node_utils/interface_portchannel.rb +180 -0
- data/lib/cisco_node_utils/interface_service_vni.rb +132 -0
- data/lib/cisco_node_utils/ip_multicast.rb +90 -0
- data/lib/cisco_node_utils/itd_device_group.rb +228 -0
- data/lib/cisco_node_utils/itd_device_group_node.rb +144 -0
- data/lib/cisco_node_utils/itd_service.rb +511 -0
- data/lib/cisco_node_utils/logger.rb +78 -0
- data/lib/cisco_node_utils/name_server.rb +64 -0
- data/lib/cisco_node_utils/node.rb +443 -0
- data/lib/cisco_node_utils/node_util.rb +111 -0
- data/lib/cisco_node_utils/ntp_auth_key.rb +67 -0
- data/lib/cisco_node_utils/ntp_config.rb +83 -0
- data/lib/cisco_node_utils/ntp_server.rb +86 -0
- data/lib/cisco_node_utils/object_group.rb +75 -0
- data/lib/cisco_node_utils/object_group_entry.rb +143 -0
- data/lib/cisco_node_utils/overlay_global.rb +142 -0
- data/lib/cisco_node_utils/pim.rb +131 -0
- data/lib/cisco_node_utils/pim_group_list.rb +109 -0
- data/lib/cisco_node_utils/pim_rp_address.rb +103 -0
- data/lib/cisco_node_utils/platform.rb +217 -0
- data/lib/cisco_node_utils/portchannel_global.rb +347 -0
- data/lib/cisco_node_utils/radius_global.rb +165 -0
- data/lib/cisco_node_utils/radius_server.rb +421 -0
- data/lib/cisco_node_utils/radius_server_group.rb +117 -0
- data/lib/cisco_node_utils/route_map.rb +2540 -0
- data/lib/cisco_node_utils/router_ospf.rb +77 -0
- data/lib/cisco_node_utils/router_ospf_area.rb +416 -0
- data/lib/cisco_node_utils/router_ospf_area_vlink.rb +313 -0
- data/lib/cisco_node_utils/router_ospf_vrf.rb +342 -0
- data/lib/cisco_node_utils/snmp_notification_receiver.rb +176 -0
- data/lib/cisco_node_utils/snmpcommunity.rb +109 -0
- data/lib/cisco_node_utils/snmpgroup.rb +54 -0
- data/lib/cisco_node_utils/snmpnotification.rb +57 -0
- data/lib/cisco_node_utils/snmpserver.rb +132 -0
- data/lib/cisco_node_utils/snmpuser.rb +403 -0
- data/lib/cisco_node_utils/span_session.rb +149 -0
- data/lib/cisco_node_utils/stp_global.rb +676 -0
- data/lib/cisco_node_utils/syslog_facility.rb +64 -0
- data/lib/cisco_node_utils/syslog_server.rb +146 -0
- data/lib/cisco_node_utils/syslog_settings.rb +174 -0
- data/lib/cisco_node_utils/tacacs_global.rb +137 -0
- data/lib/cisco_node_utils/tacacs_server.rb +173 -0
- data/lib/cisco_node_utils/tacacs_server_group.rb +149 -0
- data/lib/cisco_node_utils/tacacs_server_host.rb +216 -0
- data/lib/cisco_node_utils/upgrade.rb +122 -0
- data/lib/cisco_node_utils/vdc.rb +118 -0
- data/lib/cisco_node_utils/version.rb +21 -0
- data/lib/cisco_node_utils/vlan.rb +301 -0
- data/lib/cisco_node_utils/vpc.rb +466 -0
- data/lib/cisco_node_utils/vrf.rb +192 -0
- data/lib/cisco_node_utils/vrf_af.rb +327 -0
- data/lib/cisco_node_utils/vtp.rb +125 -0
- data/lib/cisco_node_utils/vxlan_vtep.rb +286 -0
- data/lib/cisco_node_utils/vxlan_vtep_vni.rb +331 -0
- data/lib/cisco_node_utils/yang.rb +160 -0
- data/lib/cisco_node_utils/yum.rb +213 -0
- data/lib/cisco_node_utils.rb +21 -0
- data/lib/minitest/environment_plugin.rb +31 -0
- data/lib/minitest/log_level_plugin.rb +41 -0
- data/spec/client_spec.rb +7 -0
- data/spec/environment_spec.rb +384 -0
- data/spec/grpc_client_spec.rb +23 -0
- data/spec/isolate/all_clients_spec.rb +9 -0
- data/spec/isolate/grpc_only_spec.rb +16 -0
- data/spec/isolate/no_clients_spec.rb +26 -0
- data/spec/isolate/nxapi_only_spec.rb +16 -0
- data/spec/nxapi_client_spec.rb +42 -0
- data/spec/schema.yaml +82 -0
- data/spec/shared_examples_for_clients.rb +14 -0
- data/spec/spec_helper.rb +91 -0
- data/spec/whitespace_spec.rb +10 -0
- data/spec/yaml_spec.rb +42 -0
- data/tests/.rubocop.yml +18 -0
- data/tests/CSCuxdublin-1.0.0-7.0.3.I3.1.lib32_n9000.rpm +0 -0
- data/tests/basetest.rb +243 -0
- data/tests/ciscotest.rb +577 -0
- data/tests/cmd_config.yaml +75 -0
- data/tests/cmd_config_invalid.yaml +16 -0
- data/tests/n9000_sample-1.0.0-7.0.3.x86_64.rpm +0 -0
- data/tests/noop.rb +7 -0
- data/tests/platform_info.rb +63 -0
- data/tests/tacacs_server.yaml.example +6 -0
- data/tests/test_aaa_authentication_login.rb +243 -0
- data/tests/test_aaa_authentication_login_service.rb +761 -0
- data/tests/test_aaa_authorization_service.rb +874 -0
- data/tests/test_ace.rb +304 -0
- data/tests/test_acl.rb +185 -0
- data/tests/test_banner.rb +85 -0
- data/tests/test_bfd_global.rb +272 -0
- data/tests/test_bgp_af.rb +875 -0
- data/tests/test_bgp_af_aa.rb +108 -0
- data/tests/test_bgp_neighbor.rb +596 -0
- data/tests/test_bgp_neighbor_af.rb +781 -0
- data/tests/test_bridge_domain.rb +198 -0
- data/tests/test_bridge_domain_vni.rb +109 -0
- data/tests/test_client_utils.rb +111 -0
- data/tests/test_cmn_utils.rb +76 -0
- data/tests/test_command_config.rb +206 -0
- data/tests/test_command_reference.rb +669 -0
- data/tests/test_dhcp_relay_global.rb +286 -0
- data/tests/test_dns_domain.rb +123 -0
- data/tests/test_domain_name.rb +96 -0
- data/tests/test_encapsulation.rb +75 -0
- data/tests/test_evpn_multicast.rb +65 -0
- data/tests/test_evpn_multisite.rb +70 -0
- data/tests/test_evpn_stormcontrol.rb +56 -0
- data/tests/test_evpn_vni.rb +131 -0
- data/tests/test_fabricpath_global.rb +246 -0
- data/tests/test_fabricpath_topology.rb +77 -0
- data/tests/test_feature.rb +272 -0
- data/tests/test_grpc.rb +166 -0
- data/tests/test_hostname.rb +64 -0
- data/tests/test_hsrp_global.rb +79 -0
- data/tests/test_interface.rb +1958 -0
- data/tests/test_interface_bdi.rb +80 -0
- data/tests/test_interface_channel_group.rb +131 -0
- data/tests/test_interface_evpn_multisite.rb +94 -0
- data/tests/test_interface_hsrp.rb +134 -0
- data/tests/test_interface_hsrp_group.rb +570 -0
- data/tests/test_interface_ospf.rb +820 -0
- data/tests/test_interface_portchannel.rb +135 -0
- data/tests/test_interface_private_vlan.rb +365 -0
- data/tests/test_interface_service_vni.rb +203 -0
- data/tests/test_interface_svi.rb +210 -0
- data/tests/test_interface_switchport.rb +468 -0
- data/tests/test_ip_multicast.rb +80 -0
- data/tests/test_itd_device_group.rb +145 -0
- data/tests/test_itd_device_group_node.rb +199 -0
- data/tests/test_itd_service.rb +314 -0
- data/tests/test_logger.rb +43 -0
- data/tests/test_name_server.rb +94 -0
- data/tests/test_node.rb +50 -0
- data/tests/test_node_ext.rb +406 -0
- data/tests/test_node_util.rb +119 -0
- data/tests/test_ntp_auth_key.rb +77 -0
- data/tests/test_ntp_config.rb +100 -0
- data/tests/test_ntp_server.rb +146 -0
- data/tests/test_nxapi.rb +236 -0
- data/tests/test_object_group.rb +122 -0
- data/tests/test_overlay_global.rb +108 -0
- data/tests/test_pim.rb +203 -0
- data/tests/test_pim_group_list.rb +147 -0
- data/tests/test_pim_rp_address.rb +155 -0
- data/tests/test_platform.rb +254 -0
- data/tests/test_portchannel_global.rb +322 -0
- data/tests/test_radius_global.rb +108 -0
- data/tests/test_radius_server.rb +377 -0
- data/tests/test_radius_server_group.rb +151 -0
- data/tests/test_route_map.rb +1479 -0
- data/tests/test_router_bgp.rb +1325 -0
- data/tests/test_router_ospf.rb +56 -0
- data/tests/test_router_ospf_area.rb +433 -0
- data/tests/test_router_ospf_area_vlink.rb +298 -0
- data/tests/test_router_ospf_vrf.rb +690 -0
- data/tests/test_snmp_notification_receiver.rb +169 -0
- data/tests/test_snmpcommunity.rb +422 -0
- data/tests/test_snmpgroup.rb +71 -0
- data/tests/test_snmpnotification.rb +91 -0
- data/tests/test_snmpserver.rb +251 -0
- data/tests/test_snmpuser.rb +666 -0
- data/tests/test_span_session.rb +155 -0
- data/tests/test_stp_global.rb +575 -0
- data/tests/test_syslog_facility.rb +80 -0
- data/tests/test_syslog_server.rb +119 -0
- data/tests/test_syslog_settings.rb +123 -0
- data/tests/test_tacacs_global.rb +109 -0
- data/tests/test_tacacs_server.rb +436 -0
- data/tests/test_tacacs_server_group.rb +434 -0
- data/tests/test_tacacs_server_host.rb +427 -0
- data/tests/test_upgrade.rb +105 -0
- data/tests/test_vdc.rb +64 -0
- data/tests/test_vlan.rb +386 -0
- data/tests/test_vlan_private.rb +656 -0
- data/tests/test_vpc.rb +548 -0
- data/tests/test_vrf.rb +248 -0
- data/tests/test_vrf_af.rb +288 -0
- data/tests/test_vtp.rb +278 -0
- data/tests/test_vxlan_vtep.rb +327 -0
- data/tests/test_vxlan_vtep_vni.rb +326 -0
- data/tests/test_yang.rb +369 -0
- data/tests/test_yum.rb +109 -0
- data/tests/upgrade_info.yaml.example +3 -0
- data/tests/yum_package.yaml +94 -0
- metadata +534 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Minitest for SyslogServer class
|
|
3
|
+
#
|
|
4
|
+
# Copyright (c) 2014-2018 Cisco and/or its affiliates.
|
|
5
|
+
#
|
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
# you may not use this file except in compliance with the License.
|
|
8
|
+
# You may obtain a copy of the License at
|
|
9
|
+
#
|
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
#
|
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
# See the License for the specific language governing permissions and
|
|
16
|
+
# limitations under the License.
|
|
17
|
+
|
|
18
|
+
require_relative 'ciscotest'
|
|
19
|
+
require_relative '../lib/cisco_node_utils/syslog_server'
|
|
20
|
+
|
|
21
|
+
# TestSyslogServer - Minitest for SyslogServer node utility.
|
|
22
|
+
class TestSyslogServer < CiscoTestCase
|
|
23
|
+
def setup
|
|
24
|
+
# setup runs at the beginning of each test
|
|
25
|
+
super
|
|
26
|
+
no_syslogserver
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def teardown
|
|
30
|
+
# teardown runs at the end of each test
|
|
31
|
+
no_syslogserver
|
|
32
|
+
super
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def no_syslogserver
|
|
36
|
+
# Turn the feature off for a clean test.
|
|
37
|
+
if platform == :ios_xr
|
|
38
|
+
config('no logging 1.2.3.4',
|
|
39
|
+
'no logging 1.2.3.4 vrf red',
|
|
40
|
+
'no logging 2003::2',
|
|
41
|
+
'no logging 2003::2 vrf red',
|
|
42
|
+
'no vrf red')
|
|
43
|
+
else
|
|
44
|
+
config('no logging server 1.2.3.4',
|
|
45
|
+
'no logging server 2003::2',
|
|
46
|
+
'no vrf context red')
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# TESTS
|
|
51
|
+
|
|
52
|
+
def test_create_destroy_single_ipv4
|
|
53
|
+
id = '1.2.3.4'
|
|
54
|
+
refute_includes(Cisco::SyslogServer.syslogservers, id)
|
|
55
|
+
|
|
56
|
+
server = Cisco::SyslogServer.new({ 'name' => id, 'vrf' => 'default' }, true)
|
|
57
|
+
assert_includes(Cisco::SyslogServer.syslogservers, id)
|
|
58
|
+
assert_equal(server, Cisco::SyslogServer.syslogservers[id])
|
|
59
|
+
|
|
60
|
+
server.destroy
|
|
61
|
+
refute_includes(Cisco::SyslogServer.syslogservers, id)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def test_create_destroy_single_ipv6
|
|
65
|
+
id = '2003::2'
|
|
66
|
+
refute_includes(Cisco::SyslogServer.syslogservers, id)
|
|
67
|
+
|
|
68
|
+
server = Cisco::SyslogServer.new({ 'name' => id, 'vrf' => 'default' }, true)
|
|
69
|
+
assert_includes(Cisco::SyslogServer.syslogservers, id)
|
|
70
|
+
assert_equal(server, Cisco::SyslogServer.syslogservers[id])
|
|
71
|
+
|
|
72
|
+
server.destroy
|
|
73
|
+
refute_includes(Cisco::SyslogServer.syslogservers, id)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def test_create_destroy_multiple
|
|
77
|
+
id = '1.2.3.4'
|
|
78
|
+
id2 = '2003::2'
|
|
79
|
+
refute_includes(Cisco::SyslogServer.syslogservers, id)
|
|
80
|
+
refute_includes(Cisco::SyslogServer.syslogservers, id2)
|
|
81
|
+
|
|
82
|
+
server = Cisco::SyslogServer.new({ 'name' => id, 'vrf' => 'default' }, true)
|
|
83
|
+
server2 = Cisco::SyslogServer.new({ 'name' => id2, 'vrf' => 'default' },
|
|
84
|
+
true)
|
|
85
|
+
assert_includes(Cisco::SyslogServer.syslogservers, id)
|
|
86
|
+
assert_equal(server, Cisco::SyslogServer.syslogservers[id])
|
|
87
|
+
assert_includes(Cisco::SyslogServer.syslogservers, id2)
|
|
88
|
+
assert_equal(server2, Cisco::SyslogServer.syslogservers[id2])
|
|
89
|
+
|
|
90
|
+
server.destroy
|
|
91
|
+
server2.destroy
|
|
92
|
+
refute_includes(Cisco::SyslogServer.syslogservers, id)
|
|
93
|
+
refute_includes(Cisco::SyslogServer.syslogservers, id2)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def test_create_options
|
|
97
|
+
if platform == :ios_xr
|
|
98
|
+
config('vrf red')
|
|
99
|
+
else
|
|
100
|
+
config('vrf context red')
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
id = '1.2.3.4'
|
|
104
|
+
options = { 'name' => id, 'level' => '4', 'port' => '2154', 'vrf' => 'red', 'facility' => 'local5' }
|
|
105
|
+
|
|
106
|
+
refute_includes(Cisco::SyslogServer.syslogservers, id)
|
|
107
|
+
|
|
108
|
+
server = Cisco::SyslogServer.new(options, true)
|
|
109
|
+
assert_includes(Cisco::SyslogServer.syslogservers, id)
|
|
110
|
+
assert_equal(server, Cisco::SyslogServer.syslogservers[id])
|
|
111
|
+
assert_equal('4', Cisco::SyslogServer.syslogservers[id].level)
|
|
112
|
+
assert_equal('2154', Cisco::SyslogServer.syslogservers[id].port)
|
|
113
|
+
assert_equal('red', Cisco::SyslogServer.syslogservers[id].vrf)
|
|
114
|
+
assert_equal('local5', Cisco::SyslogServer.syslogservers[id].facility)
|
|
115
|
+
|
|
116
|
+
server.destroy
|
|
117
|
+
refute_includes(Cisco::SyslogServer.syslogservers, id)
|
|
118
|
+
end
|
|
119
|
+
end
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Minitest for SyslogSetting class
|
|
3
|
+
#
|
|
4
|
+
# Copyright (c) 2014-2016 Cisco and/or its affiliates.
|
|
5
|
+
#
|
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
# you may not use this file except in compliance with the License.
|
|
8
|
+
# You may obtain a copy of the License at
|
|
9
|
+
#
|
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
#
|
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
# See the License for the specific language governing permissions and
|
|
16
|
+
# limitations under the License.
|
|
17
|
+
|
|
18
|
+
require_relative 'ciscotest'
|
|
19
|
+
require_relative '../lib/cisco_node_utils/syslog_settings'
|
|
20
|
+
|
|
21
|
+
# TestSyslogSetting - Minitest for SyslogSetting node utility.
|
|
22
|
+
class TestSyslogSettings < CiscoTestCase
|
|
23
|
+
def setup
|
|
24
|
+
return if platform != :nexus
|
|
25
|
+
# setup runs at the beginning of each test
|
|
26
|
+
super
|
|
27
|
+
default_syslogsettings
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def teardown
|
|
31
|
+
return if platform != :nexus
|
|
32
|
+
# teardown runs at the end of each test
|
|
33
|
+
default_syslogsettings
|
|
34
|
+
super
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def default_syslogsettings
|
|
38
|
+
# Turn the feature off for a clean test.
|
|
39
|
+
config('no logging timestamp seconds',
|
|
40
|
+
'logging console 2',
|
|
41
|
+
'logging monitor 5',
|
|
42
|
+
'no logging source-interface',
|
|
43
|
+
'no logging logfile')
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# TESTS
|
|
47
|
+
|
|
48
|
+
def test_timestamp
|
|
49
|
+
syslog_setting = Cisco::SyslogSettings.new('default')
|
|
50
|
+
|
|
51
|
+
if platform == :ios_xr
|
|
52
|
+
assert_nil(syslog_setting.timestamp)
|
|
53
|
+
assert_raises(Cisco::UnsupportedError) do
|
|
54
|
+
syslog_setting.timestamp = 'milliseconds'
|
|
55
|
+
end
|
|
56
|
+
else
|
|
57
|
+
assert_includes(Cisco::SyslogSettings.syslogsettings, 'default')
|
|
58
|
+
assert_equal(syslog_setting,
|
|
59
|
+
Cisco::SyslogSettings.syslogsettings['default'],
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
syslog_setting.timestamp = 'milliseconds'
|
|
63
|
+
assert_equal('milliseconds',
|
|
64
|
+
Cisco::SyslogSettings.syslogsettings['default'].timestamp,
|
|
65
|
+
)
|
|
66
|
+
assert_equal('milliseconds',
|
|
67
|
+
syslog_setting.timestamp,
|
|
68
|
+
)
|
|
69
|
+
syslog_setting.time_stamp_units = 'seconds'
|
|
70
|
+
assert_equal('seconds',
|
|
71
|
+
syslog_setting.time_stamp_units,
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def test_console
|
|
77
|
+
syslog_setting = Cisco::SyslogSettings.new('default')
|
|
78
|
+
|
|
79
|
+
# Some systems return the value and othesr get it from yaml - normalize
|
|
80
|
+
assert_equal(syslog_setting.default_console, syslog_setting.console.to_i)
|
|
81
|
+
assert_equal(2, syslog_setting.console)
|
|
82
|
+
syslog_setting.console = '1'
|
|
83
|
+
assert_equal('1', syslog_setting.console)
|
|
84
|
+
syslog_setting.console = nil
|
|
85
|
+
assert_equal('unset', syslog_setting.console)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def test_monitor
|
|
89
|
+
syslog_setting = Cisco::SyslogSettings.new('default')
|
|
90
|
+
|
|
91
|
+
# Some systems return the value and othesr get it from yaml - normalize
|
|
92
|
+
assert_equal(syslog_setting.default_monitor, syslog_setting.monitor.to_i)
|
|
93
|
+
assert_equal('5', syslog_setting.monitor)
|
|
94
|
+
syslog_setting.monitor = '7'
|
|
95
|
+
assert_equal('7', syslog_setting.monitor)
|
|
96
|
+
syslog_setting.monitor = nil
|
|
97
|
+
assert_equal('unset', syslog_setting.monitor)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def test_source_interface
|
|
101
|
+
syslog_setting = Cisco::SyslogSettings.new('default')
|
|
102
|
+
|
|
103
|
+
assert_nil(syslog_setting.source_interface)
|
|
104
|
+
syslog_setting.source_interface = 'mgmt0'
|
|
105
|
+
assert_equal('mgmt0', syslog_setting.source_interface)
|
|
106
|
+
syslog_setting.source_interface = nil
|
|
107
|
+
assert_nil(syslog_setting.source_interface)
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def test_logfile
|
|
111
|
+
syslog_setting = Cisco::SyslogSettings.new('default')
|
|
112
|
+
|
|
113
|
+
assert_equal('unset', syslog_setting.logfile_name)
|
|
114
|
+
syslog_setting.send('logfile_name=', 'testlog', 5, 'size 4097')
|
|
115
|
+
assert_equal('testlog', syslog_setting.logfile_name)
|
|
116
|
+
assert_equal('5', syslog_setting.logfile_severity_level)
|
|
117
|
+
assert_equal('4097', syslog_setting.logfile_size)
|
|
118
|
+
syslog_setting.send('logfile_name=', nil, nil, nil)
|
|
119
|
+
assert_equal('unset', syslog_setting.logfile_name)
|
|
120
|
+
assert_nil(syslog_setting.logfile_severity_level)
|
|
121
|
+
assert_nil(syslog_setting.logfile_size)
|
|
122
|
+
end
|
|
123
|
+
end
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Minitest for TacacsGlobal class
|
|
3
|
+
#
|
|
4
|
+
# Copyright (c) 2014-2017 Cisco and/or its affiliates.
|
|
5
|
+
#
|
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
# you may not use this file except in compliance with the License.
|
|
8
|
+
# You may obtain a copy of the License at
|
|
9
|
+
#
|
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
#
|
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
# See the License for the specific language governing permissions and
|
|
16
|
+
# limitations under the License.
|
|
17
|
+
|
|
18
|
+
require_relative 'ciscotest'
|
|
19
|
+
require_relative '../lib/cisco_node_utils/tacacs_global'
|
|
20
|
+
|
|
21
|
+
# TestTacacsGlobal - Minitest for TacacsGlobal node utility.
|
|
22
|
+
class TestTacacsGlobal < CiscoTestCase
|
|
23
|
+
@skip_unless_supported = 'tacacs_global'
|
|
24
|
+
|
|
25
|
+
def setup
|
|
26
|
+
# setup runs at the beginning of each test
|
|
27
|
+
super
|
|
28
|
+
config_no_warn('no feature tacacs+') if platform == :nexus
|
|
29
|
+
no_tacacs_global if platform == :ios_xr
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def teardown
|
|
33
|
+
# teardown runs at the end of each test
|
|
34
|
+
no_tacacs_global if platform == :ios_xr
|
|
35
|
+
config_no_warn('no feature tacacs+') if platform == :nexus
|
|
36
|
+
super
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def no_tacacs_global
|
|
40
|
+
# Turn the feature off for a clean test.
|
|
41
|
+
config('no tacacs-server timeout 2')
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# TESTS
|
|
45
|
+
|
|
46
|
+
def test_tacacs_global
|
|
47
|
+
id = 'default'
|
|
48
|
+
|
|
49
|
+
global = Cisco::TacacsGlobal.new(id)
|
|
50
|
+
assert_includes(Cisco::TacacsGlobal.tacacs_global, id)
|
|
51
|
+
assert_equal(global, Cisco::TacacsGlobal.tacacs_global[id])
|
|
52
|
+
|
|
53
|
+
# No timeout when TACACS is not enabled
|
|
54
|
+
assert_nil(global.timeout)
|
|
55
|
+
|
|
56
|
+
# Turn on TACACS and verify default Timeout
|
|
57
|
+
config_no_warn('feature tacacs+') if platform == :nexus
|
|
58
|
+
assert_equal(global.default_timeout, global.timeout)
|
|
59
|
+
|
|
60
|
+
# Timeout update
|
|
61
|
+
global.timeout = 10
|
|
62
|
+
assert_equal(10, Cisco::TacacsGlobal.tacacs_global[id].timeout)
|
|
63
|
+
assert_equal(10, global.timeout)
|
|
64
|
+
|
|
65
|
+
# Do not unset timout if TACACS is enabled
|
|
66
|
+
assert_raises(ArgumentError) do
|
|
67
|
+
global.timeout = nil
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Check there is no default key
|
|
71
|
+
assert_equal('', global.key)
|
|
72
|
+
|
|
73
|
+
# first key change - unencrypted key
|
|
74
|
+
key = 'TEST_NEW'
|
|
75
|
+
global.encryption_key_set(nil, key)
|
|
76
|
+
# Device encypts key - verify return value
|
|
77
|
+
assert_equal(7, global.key_format)
|
|
78
|
+
key = 'WAWY_NZB'
|
|
79
|
+
assert_equal(key, global.key)
|
|
80
|
+
|
|
81
|
+
skip_versions = ['7.0.3.(I2|I3)', '7.0.3.I4.[1-7]']
|
|
82
|
+
if step_unless_legacy_defect(skip_versions, 'CSCvh72911: Cannot configure tacacs-server key 6')
|
|
83
|
+
# second key change - modify key to type6
|
|
84
|
+
key_format = 6
|
|
85
|
+
# Must use a valid type6 password: CSCvb36266
|
|
86
|
+
key = 'JDYkqyIFWeBvzpljSfWmRZrmRSRE8'
|
|
87
|
+
global.encryption_key_set(key_format, key)
|
|
88
|
+
assert_equal(key_format, global.key_format)
|
|
89
|
+
|
|
90
|
+
assert_equal(key, global.key)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# Remove global key
|
|
94
|
+
global.encryption_key_set('', '')
|
|
95
|
+
assert_equal('', global.key)
|
|
96
|
+
|
|
97
|
+
# Default source interface
|
|
98
|
+
assert_nil(global.source_interface)
|
|
99
|
+
|
|
100
|
+
# Set source interface
|
|
101
|
+
interface = 'loopback0'
|
|
102
|
+
global.source_interface = interface
|
|
103
|
+
assert_equal(interface, global.source_interface)
|
|
104
|
+
|
|
105
|
+
# Remove source interface
|
|
106
|
+
global.source_interface = nil
|
|
107
|
+
assert_nil(global.source_interface)
|
|
108
|
+
end
|
|
109
|
+
end
|