Fix Python 3.12 patch

This commit is contained in:
Nikola Forró 2023-12-07 12:22:31 +01:00
parent 8ce77bd025
commit ec87fd2046

View File

@ -40,7 +40,7 @@ index 868bd5d..3eaf662 100644
self.tree.write() self.tree.write()
self.tree = HTMLTree(self.doc) self.tree = HTMLTree(self.doc)
diff --git a/awscli/botocore/auth.py b/awscli/botocore/auth.py diff --git a/awscli/botocore/auth.py b/awscli/botocore/auth.py
index edae233..2483b32 100644 index edae233..e2536a5 100644
--- a/awscli/botocore/auth.py --- a/awscli/botocore/auth.py
+++ b/awscli/botocore/auth.py +++ b/awscli/botocore/auth.py
@@ -396,7 +396,7 @@ class SigV4Auth(BaseSigner): @@ -396,7 +396,7 @@ class SigV4Auth(BaseSigner):
@ -52,6 +52,15 @@ index edae233..2483b32 100644
request.context['timestamp'] = datetime_now.strftime(SIGV4_TIMESTAMP) request.context['timestamp'] = datetime_now.strftime(SIGV4_TIMESTAMP)
# This could be a retry. Make sure the previous # This could be a retry. Make sure the previous
# authorization header is removed first. # authorization header is removed first.
@@ -440,7 +440,7 @@ class SigV4Auth(BaseSigner):
if 'Date' in request.headers:
del request.headers['Date']
datetime_timestamp = datetime.datetime.strptime(
- request.context['timestamp'], SIGV4_TIMESTAMP)
+ request.context['timestamp'], SIGV4_TIMESTAMP[:-1] + '%z')
request.headers['Date'] = formatdate(
int(calendar.timegm(datetime_timestamp.timetuple())))
if 'X-Amz-Date' in request.headers:
@@ -611,7 +611,7 @@ class S3SigV4PostAuth(SigV4Auth): @@ -611,7 +611,7 @@ class S3SigV4PostAuth(SigV4Auth):
http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-UsingHTTPPOST.html http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-UsingHTTPPOST.html
""" """
@ -100,7 +109,7 @@ index 3d1de2f..d8120c6 100644
path=_unicode_path(path)) path=_unicode_path(path))
else: else:
diff --git a/awscli/botocore/crt/auth.py b/awscli/botocore/crt/auth.py diff --git a/awscli/botocore/crt/auth.py b/awscli/botocore/crt/auth.py
index 534a7f8..474e675 100644 index 534a7f8..e3337f5 100644
--- a/awscli/botocore/crt/auth.py --- a/awscli/botocore/crt/auth.py
+++ b/awscli/botocore/crt/auth.py +++ b/awscli/botocore/crt/auth.py
@@ -57,8 +57,7 @@ class CrtSigV4Auth(BaseSigner): @@ -57,8 +57,7 @@ class CrtSigV4Auth(BaseSigner):
@ -210,7 +219,7 @@ index ffca974..367c867 100644
}, },
'ResponseMetadata': { 'ResponseMetadata': {
diff --git a/awscli/botocore/signers.py b/awscli/botocore/signers.py diff --git a/awscli/botocore/signers.py b/awscli/botocore/signers.py
index 77a9346..93b8af0 100644 index 77a9346..7bbb6cf 100644
--- a/awscli/botocore/signers.py --- a/awscli/botocore/signers.py
+++ b/awscli/botocore/signers.py +++ b/awscli/botocore/signers.py
@@ -532,7 +532,7 @@ class S3PostPresigner(object): @@ -532,7 +532,7 @@ class S3PostPresigner(object):
@ -223,7 +232,7 @@ index 77a9346..93b8af0 100644
policy['expiration'] = expire_date.strftime(botocore.auth.ISO8601) policy['expiration'] = expire_date.strftime(botocore.auth.ISO8601)
diff --git a/awscli/botocore/utils.py b/awscli/botocore/utils.py diff --git a/awscli/botocore/utils.py b/awscli/botocore/utils.py
index 81b41dc..0740339 100644 index 81b41dc..85e5d42 100644
--- a/awscli/botocore/utils.py --- a/awscli/botocore/utils.py
+++ b/awscli/botocore/utils.py +++ b/awscli/botocore/utils.py
@@ -70,7 +70,7 @@ from botocore.exceptions import ( @@ -70,7 +70,7 @@ from botocore.exceptions import (
@ -235,7 +244,14 @@ index 81b41dc..0740339 100644
from dateutil.tz import tzutc from dateutil.tz import tzutc
from urllib3.exceptions import LocationParseError from urllib3.exceptions import LocationParseError
@@ -577,7 +577,7 @@ class InstanceMetadataFetcher(IMDSFetcher): @@ -571,13 +571,13 @@ class InstanceMetadataFetcher(IMDSFetcher):
return
try:
expiration = datetime.datetime.strptime(
- expiration, "%Y-%m-%dT%H:%M:%SZ"
+ expiration, "%Y-%m-%dT%H:%M:%S%z"
)
refresh_interval = self._config.get(
"ec2_credential_refresh_window", 60 * 10 "ec2_credential_refresh_window", 60 * 10
) )
refresh_interval_with_jitter = refresh_interval + random.randint(120, 600) refresh_interval_with_jitter = refresh_interval + random.randint(120, 600)
@ -245,7 +261,7 @@ index 81b41dc..0740339 100644
extension_time = expiration - refresh_offset extension_time = expiration - refresh_offset
if current_time >= extension_time: if current_time >= extension_time:
diff --git a/awscli/compat.py b/awscli/compat.py diff --git a/awscli/compat.py b/awscli/compat.py
index 705255d..b418c19 100644 index 4ea633b..1031356 100644
--- a/awscli/compat.py --- a/awscli/compat.py
+++ b/awscli/compat.py +++ b/awscli/compat.py
@@ -25,6 +25,8 @@ from functools import partial @@ -25,6 +25,8 @@ from functools import partial
@ -272,7 +288,7 @@ index 705255d..b418c19 100644
# Most, but not all, python installations will have zlib. This is required to # Most, but not all, python installations will have zlib. This is required to
diff --git a/awscli/customizations/cloudformation/deployer.py b/awscli/customizations/cloudformation/deployer.py diff --git a/awscli/customizations/cloudformation/deployer.py b/awscli/customizations/cloudformation/deployer.py
index 3733c55..48e69a6 100644 index 3733c55..8236d33 100644
--- a/awscli/customizations/cloudformation/deployer.py --- a/awscli/customizations/cloudformation/deployer.py
+++ b/awscli/customizations/cloudformation/deployer.py +++ b/awscli/customizations/cloudformation/deployer.py
@@ -20,7 +20,7 @@ import collections @@ -20,7 +20,7 @@ import collections
@ -294,7 +310,7 @@ index 3733c55..48e69a6 100644
# Each changeset will get a unique name based on time # Each changeset will get a unique name based on time
diff --git a/awscli/customizations/cloudtrail/validation.py b/awscli/customizations/cloudtrail/validation.py diff --git a/awscli/customizations/cloudtrail/validation.py b/awscli/customizations/cloudtrail/validation.py
index 78e2540..9a515e0 100644 index 78e2540..ad13507 100644
--- a/awscli/customizations/cloudtrail/validation.py --- a/awscli/customizations/cloudtrail/validation.py
+++ b/awscli/customizations/cloudtrail/validation.py +++ b/awscli/customizations/cloudtrail/validation.py
@@ -19,7 +19,7 @@ import re @@ -19,7 +19,7 @@ import re
@ -325,7 +341,7 @@ index 78e2540..9a515e0 100644
raise ParamValidationError( raise ParamValidationError(
'Invalid time range specified: start-time must ' 'Invalid time range specified: start-time must '
diff --git a/awscli/customizations/codecommit.py b/awscli/customizations/codecommit.py diff --git a/awscli/customizations/codecommit.py b/awscli/customizations/codecommit.py
index 6b30e83..935f27b 100644 index 6b30e83..7859fb8 100644
--- a/awscli/customizations/codecommit.py --- a/awscli/customizations/codecommit.py
+++ b/awscli/customizations/codecommit.py +++ b/awscli/customizations/codecommit.py
@@ -150,7 +150,7 @@ class CodeCommitGetCommand(BasicCommand): @@ -150,7 +150,7 @@ class CodeCommitGetCommand(BasicCommand):
@ -338,7 +354,7 @@ index 6b30e83..935f27b 100644
split = urlsplit(request.url) split = urlsplit(request.url)
# we don't want to include the port number in the signature # we don't want to include the port number in the signature
diff --git a/awscli/customizations/codedeploy/push.py b/awscli/customizations/codedeploy/push.py diff --git a/awscli/customizations/codedeploy/push.py b/awscli/customizations/codedeploy/push.py
index 4c08664..8531c03 100644 index 4c08664..6d97c8c 100644
--- a/awscli/customizations/codedeploy/push.py --- a/awscli/customizations/codedeploy/push.py
+++ b/awscli/customizations/codedeploy/push.py +++ b/awscli/customizations/codedeploy/push.py
@@ -16,7 +16,7 @@ import sys @@ -16,7 +16,7 @@ import sys
@ -373,7 +389,7 @@ index ab06305..55f11a9 100644
NOT_SET = '<not set>' NOT_SET = '<not set>'
PREDEFINED_SECTION_NAMES = ('plugins') PREDEFINED_SECTION_NAMES = ('plugins')
diff --git a/awscli/customizations/datapipeline/__init__.py b/awscli/customizations/datapipeline/__init__.py diff --git a/awscli/customizations/datapipeline/__init__.py b/awscli/customizations/datapipeline/__init__.py
index c47ca94..309406c 100644 index c47ca94..0c12c39 100644
--- a/awscli/customizations/datapipeline/__init__.py --- a/awscli/customizations/datapipeline/__init__.py
+++ b/awscli/customizations/datapipeline/__init__.py +++ b/awscli/customizations/datapipeline/__init__.py
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
@ -395,7 +411,7 @@ index c47ca94..309406c 100644
def build_query(self, parsed_args): def build_query(self, parsed_args):
diff --git a/awscli/customizations/ec2/bundleinstance.py b/awscli/customizations/ec2/bundleinstance.py diff --git a/awscli/customizations/ec2/bundleinstance.py b/awscli/customizations/ec2/bundleinstance.py
index 96d9ece..31a4962 100644 index 96d9ece..ad4dca0 100644
--- a/awscli/customizations/ec2/bundleinstance.py --- a/awscli/customizations/ec2/bundleinstance.py
+++ b/awscli/customizations/ec2/bundleinstance.py +++ b/awscli/customizations/ec2/bundleinstance.py
@@ -120,7 +120,7 @@ def _generate_policy(params): @@ -120,7 +120,7 @@ def _generate_policy(params):
@ -408,7 +424,7 @@ index 96d9ece..31a4962 100644
policy = POLICY.format(expires=expires_iso, policy = POLICY.format(expires=expires_iso,
bucket=params['Bucket'], bucket=params['Bucket'],
diff --git a/awscli/customizations/eks/get_token.py b/awscli/customizations/eks/get_token.py diff --git a/awscli/customizations/eks/get_token.py b/awscli/customizations/eks/get_token.py
index c85b86d..4d12661 100644 index c85b86d..9812be4 100644
--- a/awscli/customizations/eks/get_token.py --- a/awscli/customizations/eks/get_token.py
+++ b/awscli/customizations/eks/get_token.py +++ b/awscli/customizations/eks/get_token.py
@@ -16,7 +16,7 @@ import json @@ -16,7 +16,7 @@ import json
@ -430,7 +446,7 @@ index c85b86d..4d12661 100644
) )
return token_expiration.strftime('%Y-%m-%dT%H:%M:%SZ') return token_expiration.strftime('%Y-%m-%dT%H:%M:%SZ')
diff --git a/awscli/customizations/logs/tail.py b/awscli/customizations/logs/tail.py diff --git a/awscli/customizations/logs/tail.py b/awscli/customizations/logs/tail.py
index cb31510..b2f8563 100644 index cb31510..623e027 100644
--- a/awscli/customizations/logs/tail.py --- a/awscli/customizations/logs/tail.py
+++ b/awscli/customizations/logs/tail.py +++ b/awscli/customizations/logs/tail.py
@@ -11,7 +11,8 @@ @@ -11,7 +11,8 @@
@ -453,7 +469,7 @@ index cb31510..b2f8563 100644
def to_epoch_millis(self, timestamp): def to_epoch_millis(self, timestamp):
re_match = self._RELATIVE_TIMESTAMP_REGEX.match(timestamp) re_match = self._RELATIVE_TIMESTAMP_REGEX.match(timestamp)
diff --git a/awscli/customizations/opsworks.py b/awscli/customizations/opsworks.py diff --git a/awscli/customizations/opsworks.py b/awscli/customizations/opsworks.py
index a2a0c1e..217bfca 100644 index a2a0c1e..ff73132 100644
--- a/awscli/customizations/opsworks.py --- a/awscli/customizations/opsworks.py
+++ b/awscli/customizations/opsworks.py +++ b/awscli/customizations/opsworks.py
@@ -507,7 +507,7 @@ class OpsWorksRegister(BasicCommand): @@ -507,7 +507,7 @@ class OpsWorksRegister(BasicCommand):
@ -466,7 +482,7 @@ index a2a0c1e..217bfca 100644
"DateLessThan": { "DateLessThan": {
"aws:CurrentTime": "aws:CurrentTime":
diff --git a/tests/functional/botocore/test_credentials.py b/tests/functional/botocore/test_credentials.py diff --git a/tests/functional/botocore/test_credentials.py b/tests/functional/botocore/test_credentials.py
index 843be90..1bd9201 100644 index 843be90..0349eb4 100644
--- a/tests/functional/botocore/test_credentials.py --- a/tests/functional/botocore/test_credentials.py
+++ b/tests/functional/botocore/test_credentials.py +++ b/tests/functional/botocore/test_credentials.py
@@ -19,7 +19,7 @@ import time @@ -19,7 +19,7 @@ import time
@ -490,7 +506,7 @@ index 843be90..1bd9201 100644
class TestCredentialRefreshRaces(unittest.TestCase): class TestCredentialRefreshRaces(unittest.TestCase):
diff --git a/tests/functional/botocore/test_ec2.py b/tests/functional/botocore/test_ec2.py diff --git a/tests/functional/botocore/test_ec2.py b/tests/functional/botocore/test_ec2.py
index 795094e..fed43d2 100644 index 795094e..3ff22c4 100644
--- a/tests/functional/botocore/test_ec2.py --- a/tests/functional/botocore/test_ec2.py
+++ b/tests/functional/botocore/test_ec2.py +++ b/tests/functional/botocore/test_ec2.py
@@ -86,13 +86,13 @@ class TestCopySnapshotCustomization(BaseSessionTest): @@ -86,13 +86,13 @@ class TestCopySnapshotCustomization(BaseSessionTest):
@ -510,7 +526,7 @@ index 795094e..fed43d2 100644
def tearDown(self): def tearDown(self):
super(TestCopySnapshotCustomization, self).tearDown() super(TestCopySnapshotCustomization, self).tearDown()
diff --git a/tests/functional/botocore/test_lex.py b/tests/functional/botocore/test_lex.py diff --git a/tests/functional/botocore/test_lex.py b/tests/functional/botocore/test_lex.py
index 7e7f619..eb623ec 100644 index 7e7f619..dbdf329 100644
--- a/tests/functional/botocore/test_lex.py --- a/tests/functional/botocore/test_lex.py
+++ b/tests/functional/botocore/test_lex.py +++ b/tests/functional/botocore/test_lex.py
@@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@
@ -536,7 +552,7 @@ index 7e7f619..eb623ec 100644
with self.http_stubber: with self.http_stubber:
self.client.post_content(**params) self.client.post_content(**params)
diff --git a/tests/functional/botocore/test_sts.py b/tests/functional/botocore/test_sts.py diff --git a/tests/functional/botocore/test_sts.py b/tests/functional/botocore/test_sts.py
index cdc212a..75b367c 100644 index cdc212a..a279881 100644
--- a/tests/functional/botocore/test_sts.py --- a/tests/functional/botocore/test_sts.py
+++ b/tests/functional/botocore/test_sts.py +++ b/tests/functional/botocore/test_sts.py
@@ -10,7 +10,7 @@ @@ -10,7 +10,7 @@
@ -561,7 +577,7 @@ index cdc212a..75b367c 100644
# There should be no 'content-type' in x-amz-signedheaders # There should be no 'content-type' in x-amz-signedheaders
diff --git a/tests/functional/ec2/test_bundle_instance.py b/tests/functional/ec2/test_bundle_instance.py diff --git a/tests/functional/ec2/test_bundle_instance.py b/tests/functional/ec2/test_bundle_instance.py
index 5bc3204..7dcc416 100644 index 5bc3204..67015f0 100644
--- a/tests/functional/ec2/test_bundle_instance.py --- a/tests/functional/ec2/test_bundle_instance.py
+++ b/tests/functional/ec2/test_bundle_instance.py +++ b/tests/functional/ec2/test_bundle_instance.py
@@ -34,7 +34,7 @@ class TestBundleInstance(BaseAWSCommandParamsTest): @@ -34,7 +34,7 @@ class TestBundleInstance(BaseAWSCommandParamsTest):
@ -609,7 +625,7 @@ index 83f824d..ddefc47 100644
cli_runner.env["AWS_USE_FIPS_ENDPOINT"] = "false" cli_runner.env["AWS_USE_FIPS_ENDPOINT"] = "false"
cmdline = [ cmdline = [
diff --git a/tests/functional/eks/test_get_token.py b/tests/functional/eks/test_get_token.py diff --git a/tests/functional/eks/test_get_token.py b/tests/functional/eks/test_get_token.py
index 89801f9..ea48865 100644 index 89801f9..cdf51f7 100644
--- a/tests/functional/eks/test_get_token.py --- a/tests/functional/eks/test_get_token.py
+++ b/tests/functional/eks/test_get_token.py +++ b/tests/functional/eks/test_get_token.py
@@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@
@ -693,7 +709,7 @@ index 795b939..4562b92 100644
expected = ( expected = (
diff --git a/tests/functional/s3/test_presign_command.py b/tests/functional/s3/test_presign_command.py diff --git a/tests/functional/s3/test_presign_command.py b/tests/functional/s3/test_presign_command.py
index 2db338a..8b3120a 100644 index 2db338a..03741d1 100644
--- a/tests/functional/s3/test_presign_command.py --- a/tests/functional/s3/test_presign_command.py
+++ b/tests/functional/s3/test_presign_command.py +++ b/tests/functional/s3/test_presign_command.py
@@ -18,13 +18,13 @@ from awscli.testutils import BaseAWSCommandParamsTest, mock, temporary_file @@ -18,13 +18,13 @@ from awscli.testutils import BaseAWSCommandParamsTest, mock, temporary_file
@ -736,15 +752,19 @@ index d6b0902..4e66fdf 100644
ConnectTimeoutError, ReadTimeoutError, EndpointConnectionError, ConnectTimeoutError, ReadTimeoutError, EndpointConnectionError,
ConnectionClosedError, ClientError, ProxyConnectionError ConnectionClosedError, ClientError, ProxyConnectionError
diff --git a/tests/unit/botocore/auth/test_signers.py b/tests/unit/botocore/auth/test_signers.py diff --git a/tests/unit/botocore/auth/test_signers.py b/tests/unit/botocore/auth/test_signers.py
index 73d3b12..3b3922d 100644 index 73d3b12..25ca21f 100644
--- a/tests/unit/botocore/auth/test_signers.py --- a/tests/unit/botocore/auth/test_signers.py
+++ b/tests/unit/botocore/auth/test_signers.py +++ b/tests/unit/botocore/auth/test_signers.py
@@ -31,7 +31,7 @@ class BaseTestWithFixedDate(unittest.TestCase): @@ -28,10 +28,10 @@ from botocore.awsrequest import AWSRequest
self.fixed_date = datetime.datetime(2014, 3, 10, 17, 2, 55, 0)
class BaseTestWithFixedDate(unittest.TestCase):
def setUp(self):
- self.fixed_date = datetime.datetime(2014, 3, 10, 17, 2, 55, 0)
+ self.fixed_date = datetime.datetime(2014, 3, 10, 17, 2, 55, 0, tzinfo=datetime.timezone.utc)
self.datetime_patch = mock.patch('botocore.auth.datetime.datetime') self.datetime_patch = mock.patch('botocore.auth.datetime.datetime')
self.datetime_mock = self.datetime_patch.start() self.datetime_mock = self.datetime_patch.start()
- self.datetime_mock.utcnow.return_value = self.fixed_date - self.datetime_mock.utcnow.return_value = self.fixed_date
+ self.datetime_mock.now.return_value = self.fixed_date.replace(tzinfo=datetime.timezone.utc) + self.datetime_mock.now.return_value = self.fixed_date
self.datetime_mock.strptime.return_value = self.fixed_date self.datetime_mock.strptime.return_value = self.fixed_date
def tearDown(self): def tearDown(self):
@ -829,7 +849,7 @@ index f28b959..1b3d56b 100644
'the ``NextToken`` from a previous response.'), 'the ``NextToken`` from a previous response.'),
' :returns: None', ' :returns: None',
diff --git a/tests/unit/botocore/test_credentials.py b/tests/unit/botocore/test_credentials.py diff --git a/tests/unit/botocore/test_credentials.py b/tests/unit/botocore/test_credentials.py
index cc49596..0a5e4d7 100644 index cc49596..b6b4400 100644
--- a/tests/unit/botocore/test_credentials.py --- a/tests/unit/botocore/test_credentials.py
+++ b/tests/unit/botocore/test_credentials.py +++ b/tests/unit/botocore/test_credentials.py
@@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@
@ -897,7 +917,7 @@ index cc49596..0a5e4d7 100644
# The profile we will be using has a cache entry, but the profile it # The profile we will be using has a cache entry, but the profile it
# is sourcing from does not. This should result in the cached # is sourcing from does not. This should result in the cached
diff --git a/tests/unit/botocore/test_signers.py b/tests/unit/botocore/test_signers.py diff --git a/tests/unit/botocore/test_signers.py b/tests/unit/botocore/test_signers.py
index e06e0c1..fc56d71 100644 index e06e0c1..507e2ea 100644
--- a/tests/unit/botocore/test_signers.py --- a/tests/unit/botocore/test_signers.py
+++ b/tests/unit/botocore/test_signers.py +++ b/tests/unit/botocore/test_signers.py
@@ -609,9 +609,9 @@ class TestS3PostPresigner(BaseSignerTest): @@ -609,9 +609,9 @@ class TestS3PostPresigner(BaseSignerTest):
@ -922,9 +942,18 @@ index e06e0c1..fc56d71 100644
self.client, hostname, port, username) self.client, hostname, port, username)
diff --git a/tests/unit/botocore/test_utils.py b/tests/unit/botocore/test_utils.py diff --git a/tests/unit/botocore/test_utils.py b/tests/unit/botocore/test_utils.py
index a4d7f13..97df14b 100644 index a4d7f13..e7c9af4 100644
--- a/tests/unit/botocore/test_utils.py --- a/tests/unit/botocore/test_utils.py
+++ b/tests/unit/botocore/test_utils.py +++ b/tests/unit/botocore/test_utils.py
@@ -98,7 +98,7 @@ from botocore.stub import Stubber
from botocore.config import Config
from botocore.endpoint_provider import RuleSetEndpoint
-DATE = datetime.datetime(2021, 12, 10, 00, 00, 00)
+DATE = datetime.datetime(2021, 12, 10, 00, 00, 00, tzinfo=datetime.timezone.utc)
DT_FORMAT = "%Y-%m-%dT%H:%M:%SZ"
@@ -1004,7 +1004,7 @@ class TestSwitchToChunkedEncodingForNonSeekableObjects(unittest.TestCase): @@ -1004,7 +1004,7 @@ class TestSwitchToChunkedEncodingForNonSeekableObjects(unittest.TestCase):
def test_switch_to_chunked_encodeing_for_stream_like_object(self): def test_switch_to_chunked_encodeing_for_stream_like_object(self):
request = AWSRequest( request = AWSRequest(
@ -956,8 +985,20 @@ index 27fbe1f..b79e173 100644
' ::', ' ::',
' waiter.wait(', ' waiter.wait(',
" bar='string'", " bar='string'",
diff --git a/tests/unit/customizations/eks/test_get_token.py b/tests/unit/customizations/eks/test_get_token.py
index 17c07b0..0d1b7fc 100644
--- a/tests/unit/customizations/eks/test_get_token.py
+++ b/tests/unit/customizations/eks/test_get_token.py
@@ -49,6 +49,6 @@ class TestGetTokenCommand(BaseTokenTest):
cmd = GetTokenCommand(self._session)
timestamp = cmd.get_expiration_time()
try:
- datetime.strptime(timestamp, '%Y-%m-%dT%H:%M:%SZ')
+ datetime.strptime(timestamp, '%Y-%m-%dT%H:%M:%S%z')
except ValueError:
raise ValueError("Incorrect data format, should be %Y-%m-%dT%H:%M:%SZ")
diff --git a/tests/unit/customizations/test_opsworks.py b/tests/unit/customizations/test_opsworks.py diff --git a/tests/unit/customizations/test_opsworks.py b/tests/unit/customizations/test_opsworks.py
index 1471ba9..3e30717 100644 index 1471ba9..f6816b9 100644
--- a/tests/unit/customizations/test_opsworks.py --- a/tests/unit/customizations/test_opsworks.py
+++ b/tests/unit/customizations/test_opsworks.py +++ b/tests/unit/customizations/test_opsworks.py
@@ -34,8 +34,8 @@ class TestOpsWorksBase(unittest.TestCase): @@ -34,8 +34,8 @@ class TestOpsWorksBase(unittest.TestCase):
@ -972,10 +1013,10 @@ index 1471ba9..3e30717 100644
def tearDown(self): def tearDown(self):
self.datetime_patcher.stop() self.datetime_patcher.stop()
diff --git a/tests/utils/botocore/__init__.py b/tests/utils/botocore/__init__.py diff --git a/tests/utils/botocore/__init__.py b/tests/utils/botocore/__init__.py
index 964ec88..2213f96 100644 index 9b8f205..919bccc 100644
--- a/tests/utils/botocore/__init__.py --- a/tests/utils/botocore/__init__.py
+++ b/tests/utils/botocore/__init__.py +++ b/tests/utils/botocore/__init__.py
@@ -555,7 +555,7 @@ class FreezeTime(contextlib.ContextDecorator): @@ -565,7 +565,7 @@ class FreezeTime(contextlib.ContextDecorator):
def __init__(self, module, date=None): def __init__(self, module, date=None):
if date is None: if date is None:
@ -984,7 +1025,7 @@ index 964ec88..2213f96 100644
self.date = date self.date = date
self.datetime_patcher = mock.patch.object( self.datetime_patcher = mock.patch.object(
module, 'datetime', module, 'datetime',
@@ -564,7 +564,7 @@ class FreezeTime(contextlib.ContextDecorator): @@ -574,7 +574,7 @@ class FreezeTime(contextlib.ContextDecorator):
def __enter__(self, *args, **kwargs): def __enter__(self, *args, **kwargs):
mock = self.datetime_patcher.start() mock = self.datetime_patcher.start()