diff options
Diffstat (limited to 'tests/test_trapd_vb_types.py')
-rw-r--r-- | tests/test_trapd_vb_types.py | 116 |
1 files changed, 109 insertions, 7 deletions
diff --git a/tests/test_trapd_vb_types.py b/tests/test_trapd_vb_types.py index 67c9233..1cf75ab 100644 --- a/tests/test_trapd_vb_types.py +++ b/tests/test_trapd_vb_types.py @@ -1,3 +1,19 @@ +# ============LICENSE_START======================================================= +# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= + import pytest import json import unittest @@ -16,25 +32,111 @@ class test_trapd_vb_types(unittest.TestCase): Test snmpv3 module """ - def trapd_vb_type_conversion_valid(self): + good_varbind_types = ["Integer", "Unsigned32", "Counter32", "OctetString", "ObjectIdentifier", "TimeTicks", "IpAddress"] + + def trapd_vb_type_conversion_integer(self): """ - Test that pysnmp varbind types convert to netsnmp + Test that pysnmp varbind types Integer converts """ - tds.c_config = json.loads("{ \"snmptrapd\": { \"version\": \"1.4.0\", \"title\": \"ONAP SNMP Trap Receiver\" }, \"protocols\": { \"transport\": \"udp\", \"ipv4_interface\": \"0.0.0.0\", \"ipv4_port\": 6162, \"ipv6_interface\": \"::1\", \"ipv6_port\": 6162 }, \"cache\": { \"dns_cache_ttl_seconds\": 60 }, \"publisher\": { \"http_timeout_milliseconds\": 1500, \"http_retries\": 3, \"http_milliseconds_between_retries\": 750, \"http_primary_publisher\": \"true\", \"http_peer_publisher\": \"unavailable\", \"max_traps_between_publishes\": 10, \"max_milliseconds_between_publishes\": 10000 }, \"streams_publishes\": { \"sec_fault_unsecure\": { \"type\": \"message_router\", \"aaf_password\": null, \"dmaap_info\": { \"location\": \"mtl5\", \"client_id\": null, \"client_role\": null, \"topic_url\": \"http://localhost:3904/events/ONAP-COLLECTOR-SNMPTRAP\" }, \"aaf_username\": null } }, \"files\": { \"runtime_base_dir\": \"/tmp/opt/app/snmptrap\", \"log_dir\": \"logs\", \"data_dir\": \"data\", \"pid_dir\": \"tmp\", \"arriving_traps_log\": \"snmptrapd_arriving_traps.log\", \"snmptrapd_diag\": \"snmptrapd_prog_diag.log\", \"traps_stats_log\": \"snmptrapd_stats.csv\", \"perm_status_file\": \"snmptrapd_status.log\", \"eelf_base_dir\": \"/tmp/opt/app/snmptrap/logs\", \"eelf_error\": \"error.log\", \"eelf_debug\": \"debug.log\", \"eelf_audit\": \"audit.log\", \"eelf_metrics\": \"metrics.log\", \"roll_frequency\": \"day\", \"minimum_severity_to_log\": 2 }, \"trap_config\": { \"sw_interval_in_seconds\": 60, \"notify_oids\": { \".1.3.6.1.4.1.9.0.1\": { \"sw_high_water_in_interval\": 102, \"sw_low_water_in_interval\": 7, \"category\": \"logonly\" }, \".1.3.6.1.4.1.9.0.2\": { \"sw_high_water_in_interval\": 101, \"sw_low_water_in_interval\": 7, \"category\": \"logonly\" }, \".1.3.6.1.4.1.9.0.3\": { \"sw_high_water_in_interval\": 102, \"sw_low_water_in_interval\": 7, \"category\": \"logonly\" }, \".1.3.6.1.4.1.9.0.4\": { \"sw_high_water_in_interval\": 10, \"sw_low_water_in_interval\": 3, \"category\": \"logonly\" } } } }") + result = trapd_vb_types.pysnmp_to_netsnmp_varbind_convert("Integer32") + self.assertEqual(result, "integer") + + def trapd_vb_type_conversion_integer(self): + """ + Test that pysnmp varbind types Integer converts + """ - good_varbind_types = ["Integer", "Unsigned32", "Counter32", "OctetString", "ObjectIdentifier", "TimeTicks", "IpAddress"] result = trapd_vb_types.pysnmp_to_netsnmp_varbind_convert("Integer") self.assertEqual(result, "integer") - def trapd_vb_type_conversion_invalid(self): + def trapd_vb_type_conversion_integer(self): + """ + Test that pysnmp varbind types Integer converts + """ + + result = trapd_vb_types.pysnmp_to_netsnmp_varbind_convert("Gauge32") + self.assertEqual(result, "unsigned") + + def trapd_vb_type_conversion_integer(self): + """ + Test that pysnmp varbind types Integer converts + """ + + result = trapd_vb_types.pysnmp_to_netsnmp_varbind_convert("Counter32") + self.assertEqual(result, "counter32") + + def trapd_vb_type_conversion_integer(self): + """ + Test that pysnmp varbind types convert accurately + """ + + result = trapd_vb_types.pysnmp_to_netsnmp_varbind_convert("OctetString") + self.assertEqual(result, "octet") + + def trapd_vb_type_conversion_integer(self): + """ + Test that pysnmp varbind types convert accurately + """ + + result = trapd_vb_types.pysnmp_to_netsnmp_varbind_convert("py_type_5") + self.assertEqual(result, "hex") + + def trapd_vb_type_conversion_integer(self): """ - Test that pysnmp varbind types convert to netsnmp + Test that pysnmp varbind types convert accurately """ - tds.c_config = json.loads("{ \"snmptrapd\": { \"version\": \"1.4.0\", \"title\": \"ONAP SNMP Trap Receiver\" }, \"protocols\": { \"transport\": \"udp\", \"ipv4_interface\": \"0.0.0.0\", \"ipv4_port\": 6162, \"ipv6_interface\": \"::1\", \"ipv6_port\": 6162 }, \"cache\": { \"dns_cache_ttl_seconds\": 60 }, \"publisher\": { \"http_timeout_milliseconds\": 1500, \"http_retries\": 3, \"http_milliseconds_between_retries\": 750, \"http_primary_publisher\": \"true\", \"http_peer_publisher\": \"unavailable\", \"max_traps_between_publishes\": 10, \"max_milliseconds_between_publishes\": 10000 }, \"streams_publishes\": { \"sec_fault_unsecure\": { \"type\": \"message_router\", \"aaf_password\": null, \"dmaap_info\": { \"location\": \"mtl5\", \"client_id\": null, \"client_role\": null, \"topic_url\": \"http://localhost:3904/events/ONAP-COLLECTOR-SNMPTRAP\" }, \"aaf_username\": null } }, \"files\": { \"runtime_base_dir\": \"/tmp/opt/app/snmptrap\", \"log_dir\": \"logs\", \"data_dir\": \"data\", \"pid_dir\": \"tmp\", \"arriving_traps_log\": \"snmptrapd_arriving_traps.log\", \"snmptrapd_diag\": \"snmptrapd_prog_diag.log\", \"traps_stats_log\": \"snmptrapd_stats.csv\", \"perm_status_file\": \"snmptrapd_status.log\", \"eelf_base_dir\": \"/tmp/opt/app/snmptrap/logs\", \"eelf_error\": \"error.log\", \"eelf_debug\": \"debug.log\", \"eelf_audit\": \"audit.log\", \"eelf_metrics\": \"metrics.log\", \"roll_frequency\": \"day\", \"minimum_severity_to_log\": 2 }, \"trap_config\": { \"sw_interval_in_seconds\": 60, \"notify_oids\": { \".1.3.6.1.4.1.9.0.1\": { \"sw_high_water_in_interval\": 102, \"sw_low_water_in_interval\": 7, \"category\": \"logonly\" }, \".1.3.6.1.4.1.9.0.2\": { \"sw_high_water_in_interval\": 101, \"sw_low_water_in_interval\": 7, \"category\": \"logonly\" }, \".1.3.6.1.4.1.9.0.3\": { \"sw_high_water_in_interval\": 102, \"sw_low_water_in_interval\": 7, \"category\": \"logonly\" }, \".1.3.6.1.4.1.9.0.4\": { \"sw_high_water_in_interval\": 10, \"sw_low_water_in_interval\": 3, \"category\": \"logonly\" } } } }") + result = trapd_vb_types.pysnmp_to_netsnmp_varbind_convert("py_type_6") + self.assertEqual(result, "decimal") + + def trapd_vb_type_conversion_integer(self): + """ + Test that pysnmp varbind types convert accurately + """ + + result = trapd_vb_types.pysnmp_to_netsnmp_varbind_convert("Null") + self.assertEqual(result, "null") + + def trapd_vb_type_conversion_integer(self): + """ + Test that pysnmp varbind types convert accurately + """ + + result = trapd_vb_types.pysnmp_to_netsnmp_varbind_convert("ObjectIdentifier") + self.assertEqual(result, "oid") + + def trapd_vb_type_conversion_integer(self): + """ + Test that pysnmp varbind types convert accurately + """ + + result = trapd_vb_types.pysnmp_to_netsnmp_varbind_convert("TimeTicks") + self.assertEqual(result, "timeticks") + + def trapd_vb_type_conversion_integer(self): + """ + Test that pysnmp varbind types convert accurately + """ + + result = trapd_vb_types.pysnmp_to_netsnmp_varbind_convert("IpAddress") + self.assertEqual(result, "ipaddress") + + def trapd_vb_type_conversion_integer(self): + """ + Test that pysnmp varbind types convert accurately + """ + + result = trapd_vb_types.pysnmp_to_netsnmp_varbind_convert("Bits") + self.assertEqual(result, "bits") + + def trapd_vb_type_conversion_invalid(self): + """ + Test that pysnmp varbind types convert accurately + """ result = trapd_vb_types.pysnmp_to_netsnmp_varbind_convert("noSuchVarbindType") + # should return default of octet if not defined self.assertEqual(result, "octet") |