Update to 2.17.13 upstream release
- Resolves: rhbz#2295429 Upstream tag: 2.17.13 Upstream commit: 3c6bd732 Commit authored by Packit automation (https://packit.dev/)
This commit is contained in:
parent
293d443d4b
commit
059d040bb7
1
.gitignore
vendored
1
.gitignore
vendored
@ -35,3 +35,4 @@
|
||||
/aws-cli-2.17.1.tar.gz
|
||||
/aws-cli-2.17.2.tar.gz
|
||||
/aws-cli-2.17.6.tar.gz
|
||||
/aws-cli-2.17.13.tar.gz
|
||||
|
@ -1,3 +1,3 @@
|
||||
This repository is maintained by packit.
|
||||
https://packit.dev/
|
||||
The file was generated using packit 0.97.3.post1.dev7+g1954e49a.
|
||||
The file was generated using packit 0.98.0.
|
||||
|
@ -1,7 +1,7 @@
|
||||
%global pkgname aws-cli
|
||||
|
||||
Name: awscli2
|
||||
Version: 2.17.6
|
||||
Version: 2.17.13
|
||||
Release: %autorelease
|
||||
|
||||
Summary: Universal Command Line Environment for AWS, version 2
|
||||
|
375
python312.patch
375
python312.patch
@ -1,49 +1,8 @@
|
||||
diff --git a/awscli/bcdoc/docstringparser.py b/awscli/bcdoc/docstringparser.py
|
||||
index 868bd5d..3eaf662 100644
|
||||
--- a/awscli/bcdoc/docstringparser.py
|
||||
+++ b/awscli/bcdoc/docstringparser.py
|
||||
@@ -11,9 +11,10 @@
|
||||
# ANY KIND, either express or implied. See the License for the specific
|
||||
# language governing permissions and limitations under the License.
|
||||
from botocore.compat import six
|
||||
+from html import parser as html_parser
|
||||
|
||||
|
||||
-class DocStringParser(six.moves.html_parser.HTMLParser):
|
||||
+class DocStringParser(html_parser.HTMLParser):
|
||||
"""
|
||||
A simple HTML parser. Focused on converting the subset of HTML
|
||||
that appears in the documentation strings of the JSON models into
|
||||
@@ -23,20 +24,20 @@ class DocStringParser(six.moves.html_parser.HTMLParser):
|
||||
def __init__(self, doc):
|
||||
self.tree = None
|
||||
self.doc = doc
|
||||
- six.moves.html_parser.HTMLParser.__init__(self)
|
||||
+ html_parser.HTMLParser.__init__(self)
|
||||
|
||||
def reset(self):
|
||||
- six.moves.html_parser.HTMLParser.reset(self)
|
||||
+ html_parser.HTMLParser.reset(self)
|
||||
self.tree = HTMLTree(self.doc)
|
||||
|
||||
def feed(self, data):
|
||||
# HTMLParser is an old style class, so the super() method will not work.
|
||||
- six.moves.html_parser.HTMLParser.feed(self, data)
|
||||
+ html_parser.HTMLParser.feed(self, data)
|
||||
self.tree.write()
|
||||
self.tree = HTMLTree(self.doc)
|
||||
|
||||
def close(self):
|
||||
- six.moves.html_parser.HTMLParser.close(self)
|
||||
+ html_parser.HTMLParser.close(self)
|
||||
# Write if there is anything remaining.
|
||||
self.tree.write()
|
||||
self.tree = HTMLTree(self.doc)
|
||||
diff --git a/awscli/botocore/auth.py b/awscli/botocore/auth.py
|
||||
index e8c83ad..e50be2a 100644
|
||||
index 0c1bc74a..de33e127 100644
|
||||
--- a/awscli/botocore/auth.py
|
||||
+++ b/awscli/botocore/auth.py
|
||||
@@ -396,7 +396,7 @@ class SigV4Auth(BaseSigner):
|
||||
@@ -395,7 +395,7 @@ class SigV4Auth(BaseSigner):
|
||||
def add_auth(self, request):
|
||||
if self.credentials is None:
|
||||
raise NoCredentialsError()
|
||||
@ -52,7 +11,7 @@ index e8c83ad..e50be2a 100644
|
||||
request.context['timestamp'] = datetime_now.strftime(SIGV4_TIMESTAMP)
|
||||
# This could be a retry. Make sure the previous
|
||||
# authorization header is removed first.
|
||||
@@ -440,7 +440,7 @@ class SigV4Auth(BaseSigner):
|
||||
@@ -439,7 +439,7 @@ class SigV4Auth(BaseSigner):
|
||||
if 'Date' in request.headers:
|
||||
del request.headers['Date']
|
||||
datetime_timestamp = datetime.datetime.strptime(
|
||||
@ -61,7 +20,7 @@ index e8c83ad..e50be2a 100644
|
||||
request.headers['Date'] = formatdate(
|
||||
int(calendar.timegm(datetime_timestamp.timetuple())))
|
||||
if 'X-Amz-Date' in request.headers:
|
||||
@@ -528,7 +528,7 @@ class S3ExpressPostAuth(S3ExpressAuth):
|
||||
@@ -527,7 +527,7 @@ class S3ExpressPostAuth(S3ExpressAuth):
|
||||
REQUIRES_IDENTITY_CACHE = True
|
||||
|
||||
def add_auth(self, request):
|
||||
@ -70,7 +29,7 @@ index e8c83ad..e50be2a 100644
|
||||
request.context['timestamp'] = datetime_now.strftime(SIGV4_TIMESTAMP)
|
||||
|
||||
fields = {}
|
||||
@@ -781,7 +781,7 @@ class S3SigV4PostAuth(SigV4Auth):
|
||||
@@ -780,7 +780,7 @@ class S3SigV4PostAuth(SigV4Auth):
|
||||
http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-UsingHTTPPOST.html
|
||||
"""
|
||||
def add_auth(self, request):
|
||||
@ -79,46 +38,8 @@ index e8c83ad..e50be2a 100644
|
||||
request.context['timestamp'] = datetime_now.strftime(SIGV4_TIMESTAMP)
|
||||
|
||||
fields = {}
|
||||
diff --git a/awscli/botocore/compat.py b/awscli/botocore/compat.py
|
||||
index b189271..de182f4 100644
|
||||
--- a/awscli/botocore/compat.py
|
||||
+++ b/awscli/botocore/compat.py
|
||||
@@ -33,7 +33,7 @@ from urllib3 import exceptions
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
-from botocore.vendored.six.moves import http_client
|
||||
+from http import client as http_client
|
||||
|
||||
class HTTPHeaders(http_client.HTTPMessage):
|
||||
pass
|
||||
diff --git a/awscli/botocore/configloader.py b/awscli/botocore/configloader.py
|
||||
index 3d1de2f..d8120c6 100644
|
||||
--- a/awscli/botocore/configloader.py
|
||||
+++ b/awscli/botocore/configloader.py
|
||||
@@ -18,6 +18,7 @@ import sys
|
||||
|
||||
import botocore.exceptions
|
||||
from botocore.compat import six
|
||||
+import configparser
|
||||
|
||||
|
||||
def multi_file_load_config(*filenames):
|
||||
@@ -143,10 +144,10 @@ def raw_config_parse(config_filename, parse_subsections=True):
|
||||
path = os.path.expanduser(path)
|
||||
if not os.path.isfile(path):
|
||||
raise botocore.exceptions.ConfigNotFound(path=_unicode_path(path))
|
||||
- cp = six.moves.configparser.RawConfigParser()
|
||||
+ cp = configparser.RawConfigParser()
|
||||
try:
|
||||
cp.read([path])
|
||||
- except (six.moves.configparser.Error, UnicodeDecodeError):
|
||||
+ except (configparser.Error, UnicodeDecodeError):
|
||||
raise botocore.exceptions.ConfigParseError(
|
||||
path=_unicode_path(path))
|
||||
else:
|
||||
diff --git a/awscli/botocore/crt/auth.py b/awscli/botocore/crt/auth.py
|
||||
index 534a7f8..5046b35 100644
|
||||
index 534a7f8d..5046b35b 100644
|
||||
--- a/awscli/botocore/crt/auth.py
|
||||
+++ b/awscli/botocore/crt/auth.py
|
||||
@@ -55,10 +55,7 @@ class CrtSigV4Auth(BaseSigner):
|
||||
@ -145,94 +66,8 @@ index 534a7f8..5046b35 100644
|
||||
|
||||
# Use existing 'X-Amz-Content-SHA256' header if able
|
||||
existing_sha256 = self._get_existing_sha256(request)
|
||||
diff --git a/awscli/botocore/docs/bcdoc/docstringparser.py b/awscli/botocore/docs/bcdoc/docstringparser.py
|
||||
index 868bd5d..3eaf662 100644
|
||||
--- a/awscli/botocore/docs/bcdoc/docstringparser.py
|
||||
+++ b/awscli/botocore/docs/bcdoc/docstringparser.py
|
||||
@@ -11,9 +11,10 @@
|
||||
# ANY KIND, either express or implied. See the License for the specific
|
||||
# language governing permissions and limitations under the License.
|
||||
from botocore.compat import six
|
||||
+from html import parser as html_parser
|
||||
|
||||
|
||||
-class DocStringParser(six.moves.html_parser.HTMLParser):
|
||||
+class DocStringParser(html_parser.HTMLParser):
|
||||
"""
|
||||
A simple HTML parser. Focused on converting the subset of HTML
|
||||
that appears in the documentation strings of the JSON models into
|
||||
@@ -23,20 +24,20 @@ class DocStringParser(six.moves.html_parser.HTMLParser):
|
||||
def __init__(self, doc):
|
||||
self.tree = None
|
||||
self.doc = doc
|
||||
- six.moves.html_parser.HTMLParser.__init__(self)
|
||||
+ html_parser.HTMLParser.__init__(self)
|
||||
|
||||
def reset(self):
|
||||
- six.moves.html_parser.HTMLParser.reset(self)
|
||||
+ html_parser.HTMLParser.reset(self)
|
||||
self.tree = HTMLTree(self.doc)
|
||||
|
||||
def feed(self, data):
|
||||
# HTMLParser is an old style class, so the super() method will not work.
|
||||
- six.moves.html_parser.HTMLParser.feed(self, data)
|
||||
+ html_parser.HTMLParser.feed(self, data)
|
||||
self.tree.write()
|
||||
self.tree = HTMLTree(self.doc)
|
||||
|
||||
def close(self):
|
||||
- six.moves.html_parser.HTMLParser.close(self)
|
||||
+ html_parser.HTMLParser.close(self)
|
||||
# Write if there is anything remaining.
|
||||
self.tree.write()
|
||||
self.tree = HTMLTree(self.doc)
|
||||
diff --git a/awscli/botocore/httpsession.py b/awscli/botocore/httpsession.py
|
||||
index 29b2103..d51dfdd 100644
|
||||
--- a/awscli/botocore/httpsession.py
|
||||
+++ b/awscli/botocore/httpsession.py
|
||||
@@ -59,7 +59,7 @@ from botocore.exceptions import (
|
||||
ReadTimeoutError,
|
||||
SSLError,
|
||||
)
|
||||
-from botocore.vendored.six.moves.urllib_parse import unquote
|
||||
+from urllib.parse import unquote
|
||||
|
||||
filter_ssl_warnings()
|
||||
logger = logging.getLogger(__name__)
|
||||
diff --git a/awscli/botocore/parsers.py b/awscli/botocore/parsers.py
|
||||
index ffca974..367c867 100644
|
||||
--- a/awscli/botocore/parsers.py
|
||||
+++ b/awscli/botocore/parsers.py
|
||||
@@ -119,7 +119,8 @@ import json
|
||||
import logging
|
||||
import re
|
||||
|
||||
-from botocore.compat import ETree, XMLParseError, six
|
||||
+from botocore.compat import ETree, XMLParseError
|
||||
+from http import client as http_client
|
||||
from botocore.eventstream import EventStream, NoInitialResponseError
|
||||
from botocore.utils import (
|
||||
is_json_value_header,
|
||||
@@ -300,7 +301,7 @@ class ResponseParser(object):
|
||||
"service, unable to populate error code and message.")
|
||||
return {
|
||||
'Error': {'Code': str(response['status_code']),
|
||||
- 'Message': six.moves.http_client.responses.get(
|
||||
+ 'Message': http_client.responses.get(
|
||||
response['status_code'], '')},
|
||||
'ResponseMetadata': {},
|
||||
}
|
||||
@@ -1035,7 +1036,7 @@ class RestXMLParser(BaseRestParser, BaseXMLResponseParser):
|
||||
return {
|
||||
'Error': {
|
||||
'Code': str(response['status_code']),
|
||||
- 'Message': six.moves.http_client.responses.get(
|
||||
+ 'Message': http_client.responses.get(
|
||||
response['status_code'], ''),
|
||||
},
|
||||
'ResponseMetadata': {
|
||||
diff --git a/awscli/botocore/signers.py b/awscli/botocore/signers.py
|
||||
index 57df023..7ff87e4 100644
|
||||
index 604f6553..6c55277e 100644
|
||||
--- a/awscli/botocore/signers.py
|
||||
+++ b/awscli/botocore/signers.py
|
||||
@@ -549,7 +549,7 @@ class S3PostPresigner(object):
|
||||
@ -245,19 +80,10 @@ index 57df023..7ff87e4 100644
|
||||
policy['expiration'] = expire_date.strftime(botocore.auth.ISO8601)
|
||||
|
||||
diff --git a/awscli/botocore/utils.py b/awscli/botocore/utils.py
|
||||
index a408d9d..f4d7ece 100644
|
||||
index 89bcc2aa..8d3688c5 100644
|
||||
--- a/awscli/botocore/utils.py
|
||||
+++ b/awscli/botocore/utils.py
|
||||
@@ -72,7 +72,7 @@ from botocore.exceptions import (
|
||||
UnsupportedS3ControlArnError,
|
||||
UnsupportedS3ControlConfigurationError,
|
||||
)
|
||||
-from botocore.vendored.six.moves.urllib.request import getproxies, proxy_bypass
|
||||
+from urllib.request import getproxies, proxy_bypass
|
||||
from dateutil.tz import tzutc
|
||||
from urllib3.exceptions import LocationParseError
|
||||
|
||||
@@ -583,13 +583,13 @@ class InstanceMetadataFetcher(IMDSFetcher):
|
||||
@@ -582,13 +582,13 @@ class InstanceMetadataFetcher(IMDSFetcher):
|
||||
return
|
||||
try:
|
||||
expiration = datetime.datetime.strptime(
|
||||
@ -274,10 +100,10 @@ index a408d9d..f4d7ece 100644
|
||||
extension_time = expiration - refresh_offset
|
||||
if current_time >= extension_time:
|
||||
diff --git a/awscli/compat.py b/awscli/compat.py
|
||||
index 4ea633b..1031356 100644
|
||||
index b6ae8981..a41c4c6b 100644
|
||||
--- a/awscli/compat.py
|
||||
+++ b/awscli/compat.py
|
||||
@@ -25,6 +25,8 @@ from functools import partial
|
||||
@@ -29,6 +29,8 @@ from functools import partial
|
||||
import urllib.parse as urlparse
|
||||
from urllib.error import URLError
|
||||
|
||||
@ -286,22 +112,8 @@ index 4ea633b..1031356 100644
|
||||
from botocore.compat import six
|
||||
from botocore.compat import OrderedDict
|
||||
|
||||
@@ -33,11 +35,10 @@ from botocore.compat import OrderedDict
|
||||
# This may get large.
|
||||
advance_iterator = six.advance_iterator
|
||||
PY3 = six.PY3
|
||||
-queue = six.moves.queue
|
||||
-shlex_quote = six.moves.shlex_quote
|
||||
+shlex_quote = shlex.quote
|
||||
StringIO = six.StringIO
|
||||
BytesIO = six.BytesIO
|
||||
-urlopen = six.moves.urllib.request.urlopen
|
||||
+urlopen = urllib.request.urlopen
|
||||
binary_type = six.binary_type
|
||||
|
||||
# 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
|
||||
index 3733c55..8236d33 100644
|
||||
index 3733c55e..8236d33c 100644
|
||||
--- a/awscli/customizations/cloudformation/deployer.py
|
||||
+++ b/awscli/customizations/cloudformation/deployer.py
|
||||
@@ -20,7 +20,7 @@ import collections
|
||||
@ -323,7 +135,7 @@ index 3733c55..8236d33 100644
|
||||
|
||||
# Each changeset will get a unique name based on time
|
||||
diff --git a/awscli/customizations/cloudtrail/validation.py b/awscli/customizations/cloudtrail/validation.py
|
||||
index 78e2540..ad13507 100644
|
||||
index 78e25408..ad135077 100644
|
||||
--- a/awscli/customizations/cloudtrail/validation.py
|
||||
+++ b/awscli/customizations/cloudtrail/validation.py
|
||||
@@ -19,7 +19,7 @@ import re
|
||||
@ -354,7 +166,7 @@ index 78e2540..ad13507 100644
|
||||
raise ParamValidationError(
|
||||
'Invalid time range specified: start-time must '
|
||||
diff --git a/awscli/customizations/codecommit.py b/awscli/customizations/codecommit.py
|
||||
index 6b30e83..7859fb8 100644
|
||||
index 6b30e834..7859fb89 100644
|
||||
--- a/awscli/customizations/codecommit.py
|
||||
+++ b/awscli/customizations/codecommit.py
|
||||
@@ -150,7 +150,7 @@ class CodeCommitGetCommand(BasicCommand):
|
||||
@ -367,7 +179,7 @@ index 6b30e83..7859fb8 100644
|
||||
split = urlsplit(request.url)
|
||||
# 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
|
||||
index 4c08664..6d97c8c 100644
|
||||
index 4e0fbcff..9f71f7c2 100644
|
||||
--- a/awscli/customizations/codedeploy/push.py
|
||||
+++ b/awscli/customizations/codedeploy/push.py
|
||||
@@ -16,7 +16,7 @@ import sys
|
||||
@ -379,7 +191,7 @@ index 4c08664..6d97c8c 100644
|
||||
|
||||
from botocore.exceptions import ClientError
|
||||
|
||||
@@ -133,7 +133,7 @@ class Push(BasicCommand):
|
||||
@@ -132,7 +132,7 @@ class Push(BasicCommand):
|
||||
if not parsed_args.description:
|
||||
parsed_args.description = (
|
||||
'Uploaded by AWS CLI {0} UTC'.format(
|
||||
@ -388,21 +200,8 @@ index 4c08664..6d97c8c 100644
|
||||
)
|
||||
)
|
||||
|
||||
diff --git a/awscli/customizations/configure/__init__.py b/awscli/customizations/configure/__init__.py
|
||||
index ab06305..55f11a9 100644
|
||||
--- a/awscli/customizations/configure/__init__.py
|
||||
+++ b/awscli/customizations/configure/__init__.py
|
||||
@@ -11,7 +11,7 @@
|
||||
# ANY KIND, either express or implied. See the License for the specific
|
||||
# language governing permissions and limitations under the License.
|
||||
import string
|
||||
-from botocore.vendored.six.moves import shlex_quote
|
||||
+from shlex import quote as shlex_quote
|
||||
|
||||
NOT_SET = '<not set>'
|
||||
PREDEFINED_SECTION_NAMES = ('plugins')
|
||||
diff --git a/awscli/customizations/datapipeline/__init__.py b/awscli/customizations/datapipeline/__init__.py
|
||||
index c47ca94..0c12c39 100644
|
||||
index c47ca94f..0c12c394 100644
|
||||
--- a/awscli/customizations/datapipeline/__init__.py
|
||||
+++ b/awscli/customizations/datapipeline/__init__.py
|
||||
@@ -12,7 +12,7 @@
|
||||
@ -424,10 +223,10 @@ index c47ca94..0c12c39 100644
|
||||
|
||||
def build_query(self, parsed_args):
|
||||
diff --git a/awscli/customizations/ec2/bundleinstance.py b/awscli/customizations/ec2/bundleinstance.py
|
||||
index 96d9ece..ad4dca0 100644
|
||||
index cc6802d6..56c1efa6 100644
|
||||
--- a/awscli/customizations/ec2/bundleinstance.py
|
||||
+++ b/awscli/customizations/ec2/bundleinstance.py
|
||||
@@ -120,7 +120,7 @@ def _generate_policy(params):
|
||||
@@ -118,7 +118,7 @@ def _generate_policy(params):
|
||||
# Called if there is no policy supplied by the user.
|
||||
# Creates a policy that provides access for 24 hours.
|
||||
delta = datetime.timedelta(hours=24)
|
||||
@ -437,7 +236,7 @@ index 96d9ece..ad4dca0 100644
|
||||
policy = POLICY.format(expires=expires_iso,
|
||||
bucket=params['Bucket'],
|
||||
diff --git a/awscli/customizations/eks/get_token.py b/awscli/customizations/eks/get_token.py
|
||||
index c85b86d..9812be4 100644
|
||||
index c85b86dd..9812be4f 100644
|
||||
--- a/awscli/customizations/eks/get_token.py
|
||||
+++ b/awscli/customizations/eks/get_token.py
|
||||
@@ -16,7 +16,7 @@ import json
|
||||
@ -459,7 +258,7 @@ index c85b86d..9812be4 100644
|
||||
)
|
||||
return token_expiration.strftime('%Y-%m-%dT%H:%M:%SZ')
|
||||
diff --git a/awscli/customizations/logs/tail.py b/awscli/customizations/logs/tail.py
|
||||
index cb31510..623e027 100644
|
||||
index cb315100..623e0272 100644
|
||||
--- a/awscli/customizations/logs/tail.py
|
||||
+++ b/awscli/customizations/logs/tail.py
|
||||
@@ -11,7 +11,8 @@
|
||||
@ -482,7 +281,7 @@ index cb31510..623e027 100644
|
||||
def to_epoch_millis(self, timestamp):
|
||||
re_match = self._RELATIVE_TIMESTAMP_REGEX.match(timestamp)
|
||||
diff --git a/awscli/customizations/opsworks.py b/awscli/customizations/opsworks.py
|
||||
index a2a0c1e..ff73132 100644
|
||||
index e91d4789..9f848c64 100644
|
||||
--- a/awscli/customizations/opsworks.py
|
||||
+++ b/awscli/customizations/opsworks.py
|
||||
@@ -507,7 +507,7 @@ class OpsWorksRegister(BasicCommand):
|
||||
@ -495,11 +294,11 @@ index a2a0c1e..ff73132 100644
|
||||
"DateLessThan": {
|
||||
"aws:CurrentTime":
|
||||
diff --git a/tests/functional/botocore/test_credentials.py b/tests/functional/botocore/test_credentials.py
|
||||
index 843be90..0349eb4 100644
|
||||
index 18bd248d..8af69de4 100644
|
||||
--- a/tests/functional/botocore/test_credentials.py
|
||||
+++ b/tests/functional/botocore/test_credentials.py
|
||||
@@ -19,7 +19,7 @@ import time
|
||||
import mock
|
||||
@@ -18,7 +18,7 @@ import math
|
||||
import time
|
||||
import tempfile
|
||||
import shutil
|
||||
-from datetime import datetime, timedelta
|
||||
@ -507,7 +306,7 @@ index 843be90..0349eb4 100644
|
||||
import sys
|
||||
|
||||
import pytest
|
||||
@@ -47,8 +47,8 @@ from botocore.stub import Stubber
|
||||
@@ -46,8 +46,8 @@ from botocore.stub import Stubber
|
||||
from botocore.tokens import SSOTokenProvider
|
||||
from botocore.utils import datetime2timestamp
|
||||
|
||||
@ -519,10 +318,10 @@ index 843be90..0349eb4 100644
|
||||
|
||||
class TestCredentialRefreshRaces(unittest.TestCase):
|
||||
diff --git a/tests/functional/botocore/test_ec2.py b/tests/functional/botocore/test_ec2.py
|
||||
index 795094e..3ff22c4 100644
|
||||
index a5aec4aa..475134cc 100644
|
||||
--- a/tests/functional/botocore/test_ec2.py
|
||||
+++ b/tests/functional/botocore/test_ec2.py
|
||||
@@ -86,13 +86,13 @@ class TestCopySnapshotCustomization(BaseSessionTest):
|
||||
@@ -85,13 +85,13 @@ class TestCopySnapshotCustomization(BaseSessionTest):
|
||||
'<snapshotId>%s</snapshotId>\n'
|
||||
'</CopySnapshotResponse>\n'
|
||||
)
|
||||
@ -539,19 +338,19 @@ index 795094e..3ff22c4 100644
|
||||
def tearDown(self):
|
||||
super(TestCopySnapshotCustomization, self).tearDown()
|
||||
diff --git a/tests/functional/botocore/test_lex.py b/tests/functional/botocore/test_lex.py
|
||||
index 7e7f619..dbdf329 100644
|
||||
index 659296fd..614691e8 100644
|
||||
--- a/tests/functional/botocore/test_lex.py
|
||||
+++ b/tests/functional/botocore/test_lex.py
|
||||
@@ -11,7 +11,7 @@
|
||||
@@ -10,7 +10,7 @@
|
||||
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
||||
# ANY KIND, either express or implied. See the License for the specific
|
||||
# language governing permissions and limitations under the License.
|
||||
import mock
|
||||
-from datetime import datetime
|
||||
+from datetime import datetime, timezone
|
||||
|
||||
from tests import BaseSessionTest, ClientHTTPStubber
|
||||
from tests import mock, BaseSessionTest, ClientHTTPStubber
|
||||
|
||||
@@ -32,10 +32,10 @@ class TestLex(BaseSessionTest):
|
||||
@@ -31,10 +31,10 @@ class TestLex(BaseSessionTest):
|
||||
'inputStream': b''
|
||||
}
|
||||
|
||||
@ -565,7 +364,7 @@ index 7e7f619..dbdf329 100644
|
||||
with self.http_stubber:
|
||||
self.client.post_content(**params)
|
||||
diff --git a/tests/functional/botocore/test_s3express.py b/tests/functional/botocore/test_s3express.py
|
||||
index 390721e..ebb89b0 100644
|
||||
index 390721ee..ebb89b0b 100644
|
||||
--- a/tests/functional/botocore/test_s3express.py
|
||||
+++ b/tests/functional/botocore/test_s3express.py
|
||||
@@ -108,7 +108,6 @@ class TestS3ExpressAuth:
|
||||
@ -626,7 +425,7 @@ index 390721e..ebb89b0 100644
|
||||
|
||||
with ClientHTTPStubber(default_s3_client) as stubber:
|
||||
diff --git a/tests/functional/botocore/test_sts.py b/tests/functional/botocore/test_sts.py
|
||||
index cdc212a..a279881 100644
|
||||
index beb48030..e6978795 100644
|
||||
--- a/tests/functional/botocore/test_sts.py
|
||||
+++ b/tests/functional/botocore/test_sts.py
|
||||
@@ -10,7 +10,7 @@
|
||||
@ -637,8 +436,8 @@ index cdc212a..a279881 100644
|
||||
+from datetime import datetime, timezone
|
||||
import re
|
||||
|
||||
import mock
|
||||
@@ -38,9 +38,9 @@ class TestSTSPresignedUrl(BaseSessionTest):
|
||||
from tests import BaseSessionTest
|
||||
@@ -36,9 +36,9 @@ class TestSTSPresignedUrl(BaseSessionTest):
|
||||
self.stubber.activate()
|
||||
|
||||
def test_presigned_url_contains_no_content_type(self):
|
||||
@ -651,10 +450,10 @@ index cdc212a..a279881 100644
|
||||
|
||||
# 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
|
||||
index 5bc3204..67015f0 100644
|
||||
index 1c485d88..d5037fe0 100644
|
||||
--- a/tests/functional/ec2/test_bundle_instance.py
|
||||
+++ b/tests/functional/ec2/test_bundle_instance.py
|
||||
@@ -34,7 +34,7 @@ class TestBundleInstance(BaseAWSCommandParamsTest):
|
||||
@@ -31,7 +31,7 @@ class TestBundleInstance(BaseAWSCommandParamsTest):
|
||||
|
||||
def setUp(self):
|
||||
super(TestBundleInstance, self).setUp()
|
||||
@ -663,7 +462,7 @@ index 5bc3204..67015f0 100644
|
||||
# returns the same datetime object. This is because this value
|
||||
# is embedded into the policy file that is generated and we
|
||||
# don't what the policy or its signature to change each time
|
||||
@@ -44,7 +44,7 @@ class TestBundleInstance(BaseAWSCommandParamsTest):
|
||||
@@ -41,7 +41,7 @@ class TestBundleInstance(BaseAWSCommandParamsTest):
|
||||
mock.Mock(wraps=datetime.datetime)
|
||||
)
|
||||
mocked_datetime = self.datetime_patcher.start()
|
||||
@ -673,7 +472,7 @@ index 5bc3204..67015f0 100644
|
||||
def tearDown(self):
|
||||
super(TestBundleInstance, self).tearDown()
|
||||
diff --git a/tests/functional/ec2instanceconnect/test_opentunnel.py b/tests/functional/ec2instanceconnect/test_opentunnel.py
|
||||
index 83f824d..ddefc47 100644
|
||||
index 83f824d2..ddefc47f 100644
|
||||
--- a/tests/functional/ec2instanceconnect/test_opentunnel.py
|
||||
+++ b/tests/functional/ec2instanceconnect/test_opentunnel.py
|
||||
@@ -310,10 +310,10 @@ def request_params_for_describe_eice():
|
||||
@ -699,7 +498,7 @@ index 83f824d..ddefc47 100644
|
||||
cli_runner.env["AWS_USE_FIPS_ENDPOINT"] = "false"
|
||||
cmdline = [
|
||||
diff --git a/tests/functional/eks/test_get_token.py b/tests/functional/eks/test_get_token.py
|
||||
index 89801f9..cdf51f7 100644
|
||||
index 89801f9b..cdf51f7b 100644
|
||||
--- a/tests/functional/eks/test_get_token.py
|
||||
+++ b/tests/functional/eks/test_get_token.py
|
||||
@@ -11,7 +11,7 @@
|
||||
@ -748,7 +547,7 @@ index 89801f9..cdf51f7 100644
|
||||
cmd += ' --output table'
|
||||
stdout, _, _ = self.run_cmd(cmd)
|
||||
diff --git a/tests/functional/logs/test_tail.py b/tests/functional/logs/test_tail.py
|
||||
index 6049a7f..5707da9 100644
|
||||
index 6049a7f8..5707da93 100644
|
||||
--- a/tests/functional/logs/test_tail.py
|
||||
+++ b/tests/functional/logs/test_tail.py
|
||||
@@ -152,7 +152,7 @@ class TestTailCommand(BaseAWSCommandParamsTest):
|
||||
@ -770,10 +569,10 @@ index 6049a7f..5707da9 100644
|
||||
with mock.patch('awscli.customizations.logs.tail.datetime',
|
||||
new=datetime_mock):
|
||||
diff --git a/tests/functional/rds/test_generate_db_auth_token.py b/tests/functional/rds/test_generate_db_auth_token.py
|
||||
index 795b939..4562b92 100644
|
||||
index 79634ed0..1008ba39 100644
|
||||
--- a/tests/functional/rds/test_generate_db_auth_token.py
|
||||
+++ b/tests/functional/rds/test_generate_db_auth_token.py
|
||||
@@ -53,7 +53,7 @@ class TestGenerateDBAuthToken(BaseAWSCommandParamsTest):
|
||||
@@ -51,7 +51,7 @@ class TestGenerateDBAuthToken(BaseAWSCommandParamsTest):
|
||||
clock = datetime.datetime(2016, 11, 7, 17, 39, 33, tzinfo=tzutc())
|
||||
|
||||
with mock.patch('datetime.datetime') as dt:
|
||||
@ -783,7 +582,7 @@ index 795b939..4562b92 100644
|
||||
|
||||
expected = (
|
||||
diff --git a/tests/functional/s3/test_presign_command.py b/tests/functional/s3/test_presign_command.py
|
||||
index 2db338a..03741d1 100644
|
||||
index 2db338a0..03741d19 100644
|
||||
--- a/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
|
||||
@ -811,22 +610,8 @@ index 2db338a..03741d1 100644
|
||||
stdout = self.assert_params_for_cmd(cmdline, None)[0].strip()
|
||||
return stdout
|
||||
|
||||
diff --git a/tests/integration/botocore/test_client_http.py b/tests/integration/botocore/test_client_http.py
|
||||
index d6b0902..4e66fdf 100644
|
||||
--- a/tests/integration/botocore/test_client_http.py
|
||||
+++ b/tests/integration/botocore/test_client_http.py
|
||||
@@ -8,7 +8,8 @@ from contextlib import contextmanager
|
||||
|
||||
import botocore.session
|
||||
from botocore.config import Config
|
||||
-from botocore.vendored.six.moves import BaseHTTPServer, socketserver
|
||||
+from http import server as BaseHTTPServer
|
||||
+import socketserver
|
||||
from botocore.exceptions import (
|
||||
ConnectTimeoutError, ReadTimeoutError, EndpointConnectionError,
|
||||
ConnectionClosedError, ClientError, ProxyConnectionError
|
||||
diff --git a/tests/integration/customizations/test_codecommit.py b/tests/integration/customizations/test_codecommit.py
|
||||
index 751e051..fc4d2c1 100644
|
||||
index 7ffbed65..25c78faf 100644
|
||||
--- a/tests/integration/customizations/test_codecommit.py
|
||||
+++ b/tests/integration/customizations/test_codecommit.py
|
||||
@@ -14,7 +14,7 @@
|
||||
@ -836,7 +621,7 @@ index 751e051..fc4d2c1 100644
|
||||
-from datetime import datetime
|
||||
+from datetime import datetime, timezone
|
||||
|
||||
from six import StringIO
|
||||
from awscli.compat import StringIO
|
||||
from botocore.session import Session
|
||||
@@ -59,7 +59,7 @@ class TestCodeCommitCredentialHelper(unittest.TestCase):
|
||||
@mock.patch('sys.stdout', new_callable=StringIOWithFileNo)
|
||||
@ -866,10 +651,10 @@ index 751e051..fc4d2c1 100644
|
||||
entry_point = AWSCLIEntryPoint(driver)
|
||||
rc = entry_point.main('codecommit credential-helper get'.split())
|
||||
diff --git a/tests/unit/botocore/auth/test_signers.py b/tests/unit/botocore/auth/test_signers.py
|
||||
index 73d3b12..25ca21f 100644
|
||||
index 19d559ac..e7db8d8b 100644
|
||||
--- a/tests/unit/botocore/auth/test_signers.py
|
||||
+++ b/tests/unit/botocore/auth/test_signers.py
|
||||
@@ -28,10 +28,10 @@ from botocore.awsrequest import AWSRequest
|
||||
@@ -27,10 +27,10 @@ from botocore.awsrequest import AWSRequest
|
||||
|
||||
class BaseTestWithFixedDate(unittest.TestCase):
|
||||
def setUp(self):
|
||||
@ -882,7 +667,7 @@ index 73d3b12..25ca21f 100644
|
||||
self.datetime_mock.strptime.return_value = self.fixed_date
|
||||
|
||||
def tearDown(self):
|
||||
@@ -358,9 +358,9 @@ class TestSigV4(unittest.TestCase):
|
||||
@@ -357,9 +357,9 @@ class TestSigV4(unittest.TestCase):
|
||||
with mock.patch.object(
|
||||
botocore.auth.datetime, 'datetime',
|
||||
mock.Mock(wraps=datetime.datetime)) as mock_datetime:
|
||||
@ -894,7 +679,7 @@ index 73d3b12..25ca21f 100644
|
||||
# Go through the add_auth process once. This will attach
|
||||
# a timestamp to the request at the beginning of auth.
|
||||
auth.add_auth(request)
|
||||
@@ -368,8 +368,8 @@ class TestSigV4(unittest.TestCase):
|
||||
@@ -367,8 +367,8 @@ class TestSigV4(unittest.TestCase):
|
||||
# Ensure the date is in the Authorization header
|
||||
self.assertIn('20140101', request.headers['Authorization'])
|
||||
# Now suppose the utc time becomes the next day all of a sudden
|
||||
@ -905,7 +690,7 @@ index 73d3b12..25ca21f 100644
|
||||
# Smaller methods like the canonical request and string_to_sign
|
||||
# should have the timestamp attached to the request in their
|
||||
# body and not what the time is now mocked as. This is to ensure
|
||||
@@ -535,8 +535,8 @@ class TestSigV4Presign(BasePresignTest):
|
||||
@@ -534,8 +534,8 @@ class TestSigV4Presign(BasePresignTest):
|
||||
mock.Mock(wraps=datetime.datetime)
|
||||
)
|
||||
mocked_datetime = self.datetime_patcher.start()
|
||||
@ -916,7 +701,7 @@ index 73d3b12..25ca21f 100644
|
||||
|
||||
def tearDown(self):
|
||||
self.datetime_patcher.stop()
|
||||
@@ -730,8 +730,8 @@ class TestS3SigV4Post(BaseS3PresignPostTest):
|
||||
@@ -729,8 +729,8 @@ class TestS3SigV4Post(BaseS3PresignPostTest):
|
||||
mock.Mock(wraps=datetime.datetime)
|
||||
)
|
||||
mocked_datetime = self.datetime_patcher.start()
|
||||
@ -928,10 +713,10 @@ index 73d3b12..25ca21f 100644
|
||||
def tearDown(self):
|
||||
self.datetime_patcher.stop()
|
||||
diff --git a/tests/unit/botocore/test_client.py b/tests/unit/botocore/test_client.py
|
||||
index f28b959..1b3d56b 100644
|
||||
index 464cc354..2455fc5f 100644
|
||||
--- a/tests/unit/botocore/test_client.py
|
||||
+++ b/tests/unit/botocore/test_client.py
|
||||
@@ -960,7 +960,7 @@ class TestAutoGeneratedClient(unittest.TestCase):
|
||||
@@ -969,7 +969,7 @@ class TestAutoGeneratedClient(unittest.TestCase):
|
||||
lines = [
|
||||
(' Creates an iterator that will paginate through responses '
|
||||
'from :py:meth:`MyService.Client.test_operation`.'),
|
||||
@ -940,7 +725,7 @@ index f28b959..1b3d56b 100644
|
||||
' ::',
|
||||
' response_iterator = paginator.paginate(',
|
||||
" Foo='string',",
|
||||
@@ -976,17 +976,17 @@ class TestAutoGeneratedClient(unittest.TestCase):
|
||||
@@ -985,17 +985,17 @@ class TestAutoGeneratedClient(unittest.TestCase):
|
||||
' :type Bar: string',
|
||||
' :param Bar: Documents Bar',
|
||||
' :type PaginationConfig: dict',
|
||||
@ -963,7 +748,7 @@ index f28b959..1b3d56b 100644
|
||||
'the ``NextToken`` from a previous response.'),
|
||||
' :returns: None',
|
||||
diff --git a/tests/unit/botocore/test_credentials.py b/tests/unit/botocore/test_credentials.py
|
||||
index c59f278..c50f593 100644
|
||||
index b9931216..7fdcf4ba 100644
|
||||
--- a/tests/unit/botocore/test_credentials.py
|
||||
+++ b/tests/unit/botocore/test_credentials.py
|
||||
@@ -11,7 +11,7 @@
|
||||
@ -973,9 +758,9 @@ index c59f278..c50f593 100644
|
||||
-from datetime import datetime, timedelta
|
||||
+from datetime import datetime, timedelta, timezone
|
||||
import subprocess
|
||||
import mock
|
||||
import os
|
||||
@@ -111,7 +111,7 @@ class TestRefreshableCredentials(TestCredentials):
|
||||
import tempfile
|
||||
@@ -110,7 +110,7 @@ class TestRefreshableCredentials(TestCredentials):
|
||||
|
||||
def test_refresh_needed(self):
|
||||
# The expiry time was set for 30 minutes ago, so if we
|
||||
@ -984,7 +769,7 @@ index c59f278..c50f593 100644
|
||||
# a refresh.
|
||||
self.mock_time.return_value = datetime.now(tzlocal())
|
||||
self.assertTrue(self.creds.refresh_needed())
|
||||
@@ -291,8 +291,8 @@ class TestAssumeRoleCredentialFetcher(BaseEnvVar):
|
||||
@@ -290,8 +290,8 @@ class TestAssumeRoleCredentialFetcher(BaseEnvVar):
|
||||
self.assertEqual(response, expected_response)
|
||||
|
||||
def test_retrieves_from_cache(self):
|
||||
@ -995,7 +780,7 @@ index c59f278..c50f593 100644
|
||||
cache_key = (
|
||||
'793d6e2f27667ab2da104824407e486bfec24a47'
|
||||
)
|
||||
@@ -703,8 +703,8 @@ class TestAssumeRoleWithWebIdentityCredentialFetcher(BaseEnvVar):
|
||||
@@ -702,8 +702,8 @@ class TestAssumeRoleWithWebIdentityCredentialFetcher(BaseEnvVar):
|
||||
self.assertEqual(response, expected_response)
|
||||
|
||||
def test_retrieves_from_cache(self):
|
||||
@ -1006,7 +791,7 @@ index c59f278..c50f593 100644
|
||||
cache_key = (
|
||||
'793d6e2f27667ab2da104824407e486bfec24a47'
|
||||
)
|
||||
@@ -823,8 +823,8 @@ class TestAssumeRoleWithWebIdentityCredentialProvider(unittest.TestCase):
|
||||
@@ -822,8 +822,8 @@ class TestAssumeRoleWithWebIdentityCredentialProvider(unittest.TestCase):
|
||||
mock_loader_cls.assert_called_with('/some/path/token.jwt')
|
||||
|
||||
def test_assume_role_retrieves_from_cache(self):
|
||||
@ -1017,7 +802,7 @@ index c59f278..c50f593 100644
|
||||
|
||||
cache_key = (
|
||||
'c29461feeacfbed43017d20612606ff76abc073d'
|
||||
@@ -1961,8 +1961,8 @@ class TestAssumeRoleCredentialProvider(unittest.TestCase):
|
||||
@@ -1960,8 +1960,8 @@ class TestAssumeRoleCredentialProvider(unittest.TestCase):
|
||||
self.assertEqual(expiry_time, '2016-11-06T01:30:00UTC')
|
||||
|
||||
def test_assume_role_retrieves_from_cache(self):
|
||||
@ -1028,7 +813,7 @@ index c59f278..c50f593 100644
|
||||
self.fake_config['profiles']['development']['role_arn'] = 'myrole'
|
||||
|
||||
cache_key = (
|
||||
@@ -1989,8 +1989,8 @@ class TestAssumeRoleCredentialProvider(unittest.TestCase):
|
||||
@@ -1988,8 +1988,8 @@ class TestAssumeRoleCredentialProvider(unittest.TestCase):
|
||||
self.assertEqual(creds.token, 'baz-cached')
|
||||
|
||||
def test_chain_prefers_cache(self):
|
||||
@ -1040,10 +825,10 @@ index c59f278..c50f593 100644
|
||||
# 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
|
||||
diff --git a/tests/unit/botocore/test_signers.py b/tests/unit/botocore/test_signers.py
|
||||
index e06e0c1..507e2ea 100644
|
||||
index a38d1b59..b0840d54 100644
|
||||
--- a/tests/unit/botocore/test_signers.py
|
||||
+++ b/tests/unit/botocore/test_signers.py
|
||||
@@ -609,9 +609,9 @@ class TestS3PostPresigner(BaseSignerTest):
|
||||
@@ -607,9 +607,9 @@ class TestS3PostPresigner(BaseSignerTest):
|
||||
|
||||
self.datetime_patch = mock.patch('botocore.signers.datetime')
|
||||
self.datetime_mock = self.datetime_patch.start()
|
||||
@ -1055,7 +840,7 @@ index e06e0c1..507e2ea 100644
|
||||
self.datetime_mock.timedelta.return_value = self.fixed_delta
|
||||
|
||||
def tearDown(self):
|
||||
@@ -979,7 +979,7 @@ class TestGenerateDBAuthToken(BaseSignerTest):
|
||||
@@ -1004,7 +1004,7 @@ class TestGenerateDBAuthToken(BaseSignerTest):
|
||||
clock = datetime.datetime(2016, 11, 7, 17, 39, 33, tzinfo=tzutc())
|
||||
|
||||
with mock.patch('datetime.datetime') as dt:
|
||||
@ -1065,7 +850,7 @@ index e06e0c1..507e2ea 100644
|
||||
self.client, hostname, port, username)
|
||||
|
||||
diff --git a/tests/unit/botocore/test_utils.py b/tests/unit/botocore/test_utils.py
|
||||
index 1f27e25..8116070 100644
|
||||
index b4699c6c..2d128bf1 100644
|
||||
--- a/tests/unit/botocore/test_utils.py
|
||||
+++ b/tests/unit/botocore/test_utils.py
|
||||
@@ -98,7 +98,7 @@ from botocore.stub import Stubber
|
||||
@ -1077,7 +862,7 @@ index 1f27e25..8116070 100644
|
||||
DT_FORMAT = "%Y-%m-%dT%H:%M:%SZ"
|
||||
|
||||
|
||||
@@ -1004,7 +1004,7 @@ class TestSwitchToChunkedEncodingForNonSeekableObjects(unittest.TestCase):
|
||||
@@ -1052,7 +1052,7 @@ class TestSwitchToChunkedEncodingForNonSeekableObjects(unittest.TestCase):
|
||||
def test_switch_to_chunked_encodeing_for_stream_like_object(self):
|
||||
request = AWSRequest(
|
||||
method='POST', headers={},
|
||||
@ -1086,7 +871,7 @@ index 1f27e25..8116070 100644
|
||||
url='https://foo.amazonaws.com/bucket/key.txt'
|
||||
)
|
||||
prepared_request = request.prepare()
|
||||
@@ -2819,7 +2819,7 @@ class TestInstanceMetadataFetcher(unittest.TestCase):
|
||||
@@ -2867,7 +2867,7 @@ class TestInstanceMetadataFetcher(unittest.TestCase):
|
||||
self, dt=None, offset=None, offset_func=operator.add
|
||||
):
|
||||
if dt is None:
|
||||
@ -1096,10 +881,10 @@ index 1f27e25..8116070 100644
|
||||
dt = offset_func(dt, offset)
|
||||
|
||||
diff --git a/tests/unit/botocore/test_waiters.py b/tests/unit/botocore/test_waiters.py
|
||||
index 27fbe1f..b79e173 100644
|
||||
index c5876f5b..ea393ae9 100644
|
||||
--- a/tests/unit/botocore/test_waiters.py
|
||||
+++ b/tests/unit/botocore/test_waiters.py
|
||||
@@ -648,7 +648,7 @@ class TestCreateWaiter(unittest.TestCase):
|
||||
@@ -646,7 +646,7 @@ class TestCreateWaiter(unittest.TestCase):
|
||||
(' Polls :py:meth:`MyService.Client.foo` every 1 '
|
||||
'seconds until a successful state is reached. An error '
|
||||
'is returned after 1 failed checks.'),
|
||||
@ -1109,10 +894,10 @@ index 27fbe1f..b79e173 100644
|
||||
' waiter.wait(',
|
||||
" 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
|
||||
index 9575aa0d..2664e1fe 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):
|
||||
@@ -46,6 +46,6 @@ class TestGetTokenCommand(BaseTokenTest):
|
||||
cmd = GetTokenCommand(self._session)
|
||||
timestamp = cmd.get_expiration_time()
|
||||
try:
|
||||
@ -1121,10 +906,10 @@ index 17c07b0..0d1b7fc 100644
|
||||
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
|
||||
index 1471ba9..f6816b9 100644
|
||||
index d5a6eba3..bad37a90 100644
|
||||
--- a/tests/unit/customizations/test_opsworks.py
|
||||
+++ b/tests/unit/customizations/test_opsworks.py
|
||||
@@ -34,8 +34,8 @@ class TestOpsWorksBase(unittest.TestCase):
|
||||
@@ -33,8 +33,8 @@ class TestOpsWorksBase(unittest.TestCase):
|
||||
mock.Mock(wraps=datetime.datetime)
|
||||
)
|
||||
mocked_datetime = self.datetime_patcher.start()
|
||||
@ -1136,10 +921,10 @@ index 1471ba9..f6816b9 100644
|
||||
def tearDown(self):
|
||||
self.datetime_patcher.stop()
|
||||
diff --git a/tests/utils/botocore/__init__.py b/tests/utils/botocore/__init__.py
|
||||
index 9b8f205..abedac8 100644
|
||||
index 106736f3..c76288b5 100644
|
||||
--- a/tests/utils/botocore/__init__.py
|
||||
+++ b/tests/utils/botocore/__init__.py
|
||||
@@ -560,12 +560,12 @@ class FreezeTime(contextlib.ContextDecorator):
|
||||
@@ -559,12 +559,12 @@ class FreezeTime(contextlib.ContextDecorator):
|
||||
:param module: reference to imported module to patch (e.g. botocore.auth.datetime)
|
||||
|
||||
:type date: datetime.datetime
|
||||
@ -1154,7 +939,7 @@ index 9b8f205..abedac8 100644
|
||||
self.date = date
|
||||
self.datetime_patcher = mock.patch.object(
|
||||
module, 'datetime',
|
||||
@@ -574,7 +574,7 @@ class FreezeTime(contextlib.ContextDecorator):
|
||||
@@ -573,7 +573,7 @@ class FreezeTime(contextlib.ContextDecorator):
|
||||
|
||||
def __enter__(self, *args, **kwargs):
|
||||
mock = self.datetime_patcher.start()
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (aws-cli-2.17.6.tar.gz) = b3eef3f34124be3f3bf8b30d3df83c46bdce6359f287ac3bd74bc8734be48767e5f32363ec95e86104e46932c8cee99dda4df454404b74d172a0c7d441b629a5
|
||||
SHA512 (aws-cli-2.17.13.tar.gz) = a2928d908808c3c983f32d5f5d9230465dd68e0a4def3b0f5fa30eca3f36e8172460ad130b6af5b35700ebfc45a68addc9aea14565613bb0ed955f52a556e816
|
||||
|
Loading…
Reference in New Issue
Block a user