Add test_download_file_from_http_success 49/38549/1
authorEthan Lynn <ethanlynnl@vmware.com>
Mon, 26 Mar 2018 05:25:11 +0000 (22:25 -0700)
committerEthan Lynn <ethanlynnl@vmware.com>
Mon, 26 Mar 2018 05:25:36 +0000 (22:25 -0700)
Add test_download_file_from_http_success to fileutil.py

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

index 9abd23c..e75cc9c 100644 (file)
@@ -49,3 +49,18 @@ class TestFileutil(unittest.TestCase):
         new_path = "/tmp/tests"
         fileutil.delete_dirs(new_path)
         mock_rmtree.assert_called_once_with(new_path)
+
+    @mock.patch.object(fileutil, "make_dirs")
+    @mock.patch("urllib2.urlopen")
+    def test_download_file_from_http_success(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.return_value = mock_req
+        m = mock.mock_open()
+        expect_ret = (True, "/tmp/test.dat")
+        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)