diff options
author | Scott Moser <smoser@ubuntu.com> | 2018-05-23 16:04:42 -0400 |
---|---|---|
committer | Scott Moser <smoser@brickies.net> | 2018-05-23 16:04:42 -0400 |
commit | 12799d96f85e210c8e1216a3b06d8a98468fedd7 (patch) | |
tree | 54ab97e70752447a112f491c3fc1e10cbeb9bbec /cloudinit | |
parent | 3b28bdc616f3e7f4d6b419629dc7b9efc3ae8d1e (diff) | |
download | vyos-cloud-init-12799d96f85e210c8e1216a3b06d8a98468fedd7.tar.gz vyos-cloud-init-12799d96f85e210c8e1216a3b06d8a98468fedd7.zip |
tests: Avoid using https in httpretty, improve HttPretty test case.
On OpenSuSE 42.3, we would get errors running
tests/unittests/test_handler/test_handler_chef.py
- test_myhttps_nonet raises a UnmockedError
No mocking was registered, and real connections are not allowed
- test_myhttps_net raises SSLError
("bad handshake: SysCallError(32, 'EPIPE')",)
This fixes the errors by just using http instead of https.
Also it modifies the HttprettyTestCase to do the httpretty activate
and deactivate itself in setUp and tearDown. Then we don't have to
decorate individual test_ methods. Also, we set
httpretty.HTTPretty.allow_net_connect = False
Test cases here should not reach out to a network resource.
LP: #1771659
Diffstat (limited to 'cloudinit')
-rw-r--r-- | cloudinit/tests/helpers.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cloudinit/tests/helpers.py b/cloudinit/tests/helpers.py index 07059fd4..5bfe7fa4 100644 --- a/cloudinit/tests/helpers.py +++ b/cloudinit/tests/helpers.py @@ -3,6 +3,7 @@ from __future__ import print_function import functools +import httpretty import logging import os import shutil @@ -303,14 +304,21 @@ class FilesystemMockingTestCase(ResourceUsingTestCase): class HttprettyTestCase(CiTestCase): # necessary as http_proxy gets in the way of httpretty # https://github.com/gabrielfalcao/HTTPretty/issues/122 + # Also make sure that allow_net_connect is set to False. + # And make sure reset and enable/disable are done. def setUp(self): self.restore_proxy = os.environ.get('http_proxy') if self.restore_proxy is not None: del os.environ['http_proxy'] super(HttprettyTestCase, self).setUp() + httpretty.HTTPretty.allow_net_connect = False + httpretty.reset() + httpretty.enable() def tearDown(self): + httpretty.disable() + httpretty.reset() if self.restore_proxy: os.environ['http_proxy'] = self.restore_proxy super(HttprettyTestCase, self).tearDown() |