From b6023dbe8759ea0b05c0aba46bde7ed133c952d6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:18:56 +0000 Subject: [PATCH 01/17] Bump mypy from 1.5.0 to 1.5.1 Bumps [mypy](https://github.com/python/mypy) from 1.5.0 to 1.5.1. - [Commits](https://github.com/python/mypy/compare/v1.5.0...v1.5.1) --- updated-dependencies: - dependency-name: mypy dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 3534214..7a62a0b 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -34,7 +34,7 @@ mccabe==0.7.0 mock==5.1.0 -mypy==1.5.0 +mypy==1.5.1 mypy-extensions==1.0.0 From 4b68ab484390efb6d157c0c0a86950673f43f853 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Aug 2023 17:20:06 +0000 Subject: [PATCH 02/17] Bump pluggy from 1.2.0 to 1.3.0 Bumps [pluggy](https://github.com/pytest-dev/pluggy) from 1.2.0 to 1.3.0. - [Changelog](https://github.com/pytest-dev/pluggy/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pluggy/compare/1.2.0...1.3.0) --- updated-dependencies: - dependency-name: pluggy dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 7a62a0b..ac34b4f 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -42,7 +42,7 @@ packaging==23.1 platformdirs==3.10.0 -pluggy==1.2.0 +pluggy==1.3.0 pylint==2.17.5 From 676f2cd4908a9d653c3144fada150d85c6ee4814 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 30 Aug 2023 17:51:47 +0000 Subject: [PATCH 03/17] Bump microsoft-kiota-abstractions from 0.7.1 to 0.8.0 Bumps [microsoft-kiota-abstractions](https://github.com/microsoft/kiota) from 0.7.1 to 0.8.0. - [Release notes](https://github.com/microsoft/kiota/releases) - [Changelog](https://github.com/microsoft/kiota/blob/main/CHANGELOG.md) - [Commits](https://github.com/microsoft/kiota/compare/v0.7.1...v0.8.0) --- updated-dependencies: - dependency-name: microsoft-kiota-abstractions dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index ac34b4f..f19d67c 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -88,7 +88,7 @@ httpx[http2]==0.24.1 hyperframe==6.0.1 -microsoft-kiota-abstractions==0.7.1 +microsoft-kiota-abstractions==0.8.0 sniffio==1.3.0 From 1ca20df33952ca27c926e81d467f2e800d3a66d7 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Thu, 31 Aug 2023 09:38:43 -0400 Subject: [PATCH 04/17] - adds missing fabric bot configuration --- .github/policies/resourceManagement.yml | 101 ++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 .github/policies/resourceManagement.yml diff --git a/.github/policies/resourceManagement.yml b/.github/policies/resourceManagement.yml new file mode 100644 index 0000000..0f7b81e --- /dev/null +++ b/.github/policies/resourceManagement.yml @@ -0,0 +1,101 @@ +id: +name: GitOps.PullRequestIssueManagement +description: GitOps.PullRequestIssueManagement primitive +owner: +resource: repository +disabled: false +where: +configuration: + resourceManagementConfiguration: + scheduledSearches: + - description: + frequencies: + - hourly: + hour: 6 + filters: + - isIssue + - isOpen + - hasLabel: + label: 'Needs: Author Feedback' + - hasLabel: + label: 'Status: No Recent Activity' + - noActivitySince: + days: 3 + actions: + - closeIssue + - description: + frequencies: + - hourly: + hour: 6 + filters: + - isIssue + - isOpen + - hasLabel: + label: 'Needs: Author Feedback' + - noActivitySince: + days: 4 + - isNotLabeledWith: + label: 'Status: No Recent Activity' + actions: + - addLabel: + label: 'Status: No Recent Activity' + - addReply: + reply: This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for **4 days**. It will be closed if no further activity occurs **within 3 days of this comment**. + - description: + frequencies: + - hourly: + hour: 6 + filters: + - isIssue + - isOpen + - hasLabel: + label: 'Resolution: Duplicate' + - noActivitySince: + days: 1 + actions: + - addReply: + reply: This issue has been marked as duplicate and has not had any activity for **1 day**. It will be closed for housekeeping purposes. + - closeIssue + eventResponderTasks: + - if: + - payloadType: Issue_Comment + - isAction: + action: Created + - isActivitySender: + issueAuthor: True + - hasLabel: + label: 'Needs: Author Feedback' + - isOpen + then: + - addLabel: + label: 'Needs: Attention :wave:' + - removeLabel: + label: 'Needs: Author Feedback' + description: + - if: + - payloadType: Issues + - not: + isAction: + action: Closed + - hasLabel: + label: 'Status: No Recent Activity' + then: + - removeLabel: + label: 'Status: No Recent Activity' + description: + - if: + - payloadType: Issue_Comment + - hasLabel: + label: 'Status: No Recent Activity' + then: + - removeLabel: + label: 'Status: No Recent Activity' + description: + - if: + - payloadType: Pull_Request + then: + - inPrLabel: + label: WIP + description: +onFailure: +onSuccess: From fa6e3a66c2b842b96a6c579f9c12edb8b6ac9fcc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 31 Aug 2023 17:39:40 +0000 Subject: [PATCH 05/17] Bump anyio from 3.7.1 to 4.0.0 Bumps [anyio](https://github.com/agronholm/anyio) from 3.7.1 to 4.0.0. - [Release notes](https://github.com/agronholm/anyio/releases) - [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst) - [Commits](https://github.com/agronholm/anyio/compare/3.7.1...4.0.0) --- updated-dependencies: - dependency-name: anyio dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index f19d67c..99dfd42 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -74,7 +74,7 @@ wrapt==1.15.0 yapf==0.40.1 -anyio==3.7.1 +anyio==4.0.0 h11==0.14.0 From 044d43ea2df12b5a76a8ed6d00a6aeeb183c6b52 Mon Sep 17 00:00:00 2001 From: samwelkanda Date: Fri, 1 Sep 2023 17:02:16 +0300 Subject: [PATCH 06/17] Fix dependency issue --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 99dfd42..0dbe285 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -88,7 +88,7 @@ httpx[http2]==0.24.1 hyperframe==6.0.1 -microsoft-kiota-abstractions==0.8.0 +microsoft-kiota-abstractions==0.8.1 sniffio==1.3.0 From c895097b8bd24f4acf35030daec34555fcb4e703 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Sep 2023 17:24:45 +0000 Subject: [PATCH 07/17] Bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/build_publish.yml | 4 ++-- .github/workflows/codeql-analysis.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_publish.yml b/.github/workflows/build_publish.yml index 0c18925..990834f 100644 --- a/.github/workflows/build_publish.yml +++ b/.github/workflows/build_publish.yml @@ -15,7 +15,7 @@ jobs: python-version: ["3.8", "3.9", "3.10", "3.11"] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: @@ -48,7 +48,7 @@ jobs: needs: [build] steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Python 3.8 uses: actions/setup-python@v4 with: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 6b8dcaf..fd49305 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -36,7 +36,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL From ebc8dce2a38dea5695eca27c5034999231a75b46 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Sep 2023 17:47:26 +0000 Subject: [PATCH 08/17] Bump pytest from 7.4.0 to 7.4.1 Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.0 to 7.4.1. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/7.4.0...7.4.1) --- updated-dependencies: - dependency-name: pytest dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 0dbe285..c11388d 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -46,7 +46,7 @@ pluggy==1.3.0 pylint==2.17.5 -pytest==7.4.0 +pytest==7.4.1 pytest-asyncio==0.21.1 From adcce956bfe754772f9f1ab32c606dae4b6bbafa Mon Sep 17 00:00:00 2001 From: samwelkanda Date: Tue, 5 Sep 2023 17:55:09 +0300 Subject: [PATCH 09/17] Add CAE support --- kiota_http/httpx_request_adapter.py | 35 +++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/kiota_http/httpx_request_adapter.py b/kiota_http/httpx_request_adapter.py index dbf2e8b..a5ff56f 100644 --- a/kiota_http/httpx_request_adapter.py +++ b/kiota_http/httpx_request_adapter.py @@ -1,3 +1,5 @@ +import re +from collections.abc import AsyncIterable, Iterable from datetime import datetime from typing import Any, Dict, Generic, List, Optional, TypeVar, Union @@ -29,6 +31,10 @@ class HttpxRequestAdapter(RequestAdapter, Generic[ModelType]): + + CLAIMS_KEY = "claims" + BEARER_AUTHENTICATION_SCHEME = "Bearer" + RESPONSE_AUTH_HEADER = "WWW-Authenticate" def __init__( self, @@ -318,15 +324,36 @@ async def throw_failed_responses( raise APIError( f"Unexpected error type: {type(error)}", response_status_code, response_headers ) - - async def get_http_response_message(self, request_info: RequestInformation) -> httpx.Response: + + async def get_http_response_message(self, request_info: RequestInformation, claims: str = "") -> httpx.Response: self.set_base_url_for_request_information(request_info) - await self._authentication_provider.authenticate_request(request_info) + + additional_authentication_context = None + if claims: + additional_authentication_context = {self.CLAIMS_KEY: claims} + + await self._authentication_provider.authenticate_request(request_info, additional_authentication_context) request = self.get_request_from_request_information(request_info) resp = await self._http_client.send(request) + return await self.retry_cae_response_if_required(resp, request_info, claims) + + async def retry_cae_response_if_required(self, resp: httpx.Response, request_info: RequestInformation, claims: str) -> httpx.Response: + if ( + resp.status_code == 401 + and not claims # previous claims exist. Means request has already been retried + and resp.headers.get(self.RESPONSE_AUTH_HEADER) + ): + if isinstance(request_info.content, Iterable) or isinstance(request_info.content, AsyncIterable): + auth_header_value = resp.headers.get(self.RESPONSE_AUTH_HEADER) + if auth_header_value.casefold().startswith(self.BEARER_AUTHENTICATION_SCHEME.casefold()): + claims_match = re.search('claims="(.+)"', auth_header_value) + response_claims = claims_match.group().split('="')[1] + return await self.get_http_response_message(request_info, response_claims) + return resp + return resp return resp - + def get_response_handler(self, request_info: RequestInformation) -> Any: response_handler_option = request_info.request_options.get(ResponseHandlerOption.get_key()) if response_handler_option: From 1811d0f663672671a4688b42dd619e04f8e34fd0 Mon Sep 17 00:00:00 2001 From: samwelkanda Date: Tue, 5 Sep 2023 17:55:19 +0300 Subject: [PATCH 10/17] Add tests --- tests/conftest.py | 22 +++++++++++++++++++++- tests/test_httpx_request_adapter.py | 14 +++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 8dcb26f..4969408 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -4,6 +4,7 @@ import pytest from asyncmock import AsyncMock from kiota_abstractions.api_error import APIError +from kiota_abstractions.method import Method from kiota_abstractions.authentication import AnonymousAuthenticationProvider from kiota_abstractions.request_information import RequestInformation @@ -24,7 +25,11 @@ def request_info(): @pytest.fixture def request_info_mock(): - return RequestInformation() + request_info = RequestInformation() + request_info.content = b'Hello World' + request_info.http_method = Method.GET + request_info.url_template = "https://example.com" + return request_info @pytest.fixture @@ -179,3 +184,18 @@ def mock_primitive_response_bytes(mocker): @pytest.fixture def mock_no_content_response(mocker): return httpx.Response(204, json="Radom JSON", headers={"Content-Type": "application/json"}) + +@pytest.fixture +def mock_cae_failure_response(mocker): + auth_header = """Bearer authorization_uri="https://login.windows.net/common/oauth2/authorize", + client_id="00000003-0000-0000-c000-000000000000", + error="insufficient_claims", + claims="eyJhY2Nlc3NfdG9rZW4iOnsibmJmIjp7ImVzc2VudGlhbCI6dHJ1ZSwgInZhbHVlIjoiMTYwNDEwNjY1MSJ9fX0=" + """ + return httpx.Response( + 401, + headers={ + "Content-Type": "application/json", + "WWW-Authenticate": auth_header + } + ) diff --git a/tests/test_httpx_request_adapter.py b/tests/test_httpx_request_adapter.py index f0d6617..3dd6d7f 100644 --- a/tests/test_httpx_request_adapter.py +++ b/tests/test_httpx_request_adapter.py @@ -1,6 +1,6 @@ import httpx import pytest -from asyncmock import AsyncMock +from unittest.mock import AsyncMock, call from kiota_abstractions.api_error import APIError from kiota_abstractions.method import Method from kiota_abstractions.native_response_handler import NativeResponseHandler @@ -254,3 +254,15 @@ async def test_convert_to_native_async(request_adapter, request_info): request_info.content = bytes('hello world', 'utf_8') req = await request_adapter.convert_to_native_async(request_info) assert isinstance(req, httpx.Request) + +@pytest.mark.asyncio +async def test_retries_on_cae_failure(request_adapter, request_info_mock, mock_cae_failure_response): + request_adapter._http_client.send = AsyncMock(return_value=mock_cae_failure_response) + request_adapter._authentication_provider.authenticate_request = AsyncMock() + resp = await request_adapter.get_http_response_message(request_info_mock) + assert isinstance(resp, httpx.Response) + calls = [ + call(request_info_mock, None), + call(request_info_mock, {'claims': 'eyJhY2Nlc3NfdG9rZW4iOnsibmJmIjp7ImVzc2VudGlhbCI6dHJ1ZSwgInZhbHVlIjoiMTYwNDEwNjY1MSJ9fX0'}) + ] + request_adapter._authentication_provider.authenticate_request.assert_has_awaits(calls) From 346a720327e5a9eaa58acaa977bf587a5523e5e8 Mon Sep 17 00:00:00 2001 From: samwelkanda Date: Tue, 5 Sep 2023 17:55:50 +0300 Subject: [PATCH 11/17] Bump package version and add CHANGELOG entry --- CHANGELOG.md | 8 ++++++++ kiota_http/_version.py | 2 +- requirements-dev.txt | 2 -- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 286e66d..0a4182e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.6.0] - 2023-09-01 + +### Added + +- Added support for continuous access evaluation. + +### Changed + ## [0.5.0] - 2023-07-27 ### Added diff --git a/kiota_http/_version.py b/kiota_http/_version.py index ca2ac7e..cdebff8 100644 --- a/kiota_http/_version.py +++ b/kiota_http/_version.py @@ -1 +1 @@ -VERSION: str = '0.5.0' +VERSION: str = '0.6.0' diff --git a/requirements-dev.txt b/requirements-dev.txt index 0dbe285..a748379 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -2,8 +2,6 @@ astroid==2.15.6 -asyncmock==0.4.2 - certifi==2023.7.22 charset-normalizer==3.2.0 From e91729cf1425cacc9b526e2e2fbd4d5302bb6337 Mon Sep 17 00:00:00 2001 From: samwelkanda Date: Tue, 5 Sep 2023 18:02:21 +0300 Subject: [PATCH 12/17] Fix formatting --- kiota_http/httpx_request_adapter.py | 40 +++++++++++++++++------------ 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/kiota_http/httpx_request_adapter.py b/kiota_http/httpx_request_adapter.py index a5ff56f..be94550 100644 --- a/kiota_http/httpx_request_adapter.py +++ b/kiota_http/httpx_request_adapter.py @@ -31,7 +31,7 @@ class HttpxRequestAdapter(RequestAdapter, Generic[ModelType]): - + CLAIMS_KEY = "claims" BEARER_AUTHENTICATION_SCHEME = "Bearer" RESPONSE_AUTH_HEADER = "WWW-Authenticate" @@ -324,36 +324,44 @@ async def throw_failed_responses( raise APIError( f"Unexpected error type: {type(error)}", response_status_code, response_headers ) - - async def get_http_response_message(self, request_info: RequestInformation, claims: str = "") -> httpx.Response: + + async def get_http_response_message( + self, request_info: RequestInformation, claims: str = "" + ) -> httpx.Response: self.set_base_url_for_request_information(request_info) - + additional_authentication_context = None if claims: additional_authentication_context = {self.CLAIMS_KEY: claims} - await self._authentication_provider.authenticate_request(request_info, additional_authentication_context) + await self._authentication_provider.authenticate_request( + request_info, additional_authentication_context + ) request = self.get_request_from_request_information(request_info) resp = await self._http_client.send(request) return await self.retry_cae_response_if_required(resp, request_info, claims) - - async def retry_cae_response_if_required(self, resp: httpx.Response, request_info: RequestInformation, claims: str) -> httpx.Response: + + async def retry_cae_response_if_required( + self, resp: httpx.Response, request_info: RequestInformation, claims: str + ) -> httpx.Response: if ( resp.status_code == 401 - and not claims # previous claims exist. Means request has already been retried + and not claims # previous claims exist. Means request has already been retried and resp.headers.get(self.RESPONSE_AUTH_HEADER) ): - if isinstance(request_info.content, Iterable) or isinstance(request_info.content, AsyncIterable): - auth_header_value = resp.headers.get(self.RESPONSE_AUTH_HEADER) - if auth_header_value.casefold().startswith(self.BEARER_AUTHENTICATION_SCHEME.casefold()): - claims_match = re.search('claims="(.+)"', auth_header_value) - response_claims = claims_match.group().split('="')[1] - return await self.get_http_response_message(request_info, response_claims) - return resp + auth_header_value = resp.headers.get(self.RESPONSE_AUTH_HEADER) + if auth_header_value.casefold().startswith( + self.BEARER_AUTHENTICATION_SCHEME.casefold() + ): + claims_match = re.search('claims="(.+)"', auth_header_value) + if not claims_match: + raise ValueError("Unable to parse claims from response") + response_claims = claims_match.group().split('="')[1] + return await self.get_http_response_message(request_info, response_claims) return resp return resp - + def get_response_handler(self, request_info: RequestInformation) -> Any: response_handler_option = request_info.request_options.get(ResponseHandlerOption.get_key()) if response_handler_option: From df479a5ee162c3ad8e17513c77bce5db129579f5 Mon Sep 17 00:00:00 2001 From: samwelkanda Date: Tue, 5 Sep 2023 18:08:10 +0300 Subject: [PATCH 13/17] Remove asyncmock dependency --- tests/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/conftest.py b/tests/conftest.py index 4969408..9c4d366 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,7 +2,7 @@ import httpx import pytest -from asyncmock import AsyncMock +from unittest.mock import AsyncMock from kiota_abstractions.api_error import APIError from kiota_abstractions.method import Method from kiota_abstractions.authentication import AnonymousAuthenticationProvider From ea14e0ebafbbe41f6d5dd13230d808b07918b729 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Sep 2023 17:27:07 +0000 Subject: [PATCH 14/17] Bump coverage[toml] from 7.3.0 to 7.3.1 Bumps [coverage[toml]](https://github.com/nedbat/coveragepy) from 7.3.0 to 7.3.1. - [Release notes](https://github.com/nedbat/coveragepy/releases) - [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst) - [Commits](https://github.com/nedbat/coveragepy/compare/7.3.0...7.3.1) --- updated-dependencies: - dependency-name: coverage[toml] dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index c11388d..13a17af 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -10,7 +10,7 @@ charset-normalizer==3.2.0 colorama==0.4.6 -coverage[toml]==7.3.0 +coverage[toml]==7.3.1 dill==0.3.7 From 40c1ad17e3d341ffe1ca63c9493edc9c017f6889 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Sep 2023 17:39:32 +0000 Subject: [PATCH 15/17] Bump httpcore from 0.17.3 to 0.18.0 Bumps [httpcore](https://github.com/encode/httpcore) from 0.17.3 to 0.18.0. - [Release notes](https://github.com/encode/httpcore/releases) - [Changelog](https://github.com/encode/httpcore/blob/master/CHANGELOG.md) - [Commits](https://github.com/encode/httpcore/compare/0.17.3...0.18.0) --- updated-dependencies: - dependency-name: httpcore dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 13a17af..90e1147 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -82,7 +82,7 @@ h2==4.1.0 hpack==4.0.0 -httpcore==0.17.3 +httpcore==0.18.0 httpx[http2]==0.24.1 From 179170cf87f2174c96ddbb6ca1e8048656897864 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Sep 2023 17:39:36 +0000 Subject: [PATCH 16/17] Bump pytest from 7.4.1 to 7.4.2 Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.1 to 7.4.2. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/7.4.1...7.4.2) --- updated-dependencies: - dependency-name: pytest dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 13a17af..6831386 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -46,7 +46,7 @@ pluggy==1.3.0 pylint==2.17.5 -pytest==7.4.1 +pytest==7.4.2 pytest-asyncio==0.21.1 From a25919d217fb0220da975a1c525d0ccd0365b900 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Sep 2023 17:40:12 +0000 Subject: [PATCH 17/17] Bump httpx[http2] from 0.24.1 to 0.25.0 Bumps [httpx[http2]](https://github.com/encode/httpx) from 0.24.1 to 0.25.0. - [Release notes](https://github.com/encode/httpx/releases) - [Changelog](https://github.com/encode/httpx/blob/master/CHANGELOG.md) - [Commits](https://github.com/encode/httpx/compare/0.24.1...0.25.0) --- updated-dependencies: - dependency-name: httpx[http2] dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 32e1aed..749e02b 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -84,7 +84,7 @@ hpack==4.0.0 httpcore==0.18.0 -httpx[http2]==0.24.1 +httpx[http2]==0.25.0 hyperframe==6.0.1