summaryrefslogtreecommitdiff
path: root/cloudinit/tests
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2018-05-23 16:04:42 -0400
committerScott Moser <smoser@brickies.net>2018-05-23 16:04:42 -0400
commit12799d96f85e210c8e1216a3b06d8a98468fedd7 (patch)
tree54ab97e70752447a112f491c3fc1e10cbeb9bbec /cloudinit/tests
parent3b28bdc616f3e7f4d6b419629dc7b9efc3ae8d1e (diff)
downloadvyos-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/tests')
-rw-r--r--cloudinit/tests/helpers.py8
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()