-
Notifications
You must be signed in to change notification settings - Fork 2.8k
fix: issue 3785. id_token missing #3786
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
c9eb67e
f1c74e7
3744fb0
f153943
c208c77
d5c5319
aa430c7
54d4d00
feaf945
abc3e08
fc8d1b3
2381c91
60ee6b3
2ef4782
a223d26
d5f6142
77eaa98
2973e2c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -78,6 +78,7 @@ class OAuth2Auth(BaseModelWithConfig): | |
| auth_response_uri: Optional[str] = None | ||
| auth_code: Optional[str] = None | ||
| access_token: Optional[str] = None | ||
| id_token: Optional[str] = None | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| refresh_token: Optional[str] = None | ||
| expires_at: Optional[int] = None | ||
| expires_in: Optional[int] = None | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -109,6 +109,7 @@ def update_credential_with_tokens( | |
| """ | ||
| auth_credential.oauth2.access_token = tokens.get("access_token") | ||
| auth_credential.oauth2.refresh_token = tokens.get("refresh_token") | ||
| auth_credential.oauth2.id_token = tokens.get("id_token", None) | ||
ryanaiagent marked this conversation as resolved.
Show resolved
Hide resolved
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Populating the |
||
| auth_credential.oauth2.expires_at = ( | ||
| int(tokens.get("expires_at")) if tokens.get("expires_at") else None | ||
| ) | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -17,6 +17,7 @@ | |
| import tempfile | ||
| from unittest.mock import AsyncMock | ||
| from unittest.mock import create_autospec | ||
| from unittest.mock import MagicMock | ||
| from unittest.mock import Mock | ||
| from unittest.mock import patch | ||
|
|
||
|
|
@@ -1002,7 +1003,7 @@ async def test_handle_a2a_response_with_task_submitted_and_no_update(self): | |
| mock_a2a_task, | ||
| self.agent.name, | ||
| self.mock_context, | ||
| self.mock_a2a_part_converter, | ||
| self.agent._a2a_part_converter, | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| ) | ||
| # Check the parts are updated as Thought | ||
| assert result.content.parts[0].thought is True | ||
|
|
@@ -1770,7 +1771,7 @@ async def test_run_async_impl_successful_request(self): | |
| ) # Tuple with parts and context_id | ||
|
|
||
| # Mock A2A client | ||
| mock_a2a_client = create_autospec(spec=A2AClient, instance=True) | ||
| mock_a2a_client = MagicMock(spec=A2AClient) | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Replacing
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Test failed if I use create_autospec |
||
| mock_response = Mock() | ||
| mock_send_message = AsyncMock() | ||
| mock_send_message.__aiter__.return_value = [mock_response] | ||
|
|
@@ -1909,7 +1910,7 @@ async def test_run_async_impl_with_meta_provider(self): | |
| ) # Tuple with parts and context_id | ||
|
|
||
| # Mock A2A client | ||
| mock_a2a_client = create_autospec(spec=A2AClient, instance=True) | ||
| mock_a2a_client = MagicMock(spec=A2AClient) | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Test failed if I use create_autospec |
||
| mock_response = Mock() | ||
| mock_send_message = AsyncMock() | ||
| mock_send_message.__aiter__.return_value = [mock_response] | ||
|
|
@@ -2046,7 +2047,7 @@ async def test_run_async_impl_successful_request(self): | |
| ) # Tuple with parts and context_id | ||
|
|
||
| # Mock A2A client | ||
| mock_a2a_client = create_autospec(spec=A2AClient, instance=True) | ||
| mock_a2a_client = MagicMock(spec=A2AClient) | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Test failed if I use create_autospec |
||
| mock_response = Mock() | ||
| mock_send_message = AsyncMock() | ||
| mock_send_message.__aiter__.return_value = [mock_response] | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -222,6 +222,7 @@ def test_update_credential_with_tokens(self): | |
| tokens = OAuth2Token({ | ||
| "access_token": "new_access_token", | ||
| "refresh_token": "new_refresh_token", | ||
| "id_token": "some_id_token", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| "expires_at": expected_expires_at, | ||
| "expires_in": 3600, | ||
| }) | ||
|
|
@@ -230,5 +231,6 @@ def test_update_credential_with_tokens(self): | |
|
|
||
| assert credential.oauth2.access_token == "new_access_token" | ||
| assert credential.oauth2.refresh_token == "new_refresh_token" | ||
| assert credential.oauth2.id_token == "some_id_token" | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| assert credential.oauth2.expires_at == expected_expires_at | ||
| assert credential.oauth2.expires_in == 3600 | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding
pythonpath = "src"to the[tool.pytest.ini_options]section is a good practice. It ensures thatpytestcan correctly resolve imports from thesrcdirectory, which can prevent import errors during test execution, especially in larger projects with a specific directory structure.