Add test_download_file_from_http_fail 51/38551/1
authorEthan Lynn <ethanlynnl@vmware.com>
Mon, 26 Mar 2018 05:29:38 +0000 (22:29 -0700)
committerEthan Lynn <ethanlynnl@vmware.com>
Mon, 26 Mar 2018 05:30:00 +0000 (22:30 -0700)
Add test_download_file_from_http_fail to fileutil.py

Change-Id: I4cbeeb9f8d988ed6443005989b80faf1e522360d
Issue-ID: MULTICLOUD-198
Signed-off-by: Ethan Lynn <ethanlynnl@vmware.com>
multivimbroker/multivimbroker/tests/test_fileutil.py

index e75cc9c..9840bde 100644 (file)
@@ -64,3 +64,16 @@ class TestFileutil(unittest.TestCase):
         with mock.patch('{}.open'.format(__name__), m, create=True):
             ret = fileutil.download_file_from_http(url, local_dir, file_name)
             self.assertEqual(expect_ret, ret)
+
+    @mock.patch.object(fileutil, "make_dirs")
+    @mock.patch("urllib2.urlopen")
+    def test_download_file_from_http_fail(self, mock_urlopen, mock_mkdir):
+        url = "http://www.example.org/test.dat"
+        local_dir = "/tmp/"
+        file_name = "test.dat"
+        mock_req = mock.Mock()
+        mock_req.read.return_value = "hello world"
+        mock_urlopen.side_effect = [Exception("fake exception")]
+        expect_ret = (False, "/tmp/test.dat")
+        ret = fileutil.download_file_from_http(url, local_dir, file_name)
+        self.assertEqual(expect_ret, ret)