Merge branch '9964-output-glob-acr' refs #9964
[arvados.git] / sdk / python / tests / test_http.py
index 381a61e2aa044103d53470d4bfe84fa99569344a..476e2c88e9bb5abc71c52ca33cf3f783e0a51c90 100644 (file)
@@ -2,20 +2,18 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 
-from future import standard_library
-standard_library.install_aliases()
-
 import copy
 import io
 import functools
 import hashlib
 import json
 import logging
-import mock
 import sys
 import unittest
 import datetime
 
+from unittest import mock
+
 import arvados
 import arvados.collection
 import arvados.keep
@@ -23,8 +21,6 @@ import pycurl
 
 from arvados.http_to_keep import http_to_keep
 
-import ruamel.yaml as yaml
-
 # Turns out there was already "FakeCurl" that serves the same purpose, but
 # I wrote this before I knew that.  Whoops.
 class CurlMock:
@@ -97,7 +93,9 @@ class TestHttpToKeep(unittest.TestCase):
         utcnow.return_value = datetime.datetime(2018, 5, 15)
 
         r = http_to_keep(api, None, "http://example.com/file1.txt", utcnow=utcnow)
-        self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt"))
+        self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt",
+                             'zzzzz-4zz18-zzzzzzzzzzzzzz3', 'http://example.com/file1.txt',
+                             datetime.datetime(2018, 5, 15, 0, 0)))
 
         assert mockobj.url == b"http://example.com/file1.txt"
         assert mockobj.perform_was_called is True
@@ -146,7 +144,9 @@ class TestHttpToKeep(unittest.TestCase):
         utcnow.return_value = datetime.datetime(2018, 5, 16)
 
         r = http_to_keep(api, None, "http://example.com/file1.txt", utcnow=utcnow)
-        self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt"))
+        self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt",
+                             'zzzzz-4zz18-zzzzzzzzzzzzzz3', 'http://example.com/file1.txt',
+                             datetime.datetime(2018, 5, 16, 0, 0)))
 
         assert mockobj.perform_was_called is False
 
@@ -185,7 +185,8 @@ class TestHttpToKeep(unittest.TestCase):
         utcnow.return_value = datetime.datetime(2018, 5, 16)
 
         r = http_to_keep(api, None, "http://example.com/file1.txt", utcnow=utcnow)
-        self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt"))
+        self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt", 'zzzzz-4zz18-zzzzzzzzzzzzzz3',
+                             'http://example.com/file1.txt', datetime.datetime(2018, 5, 16, 0, 0)))
 
         assert mockobj.perform_was_called is False
 
@@ -224,7 +225,10 @@ class TestHttpToKeep(unittest.TestCase):
         utcnow.return_value = datetime.datetime(2018, 5, 17)
 
         r = http_to_keep(api, None, "http://example.com/file1.txt", utcnow=utcnow)
-        self.assertEqual(r, ("99999999999999999999999999999997+99", "file1.txt"))
+        self.assertEqual(r, ("99999999999999999999999999999997+99", "file1.txt",
+                             'zzzzz-4zz18-zzzzzzzzzzzzzz4',
+                             'http://example.com/file1.txt', datetime.datetime(2018, 5, 17, 0, 0)))
+
 
         assert mockobj.url == b"http://example.com/file1.txt"
         assert mockobj.perform_was_called is True
@@ -278,7 +282,9 @@ class TestHttpToKeep(unittest.TestCase):
         utcnow.return_value = datetime.datetime(2018, 5, 17)
 
         r = http_to_keep(api, None, "http://example.com/file1.txt", utcnow=utcnow)
-        self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt"))
+        self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt",
+                             'zzzzz-4zz18-zzzzzzzzzzzzzz3', 'http://example.com/file1.txt',
+                             datetime.datetime(2018, 5, 17, 0, 0)))
 
         cm.open.assert_not_called()
 
@@ -315,7 +321,10 @@ class TestHttpToKeep(unittest.TestCase):
         utcnow.return_value = datetime.datetime(2018, 5, 15)
 
         r = http_to_keep(api, None, "http://example.com/download?fn=/file1.txt", utcnow=utcnow)
-        self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt"))
+        self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt",
+                             'zzzzz-4zz18-zzzzzzzzzzzzzz3',
+                             'http://example.com/download?fn=/file1.txt',
+                             datetime.datetime(2018, 5, 15, 0, 0)))
 
         assert mockobj.url == b"http://example.com/download?fn=/file1.txt"
 
@@ -369,7 +378,9 @@ class TestHttpToKeep(unittest.TestCase):
         utcnow.return_value = datetime.datetime(2018, 5, 17)
 
         r = http_to_keep(api, None, "http://example.com/file1.txt", utcnow=utcnow)
-        self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt"))
+        self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt",
+                             'zzzzz-4zz18-zzzzzzzzzzzzzz3', 'http://example.com/file1.txt',
+                             datetime.datetime(2018, 5, 17, 0, 0)))
 
         print(mockobj.req_headers)
         assert mockobj.req_headers == ["Accept: application/octet-stream", "If-None-Match: \"123456\""]
@@ -418,7 +429,8 @@ class TestHttpToKeep(unittest.TestCase):
         utcnow.return_value = datetime.datetime(2018, 5, 17)
 
         r = http_to_keep(api, None, "http://example.com/file1.txt", utcnow=utcnow, prefer_cached_downloads=True)
-        self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt"))
+        self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt", 'zzzzz-4zz18-zzzzzzzzzzzzzz3',
+                             'http://example.com/file1.txt', datetime.datetime(2018, 5, 17, 0, 0)))
 
         assert mockobj.perform_was_called is False
         cm.open.assert_not_called()
@@ -465,7 +477,8 @@ class TestHttpToKeep(unittest.TestCase):
 
             r = http_to_keep(api, None, "http://example.com/file1.txt?KeyId=123&Signature=456&Expires=789",
                                               utcnow=utcnow, varying_url_params="KeyId,Signature,Expires")
-            self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt"))
+            self.assertEqual(r, ("99999999999999999999999999999998+99", "file1.txt", 'zzzzz-4zz18-zzzzzzzzzzzzzz3',
+                                 'http://example.com/file1.txt', datetime.datetime(2018, 5, 17, 0, 0)))
 
             assert mockobj.perform_was_called is True
             cm.open.assert_not_called()