8000 Merge branch 'release-1.18.48' · boto/boto3@fb82bde · GitHub
[go: up one dir, main page]

Skip to content

Commit fb82bde

Browse files
Merge branch 'release-1.18.48'
* release-1.18.48: Bumping version to 1.18.48 Add changelog entries from botocore Declare support for Python 3.9 (#2942) Convert functional tests to pytest Convert unit tests to pytest Update tests for Pytest support use pytest instead of nose
2 parents 1f05314 + 7f75005 commit fb82bde

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+840
-919
lines changed

.changes/1.18.48.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[
2+
{
3+
"category": "``license-manager``",
4+
"description": "[``botocore``] AWS License Manager now allows customers to get the LicenseArn in the Checkout API Response.",
5+
"type": "api-change"
6+
},
7+
{
8+
"category": "``ec2``",
9+
"description": "[``botocore``] DescribeInstances now returns Platform Details, Usage Operation, and Usage Operation Update Time.",
10+
"type": "api-change"
11+
}
12+
]

.github/workflows/run-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
strategy:
1414
fail-fast: false
1515
matrix:
16-
python-version: [3.6, 3.7, 3.8]
16+
python-version: [3.6, 3.7, 3.8, 3.9]
1717
os: [ubuntu-latest, macOS-latest, windows-latest ]
1818

1919
steps:

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ tests/.coverage
1313
.tox
1414
.coverage
1515
coverage.xml
16-
nosetests.xml
1716

1817
# Common virtualenv names
1918
venv

CHANGELOG.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22
CHANGELOG
33
=========
44

5+
1.18.48
6+
=======
7+
8+
* api-change:``license-manager``: [``botocore``] AWS License Manager now allows customers to get the LicenseArn in the Checkout API Response.
9+
* api-change:``ec2``: [``botocore``] DescribeInstances now returns Platform Details, Usage Operation, and Usage Operation Update Time.
10+
11+
512
1.18.47
613
=======
714

README.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ Running Tests
8484
~~~~~~~~~~~~~
8585
You can run tests in all supported Python versions using ``tox``. By default,
8686
it will run all of the unit and functional tests, but you can also specify your own
87-
``nosetests`` options. Note that this requires that you have all supported
87+
``pytest`` options. Note that this requires that you have all supported
8888
versions of Python installed, otherwise you must pass ``-e`` or run the
89-
``nosetests`` command directly:
89+
``pytest`` command directly:
9090

9191
.. code-block:: sh
9292
@@ -98,7 +98,7 @@ You can also run individual tests with your default Python version:
9898

9999
.. code-block:: sh
100100
101-
$ nosetests tests/unit
101+
$ pytest tests/unit
102102
103103
104104
Getting Help

boto3/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919

2020
__author__ = 'Amazon Web Services'
21-
__version__ = '1.18.47'
21+
__version__ = '1.18.48'
2222

2323

2424
# The default Boto3 session; autoloaded when needed.

scripts/ci/run-tests

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@ def process_args(args):
3434
test_args = ""
3535
if args.with_cov:
3636
test_args += (
37-
f"--with-xunit --cover-erase --with-coverage "
38-
f"--cover-package {PACKAGE} --cover-xml -v "
37+
f"--cov={PACKAGE} --cov-report xml -v "
3938
)
4039
dirs = " ".join(args.test_dirs)
4140

@@ -53,8 +52,8 @@ if __name__ == "__main__":
5352
parser.add_argument(
5453
"-r",
5554
"--test-runner",
56-
default="nosetests",
57-
help="Test runner to execute tests. Defaults to nose.",
55+
default="pytest",
56+
help="Test runner to execute tests. Defaults to pytest.",
5857
)
5958
parser.add_argument(
6059
"-c",

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ universal = 0
33

44
[metadata]
55
requires_dist =
6-
botocore>=1.21.47,<1.22.0
6+
botocore>=1.21.48,<1.22.0
77
jmespath>=0.7.1,<1.0.0
88
s3transfer>=0.5.0,<0.6.0
99

setup.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,14 @@
66
import os
77
import re
88

9-
from setuptools import setup, find_packages
10-
9+
from setuptools import find_packages, setup
1110

1211
ROOT = os.path.dirname(__file__)
1312
VERSION_RE = re.compile(r'''__version__ = ['"]([0-9.]+)['"]''')
1413

1514

1615
requires = [
17-
'botocore>=1.21.47,<1.22.0',
16+
'botocore>=1.21.48,<1.22.0',
1817
'jmespath>=0.7.1,<1.0.0',
1918
's3transfer>=0.5.0,<0.6.0'
2019
]
@@ -54,6 +53,7 @@ def get_version():
5453
'Programming Language :: Python :: 3.6',
5554
'Programming Language :: Python :: 3.7',
5655
'Programming Language :: Python :: 3.8',
56+
'Programming Language :: Python :: 3.9',
5757
],
5858
project_urls={
5959
'Documentation': 'https://boto3.amazonaws.com/v1/documentation/api/latest/index.html',

tests/functional/docs/__init__.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@
1616
class BaseDocsFunctionalTests(unittest.TestCase):
1717
def assert_contains_lines_in_order(self, lines, contents):
1818
for line in lines:
19-
self.assertIn(line, contents)
19+
assert line in contents
2020
beginning = contents.find(line)
2121
contents = contents[(beginning + len(line)):]
2222

2323
def get_class_document_block(self, class_name, contents):
2424
start_class_document = '.. py:class:: %s' % class_name
2525
start_index = contents.find(start_class_document)
26-
self.assertNotEqual(start_index, -1, 'Class is not found in contents')
26+
assert start_index != -1, 'Class is not found in contents'
2727
contents = contents[start_index:]
2828
end_index = contents.find(
2929
' .. py:class::', len(start_class_document))
@@ -32,7 +32,7 @@ def get_class_document_block(self, class_name, contents):
3232
def get_method_document_block(self, method_name, contents):
3333
start_method_document = ' .. py:method:: %s(' % method_name
3434
start_index = contents.find(start_method_document)
35-
self.assertNotEqual(start_index, -1, 'Method is not found in contents')
35+
assert start_index != -1, 'Method is not found in contents'
3636
contents = contents[start_index:]
3737
end_index = contents.find(
3838
' .. py:method::', len(start_method_document))
@@ -41,8 +41,7 @@ def get_method_document_block(self, method_name, contents):
4141
def get_request_syntax_document_block(self, contents):
4242
start_marker = '**Request Syntax**'
4343
start_index = contents.find(start_marker)
44-
self.assertNotEqual(
45-
start_index, -1, 'There is no request syntax section')
44+
assert start_index != -1, 'There is no request syntax section'
4645
contents = contents[start_index:]
4746
end_index = contents.find(
4847
':type', len(start_marker))
@@ -51,8 +50,7 @@ def get_request_syntax_document_block(self, contents):
5150
def get_response_syntax_document_block(self, contents):
5251
start_marker = '**Response Syntax**'
5352
start_index = contents.find(start_marker)
54-
self.assertNotEqual(
55-
start_index, -1, 'There is no response syntax section')
53+
assert start_index != -1, 'There is no response syntax section'
5654
contents = contents[start_index:]
5755
end_index = contents.find(
5856
'**Response Structure**', len(start_marker))
@@ -61,19 +59,19 @@ def get_response_syntax_document_block(self, contents):
6159
def get_request_parameter_document_block(self, param_name, contents):
6260
start_param_document = ':type %s:' % param_name
6361
start_index = contents.find(start_param_document)
64-
self.assertNotEqual(start_index, -1, 'Param is not found in contents')
62+
assert start_index != -1, 'Param is not found in contents'
6563
contents = contents[start_index:]
6664
end_index = contents.find(':type', len(start_param_document))
6765
return contents[:end_index]
6866

6967
def get_response_parameter_document_block(self, param_name, contents):
7068
start_param_document = '**Response Structure**'
7169
start_index = contents.find(start_param_document)
72-
self.assertNotEqual(start_index, -1, 'There is no response structure')
70+
assert start_index != -1, 'There is no response structure'
7371

7472
start_param_document = '- **%s**' % param_name
7573
start_index = contents.find(start_param_document)
76-
self.assertNotEqual(start_index, -1, 'Param is not found in contents')
74+
assert start_index != -1, 'Param is not found in contents'
7775
contents = contents[start_index:]
7876
end_index = contents.find('- **', len(start_param_document))
7977
return contents[:end_index]

0 commit comments

Comments
 (0)
0