tests: Switch get_v4_amz_date_header to take timedeltas
Change-Id: Ic89141c0dce619390c2be8a01d231f9ff8e2056c
This commit is contained in:
parent
8bdd8f206a
commit
bf7f3ff2f9
@ -199,9 +199,10 @@ class S3ApiTestCase(unittest.TestCase):
|
|||||||
# email.utils.formatdate returns utc timestamp in default
|
# email.utils.formatdate returns utc timestamp in default
|
||||||
return email.utils.formatdate(time.time() + skew)
|
return email.utils.formatdate(time.time() + skew)
|
||||||
|
|
||||||
def get_v4_amz_date_header(self, when=None):
|
def get_v4_amz_date_header(self, offset=None):
|
||||||
if when is None:
|
when = datetime.utcnow()
|
||||||
when = datetime.utcnow()
|
if offset is not None:
|
||||||
|
when += offset
|
||||||
return when.strftime('%Y%m%dT%H%M%SZ')
|
return when.strftime('%Y%m%dT%H%M%SZ')
|
||||||
|
|
||||||
def call_app(self, req, app=None, expect_exception=False):
|
def call_app(self, req, app=None, expect_exception=False):
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
from datetime import datetime, timedelta
|
from datetime import timedelta
|
||||||
import hashlib
|
import hashlib
|
||||||
from mock import patch, MagicMock
|
from mock import patch, MagicMock
|
||||||
import unittest
|
import unittest
|
||||||
@ -470,12 +470,12 @@ class TestRequest(S3ApiTestCase):
|
|||||||
|
|
||||||
# near-past X-Amz-Date headers
|
# near-past X-Amz-Date headers
|
||||||
date_header = {'X-Amz-Date': self.get_v4_amz_date_header(
|
date_header = {'X-Amz-Date': self.get_v4_amz_date_header(
|
||||||
datetime.utcnow() - timedelta(minutes=10)
|
timedelta(minutes=-10)
|
||||||
)}
|
)}
|
||||||
self._test_request_timestamp_sigv4(date_header)
|
self._test_request_timestamp_sigv4(date_header)
|
||||||
|
|
||||||
date_header = {'X-Amz-Date': self.get_v4_amz_date_header(
|
date_header = {'X-Amz-Date': self.get_v4_amz_date_header(
|
||||||
datetime.utcnow() - timedelta(minutes=10)
|
timedelta(minutes=-10)
|
||||||
)}
|
)}
|
||||||
with self.assertRaises(RequestTimeTooSkewed) as cm, \
|
with self.assertRaises(RequestTimeTooSkewed) as cm, \
|
||||||
patch.object(self.s3api.conf, 'allowable_clock_skew', 300):
|
patch.object(self.s3api.conf, 'allowable_clock_skew', 300):
|
||||||
@ -483,19 +483,19 @@ class TestRequest(S3ApiTestCase):
|
|||||||
|
|
||||||
# near-future X-Amz-Date headers
|
# near-future X-Amz-Date headers
|
||||||
date_header = {'X-Amz-Date': self.get_v4_amz_date_header(
|
date_header = {'X-Amz-Date': self.get_v4_amz_date_header(
|
||||||
datetime.utcnow() + timedelta(minutes=10)
|
timedelta(minutes=10)
|
||||||
)}
|
)}
|
||||||
self._test_request_timestamp_sigv4(date_header)
|
self._test_request_timestamp_sigv4(date_header)
|
||||||
|
|
||||||
date_header = {'X-Amz-Date': self.get_v4_amz_date_header(
|
date_header = {'X-Amz-Date': self.get_v4_amz_date_header(
|
||||||
datetime.utcnow() + timedelta(minutes=10)
|
timedelta(minutes=10)
|
||||||
)}
|
)}
|
||||||
with self.assertRaises(RequestTimeTooSkewed) as cm, \
|
with self.assertRaises(RequestTimeTooSkewed) as cm, \
|
||||||
patch.object(self.s3api.conf, 'allowable_clock_skew', 300):
|
patch.object(self.s3api.conf, 'allowable_clock_skew', 300):
|
||||||
self._test_request_timestamp_sigv4(date_header)
|
self._test_request_timestamp_sigv4(date_header)
|
||||||
|
|
||||||
date_header = {'X-Amz-Date': self.get_v4_amz_date_header(
|
date_header = {'X-Amz-Date': self.get_v4_amz_date_header(
|
||||||
datetime.utcnow() + timedelta(days=1)
|
timedelta(days=1)
|
||||||
)}
|
)}
|
||||||
with self.assertRaises(RequestTimeTooSkewed) as cm:
|
with self.assertRaises(RequestTimeTooSkewed) as cm:
|
||||||
self._test_request_timestamp_sigv4(date_header)
|
self._test_request_timestamp_sigv4(date_header)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user