From: Cédric Ollivier Date: Wed, 30 Nov 2016 00:25:24 +0000 (+0100) Subject: Allow unit testing w/o internet connectivity X-Git-Tag: danube.1.RC1~280^2 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F87%2F25187%2F2;p=functest.git Allow unit testing w/o internet connectivity urllib2.urlopen() is now patched when testing the internet connectivity helper. Change-Id: I4ddf1dd8f494fe282735e1051986a0b5dd1a040f Signed-off-by: Cédric Ollivier --- diff --git a/functest/tests/unit/utils/test_utils.py b/functest/tests/unit/utils/test_utils.py index 835797f7c..8b6c5e1b9 100644 --- a/functest/tests/unit/utils/test_utils.py +++ b/functest/tests/unit/utils/test_utils.py @@ -8,7 +8,9 @@ # http://www.apache.org/licenses/LICENSE-2.0 import logging +import mock import unittest +import urllib2 from functest.utils import functest_utils @@ -18,12 +20,25 @@ class FunctestUtilsTesting(unittest.TestCase): logging.disable(logging.CRITICAL) def setUp(self): - self.test = functest_utils - - def test_check_internet_connectivity(self): - self.assertTrue(self.test.check_internet_connectivity()) -# TODO -# ... + self.url = 'http://www.opnfv.org/' + self.timeout = 5 + + @mock.patch('urllib2.urlopen', + side_effect=urllib2.URLError('no host given')) + def test_check_internet_connectivity_failed(self, mock_method): + self.assertFalse(functest_utils.check_internet_connectivity()) + mock_method.assert_called_once_with(self.url, timeout=self.timeout) + + @mock.patch('urllib2.urlopen') + def test_check_internet_connectivity_default(self, mock_method): + self.assertTrue(functest_utils.check_internet_connectivity()) + mock_method.assert_called_once_with(self.url, timeout=self.timeout) + + @mock.patch('urllib2.urlopen') + def test_check_internet_connectivity_debian(self, mock_method): + self.url = "https://www.debian.org/" + self.assertTrue(functest_utils.check_internet_connectivity(self.url)) + mock_method.assert_called_once_with(self.url, timeout=self.timeout) if __name__ == "__main__":