tests: Use timedelta to adjust dates, not string manipulations
Change-Id: I8f65ccd7f2a79d5b877bfbef0274fb7857e21391
This commit is contained in:
parent
a5afe76758
commit
55049beda5
@ -147,8 +147,10 @@ class S3ApiTestCase(unittest.TestCase):
|
||||
# email.utils.formatdate returns utc timestamp in default
|
||||
return email.utils.formatdate(time.time())
|
||||
|
||||
def get_v4_amz_date_header(self):
|
||||
return datetime.utcnow().strftime('%Y%m%dT%H%M%SZ')
|
||||
def get_v4_amz_date_header(self, when=None):
|
||||
if when is None:
|
||||
when = datetime.utcnow()
|
||||
return when.strftime('%Y%m%dT%H%M%SZ')
|
||||
|
||||
def call_app(self, req, app=None, expect_exception=False):
|
||||
if app is None:
|
||||
|
@ -13,6 +13,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
import hashlib
|
||||
from mock import patch, MagicMock
|
||||
import unittest
|
||||
@ -476,8 +477,9 @@ class TestRequest(S3ApiTestCase):
|
||||
self.assertIn(access_denied_message, cm.exception.body)
|
||||
|
||||
# near-future X-Amz-Date header
|
||||
dt = self.get_v4_amz_date_header()
|
||||
date_header = {'X-Amz-Date': '%d%s' % (int(dt[:4]) + 1, dt[4:])}
|
||||
date_header = {'X-Amz-Date': self.get_v4_amz_date_header(
|
||||
datetime.utcnow() + timedelta(days=1)
|
||||
)}
|
||||
with self.assertRaises(RequestTimeTooSkewed) as cm:
|
||||
self._test_request_timestamp_sigv4(date_header)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user