From 846098fd8a2e2b7025f6976e26e8b21f4ebe2466 Mon Sep 17 00:00:00 2001 From: John Estabrook Date: Tue, 26 Apr 2022 08:22:03 -0500 Subject: smoketest: http: add decorator to suppress warnings locally --- smoketest/scripts/cli/base_vyostest_shim.py | 15 +++++++++++++++ smoketest/scripts/cli/test_service_https.py | 6 +++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/smoketest/scripts/cli/base_vyostest_shim.py b/smoketest/scripts/cli/base_vyostest_shim.py index 1652aa0d6..7cfb53045 100644 --- a/smoketest/scripts/cli/base_vyostest_shim.py +++ b/smoketest/scripts/cli/base_vyostest_shim.py @@ -16,6 +16,7 @@ import os import unittest from time import sleep +from typing import Type from vyos.configsession import ConfigSession from vyos.configsession import ConfigSessionError @@ -85,3 +86,17 @@ class VyOSUnitTestSHIM: print(f'\n\ncommand "{command}" returned:\n') pprint.pprint(out) return out + +# standard construction; typing suggestion: https://stackoverflow.com/a/70292317 +def ignore_warning(warning: Type[Warning]): + import warnings + from functools import wraps + + def inner(f): + @wraps(f) + def wrapped(*args, **kwargs): + with warnings.catch_warnings(): + warnings.simplefilter("ignore", category=warning) + return f(*args, **kwargs) + return wrapped + return inner diff --git a/smoketest/scripts/cli/test_service_https.py b/smoketest/scripts/cli/test_service_https.py index 9413d22d1..71fb3e177 100755 --- a/smoketest/scripts/cli/test_service_https.py +++ b/smoketest/scripts/cli/test_service_https.py @@ -15,16 +15,15 @@ # along with this program. If not, see . import unittest -import urllib3 from requests import request +from urllib3.exceptions import InsecureRequestWarning from base_vyostest_shim import VyOSUnitTestSHIM +from base_vyostest_shim import ignore_warning from vyos.util import read_file from vyos.util import run -urllib3.disable_warnings() - base_path = ['service', 'https'] pki_base = ['pki'] @@ -100,6 +99,7 @@ class TestHTTPSService(VyOSUnitTestSHIM.TestCase): ret = run('sudo /usr/sbin/nginx -t') self.assertEqual(ret, 0) + @ignore_warning(InsecureRequestWarning) def test_api_auth(self): vhost_id = 'example' address = '127.0.0.1' -- cgit v1.2.3