anchorbrowser 0.7.0__tar.gz → 0.7.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- anchorbrowser-0.7.2/.release-please-manifest.json +3 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/CHANGELOG.md +12 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/PKG-INFO +1 -1
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/api.md +0 -2
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/pyproject.toml +1 -1
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_version.py +1 -1
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/applications/auth_flows.py +1 -144
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/tools.py +8 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/applications/__init__.py +0 -2
- anchorbrowser-0.7.2/tests/api_resources/applications/test_auth_flows.py +342 -0
- anchorbrowser-0.7.0/.release-please-manifest.json +0 -3
- anchorbrowser-0.7.0/src/anchorbrowser/types/applications/auth_flow_update_params.py +0 -32
- anchorbrowser-0.7.0/src/anchorbrowser/types/applications/auth_flow_update_response.py +0 -39
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/.gitignore +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/CONTRIBUTING.md +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/LICENSE +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/README.md +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/SECURITY.md +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/bin/check-release-environment +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/bin/publish-pypi +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/examples/.keep +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/noxfile.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/release-please-config.json +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/requirements-dev.lock +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/requirements.lock +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_base_client.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_client.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_compat.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_constants.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_exceptions.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_files.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_models.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_qs.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_resource.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_streaming.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_types.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_compat.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_datetime_parse.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_logs.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_proxy.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_reflection.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_resources_proxy.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_streams.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_sync.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_transform.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_typing.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_utils.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/lib/.keep +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/lib/agent.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/lib/browser.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/py.typed +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/agent.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/applications/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/applications/applications.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/browser.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/events.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/extensions.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/identities.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/profiles.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/agent/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/agent/agent.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/agent/files.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/all.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/clipboard.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/keyboard.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/mouse.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/recordings/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/recordings/primary.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/recordings/recordings.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/sessions.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/task.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_create_identity_token_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_create_identity_token_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_create_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_create_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_delete_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_list_identities_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_list_identities_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_list_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_list_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_retrieve_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/applications/auth_flow_create_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/applications/auth_flow_create_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/applications/auth_flow_delete_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/applications/auth_flow_list_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/event_signal_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/event_wait_for_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/event_wait_for_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/extension_list_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/extension_manifest.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/identity_create_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/identity_create_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/identity_delete_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/identity_retrieve_credentials_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/identity_retrieve_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/identity_update_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/identity_update_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/profile_create_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/profile_list_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/profile_retrieve_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_create_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_create_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_drag_and_drop_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_drag_and_drop_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_goto_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_goto_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_retrieve_downloads_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_retrieve_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_scroll_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_scroll_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_upload_file_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_upload_file_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/agent/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/agent/file_upload_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/agent/file_upload_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/all_status_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/clipboard_set_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/clipboard_set_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/keyboard_shortcut_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/keyboard_shortcut_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/keyboard_type_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/keyboard_type_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/mouse_click_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/mouse_click_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/mouse_move_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/mouse_move_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/recording_list_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/recordings/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/shared/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/shared/success_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/task_create_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/task_create_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/task_list_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/task_list_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/task_run_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/task_run_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/tool_fetch_webpage_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/tool_fetch_webpage_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/tool_perform_web_task_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/tool_perform_web_task_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/tool_screenshot_webpage_params.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/agent/test_files.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/recordings/__init__.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/recordings/test_primary.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/test_agent.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/test_all.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/test_clipboard.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/test_keyboard.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/test_mouse.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/test_recordings.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/test_events.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/test_extensions.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/test_identities.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/test_profiles.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/test_sessions.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/test_task.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/test_tools.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/conftest.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/sample_file.txt +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_client.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_deepcopy.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_extract_files.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_files.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_models.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_qs.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_required_args.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_response.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_streaming.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_transform.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_utils/test_datetime_parse.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_utils/test_proxy.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_utils/test_typing.py +0 -0
- {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/utils.py +0 -0
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.7.2 (2026-01-15)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.7.1...v0.7.2](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.7.1...v0.7.2)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** manual updates ([d1ad53a](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/d1ad53a3d9c95ec228dc2a084db220538cbda64b))
|
|
10
|
+
|
|
11
|
+
## 0.7.1 (2026-01-15)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v0.7.0...v0.7.1](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.7.0...v0.7.1)
|
|
14
|
+
|
|
3
15
|
## 0.7.0 (2026-01-14)
|
|
4
16
|
|
|
5
17
|
Full Changelog: [v0.6.2...v0.7.0](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.6.2...v0.7.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: anchorbrowser
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.2
|
|
4
4
|
Summary: The official Python library for the anchorbrowser API
|
|
5
5
|
Project-URL: Homepage, https://github.com/anchorbrowser/AnchorBrowser-SDK-Python
|
|
6
6
|
Project-URL: Repository, https://github.com/anchorbrowser/AnchorBrowser-SDK-Python
|
|
@@ -241,7 +241,6 @@ Types:
|
|
|
241
241
|
```python
|
|
242
242
|
from anchorbrowser.types.applications import (
|
|
243
243
|
AuthFlowCreateResponse,
|
|
244
|
-
AuthFlowUpdateResponse,
|
|
245
244
|
AuthFlowListResponse,
|
|
246
245
|
AuthFlowDeleteResponse,
|
|
247
246
|
)
|
|
@@ -250,6 +249,5 @@ from anchorbrowser.types.applications import (
|
|
|
250
249
|
Methods:
|
|
251
250
|
|
|
252
251
|
- <code title="post /v1/applications/{application_id}/auth-flows">client.applications.auth_flows.<a href="./src/anchorbrowser/resources/applications/auth_flows.py">create</a>(application_id, \*\*<a href="src/anchorbrowser/types/applications/auth_flow_create_params.py">params</a>) -> <a href="./src/anchorbrowser/types/applications/auth_flow_create_response.py">AuthFlowCreateResponse</a></code>
|
|
253
|
-
- <code title="patch /v1/applications/{application_id}/auth-flows/{auth_flow_id}">client.applications.auth_flows.<a href="./src/anchorbrowser/resources/applications/auth_flows.py">update</a>(auth_flow_id, \*, application_id, \*\*<a href="src/anchorbrowser/types/applications/auth_flow_update_params.py">params</a>) -> <a href="./src/anchorbrowser/types/applications/auth_flow_update_response.py">AuthFlowUpdateResponse</a></code>
|
|
254
252
|
- <code title="get /v1/applications/{application_id}/auth-flows">client.applications.auth_flows.<a href="./src/anchorbrowser/resources/applications/auth_flows.py">list</a>(application_id) -> <a href="./src/anchorbrowser/types/applications/auth_flow_list_response.py">AuthFlowListResponse</a></code>
|
|
255
253
|
- <code title="delete /v1/applications/{application_id}/auth-flows/{auth_flow_id}">client.applications.auth_flows.<a href="./src/anchorbrowser/resources/applications/auth_flows.py">delete</a>(auth_flow_id, \*, application_id) -> <a href="./src/anchorbrowser/types/applications/auth_flow_delete_response.py">AuthFlowDeleteResponse</a></code>
|
{anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/applications/auth_flows.py
RENAMED
|
@@ -18,11 +18,10 @@ from ..._response import (
|
|
|
18
18
|
async_to_streamed_response_wrapper,
|
|
19
19
|
)
|
|
20
20
|
from ..._base_client import make_request_options
|
|
21
|
-
from ...types.applications import auth_flow_create_params
|
|
21
|
+
from ...types.applications import auth_flow_create_params
|
|
22
22
|
from ...types.applications.auth_flow_list_response import AuthFlowListResponse
|
|
23
23
|
from ...types.applications.auth_flow_create_response import AuthFlowCreateResponse
|
|
24
24
|
from ...types.applications.auth_flow_delete_response import AuthFlowDeleteResponse
|
|
25
|
-
from ...types.applications.auth_flow_update_response import AuthFlowUpdateResponse
|
|
26
25
|
|
|
27
26
|
__all__ = ["AuthFlowsResource", "AsyncAuthFlowsResource"]
|
|
28
27
|
|
|
@@ -109,71 +108,6 @@ class AuthFlowsResource(SyncAPIResource):
|
|
|
109
108
|
cast_to=AuthFlowCreateResponse,
|
|
110
109
|
)
|
|
111
110
|
|
|
112
|
-
def update(
|
|
113
|
-
self,
|
|
114
|
-
auth_flow_id: str,
|
|
115
|
-
*,
|
|
116
|
-
application_id: str,
|
|
117
|
-
custom_fields: Iterable[auth_flow_update_params.CustomField] | Omit = omit,
|
|
118
|
-
description: str | Omit = omit,
|
|
119
|
-
is_recommended: bool | Omit = omit,
|
|
120
|
-
methods: List[Literal["username_password", "authenticator", "custom"]] | Omit = omit,
|
|
121
|
-
name: str | Omit = omit,
|
|
122
|
-
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
123
|
-
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
124
|
-
extra_headers: Headers | None = None,
|
|
125
|
-
extra_query: Query | None = None,
|
|
126
|
-
extra_body: Body | None = None,
|
|
127
|
-
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
128
|
-
) -> AuthFlowUpdateResponse:
|
|
129
|
-
"""Updates an existing authentication flow.
|
|
130
|
-
|
|
131
|
-
**Beta** Capability.
|
|
132
|
-
|
|
133
|
-
[Contact support](mailto:support@anchorbrowser.io) to
|
|
134
|
-
enable.
|
|
135
|
-
|
|
136
|
-
Args:
|
|
137
|
-
custom_fields: Custom fields for this authentication flow
|
|
138
|
-
|
|
139
|
-
description: Description of the authentication flow
|
|
140
|
-
|
|
141
|
-
is_recommended: Whether this is the recommended authentication flow
|
|
142
|
-
|
|
143
|
-
methods: Authentication methods in this flow
|
|
144
|
-
|
|
145
|
-
name: Name of the authentication flow
|
|
146
|
-
|
|
147
|
-
extra_headers: Send extra headers
|
|
148
|
-
|
|
149
|
-
extra_query: Add additional query parameters to the request
|
|
150
|
-
|
|
151
|
-
extra_body: Add additional JSON properties to the request
|
|
152
|
-
|
|
153
|
-
timeout: Override the client-level default timeout for this request, in seconds
|
|
154
|
-
"""
|
|
155
|
-
if not application_id:
|
|
156
|
-
raise ValueError(f"Expected a non-empty value for `application_id` but received {application_id!r}")
|
|
157
|
-
if not auth_flow_id:
|
|
158
|
-
raise ValueError(f"Expected a non-empty value for `auth_flow_id` but received {auth_flow_id!r}")
|
|
159
|
-
return self._patch(
|
|
160
|
-
f"/v1/applications/{application_id}/auth-flows/{auth_flow_id}",
|
|
161
|
-
body=maybe_transform(
|
|
162
|
-
{
|
|
163
|
-
"custom_fields": custom_fields,
|
|
164
|
-
"description": description,
|
|
165
|
-
"is_recommended": is_recommended,
|
|
166
|
-
"methods": methods,
|
|
167
|
-
"name": name,
|
|
168
|
-
},
|
|
169
|
-
auth_flow_update_params.AuthFlowUpdateParams,
|
|
170
|
-
),
|
|
171
|
-
options=make_request_options(
|
|
172
|
-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
173
|
-
),
|
|
174
|
-
cast_to=AuthFlowUpdateResponse,
|
|
175
|
-
)
|
|
176
|
-
|
|
177
111
|
def list(
|
|
178
112
|
self,
|
|
179
113
|
application_id: str,
|
|
@@ -333,71 +267,6 @@ class AsyncAuthFlowsResource(AsyncAPIResource):
|
|
|
333
267
|
cast_to=AuthFlowCreateResponse,
|
|
334
268
|
)
|
|
335
269
|
|
|
336
|
-
async def update(
|
|
337
|
-
self,
|
|
338
|
-
auth_flow_id: str,
|
|
339
|
-
*,
|
|
340
|
-
application_id: str,
|
|
341
|
-
custom_fields: Iterable[auth_flow_update_params.CustomField] | Omit = omit,
|
|
342
|
-
description: str | Omit = omit,
|
|
343
|
-
is_recommended: bool | Omit = omit,
|
|
344
|
-
methods: List[Literal["username_password", "authenticator", "custom"]] | Omit = omit,
|
|
345
|
-
name: str | Omit = omit,
|
|
346
|
-
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
347
|
-
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
348
|
-
extra_headers: Headers | None = None,
|
|
349
|
-
extra_query: Query | None = None,
|
|
350
|
-
extra_body: Body | None = None,
|
|
351
|
-
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
352
|
-
) -> AuthFlowUpdateResponse:
|
|
353
|
-
"""Updates an existing authentication flow.
|
|
354
|
-
|
|
355
|
-
**Beta** Capability.
|
|
356
|
-
|
|
357
|
-
[Contact support](mailto:support@anchorbrowser.io) to
|
|
358
|
-
enable.
|
|
359
|
-
|
|
360
|
-
Args:
|
|
361
|
-
custom_fields: Custom fields for this authentication flow
|
|
362
|
-
|
|
363
|
-
description: Description of the authentication flow
|
|
364
|
-
|
|
365
|
-
is_recommended: Whether this is the recommended authentication flow
|
|
366
|
-
|
|
367
|
-
methods: Authentication methods in this flow
|
|
368
|
-
|
|
369
|
-
name: Name of the authentication flow
|
|
370
|
-
|
|
371
|
-
extra_headers: Send extra headers
|
|
372
|
-
|
|
373
|
-
extra_query: Add additional query parameters to the request
|
|
374
|
-
|
|
375
|
-
extra_body: Add additional JSON properties to the request
|
|
376
|
-
|
|
377
|
-
timeout: Override the client-level default timeout for this request, in seconds
|
|
378
|
-
"""
|
|
379
|
-
if not application_id:
|
|
380
|
-
raise ValueError(f"Expected a non-empty value for `application_id` but received {application_id!r}")
|
|
381
|
-
if not auth_flow_id:
|
|
382
|
-
raise ValueError(f"Expected a non-empty value for `auth_flow_id` but received {auth_flow_id!r}")
|
|
383
|
-
return await self._patch(
|
|
384
|
-
f"/v1/applications/{application_id}/auth-flows/{auth_flow_id}",
|
|
385
|
-
body=await async_maybe_transform(
|
|
386
|
-
{
|
|
387
|
-
"custom_fields": custom_fields,
|
|
388
|
-
"description": description,
|
|
389
|
-
"is_recommended": is_recommended,
|
|
390
|
-
"methods": methods,
|
|
391
|
-
"name": name,
|
|
392
|
-
},
|
|
393
|
-
auth_flow_update_params.AuthFlowUpdateParams,
|
|
394
|
-
),
|
|
395
|
-
options=make_request_options(
|
|
396
|
-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
397
|
-
),
|
|
398
|
-
cast_to=AuthFlowUpdateResponse,
|
|
399
|
-
)
|
|
400
|
-
|
|
401
270
|
async def list(
|
|
402
271
|
self,
|
|
403
272
|
application_id: str,
|
|
@@ -482,9 +351,6 @@ class AuthFlowsResourceWithRawResponse:
|
|
|
482
351
|
self.create = to_raw_response_wrapper(
|
|
483
352
|
auth_flows.create,
|
|
484
353
|
)
|
|
485
|
-
self.update = to_raw_response_wrapper(
|
|
486
|
-
auth_flows.update,
|
|
487
|
-
)
|
|
488
354
|
self.list = to_raw_response_wrapper(
|
|
489
355
|
auth_flows.list,
|
|
490
356
|
)
|
|
@@ -500,9 +366,6 @@ class AsyncAuthFlowsResourceWithRawResponse:
|
|
|
500
366
|
self.create = async_to_raw_response_wrapper(
|
|
501
367
|
auth_flows.create,
|
|
502
368
|
)
|
|
503
|
-
self.update = async_to_raw_response_wrapper(
|
|
504
|
-
auth_flows.update,
|
|
505
|
-
)
|
|
506
369
|
self.list = async_to_raw_response_wrapper(
|
|
507
370
|
auth_flows.list,
|
|
508
371
|
)
|
|
@@ -518,9 +381,6 @@ class AuthFlowsResourceWithStreamingResponse:
|
|
|
518
381
|
self.create = to_streamed_response_wrapper(
|
|
519
382
|
auth_flows.create,
|
|
520
383
|
)
|
|
521
|
-
self.update = to_streamed_response_wrapper(
|
|
522
|
-
auth_flows.update,
|
|
523
|
-
)
|
|
524
384
|
self.list = to_streamed_response_wrapper(
|
|
525
385
|
auth_flows.list,
|
|
526
386
|
)
|
|
@@ -536,9 +396,6 @@ class AsyncAuthFlowsResourceWithStreamingResponse:
|
|
|
536
396
|
self.create = async_to_streamed_response_wrapper(
|
|
537
397
|
auth_flows.create,
|
|
538
398
|
)
|
|
539
|
-
self.update = async_to_streamed_response_wrapper(
|
|
540
|
-
auth_flows.update,
|
|
541
|
-
)
|
|
542
399
|
self.list = async_to_streamed_response_wrapper(
|
|
543
400
|
auth_flows.list,
|
|
544
401
|
)
|
|
@@ -139,6 +139,7 @@ class ToolsResource(SyncAPIResource):
|
|
|
139
139
|
secret_values: Dict[str, str] | Omit = omit,
|
|
140
140
|
url: str | Omit = omit,
|
|
141
141
|
directly_open_url: bool | Omit = omit,
|
|
142
|
+
async_: bool | Omit = omit,
|
|
142
143
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
143
144
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
144
145
|
extra_headers: Headers | None = None,
|
|
@@ -185,6 +186,8 @@ class ToolsResource(SyncAPIResource):
|
|
|
185
186
|
|
|
186
187
|
directly_open_url: If true, the tool will directly open the URL in the browser.
|
|
187
188
|
|
|
189
|
+
async_: Whether to execute the task asynchronously.
|
|
190
|
+
|
|
188
191
|
extra_headers: Send extra headers
|
|
189
192
|
|
|
190
193
|
extra_query: Add additional query parameters to the request
|
|
@@ -209,6 +212,7 @@ class ToolsResource(SyncAPIResource):
|
|
|
209
212
|
"secret_values": secret_values,
|
|
210
213
|
"url": url,
|
|
211
214
|
"directly_open_url": directly_open_url,
|
|
215
|
+
"async": async_,
|
|
212
216
|
},
|
|
213
217
|
tool_perform_web_task_params.ToolPerformWebTaskParams,
|
|
214
218
|
),
|
|
@@ -416,6 +420,7 @@ class AsyncToolsResource(AsyncAPIResource):
|
|
|
416
420
|
secret_values: Dict[str, str] | Omit = omit,
|
|
417
421
|
url: str | Omit = omit,
|
|
418
422
|
directly_open_url: bool | Omit = omit,
|
|
423
|
+
async_: bool | Omit = omit,
|
|
419
424
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
420
425
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
421
426
|
extra_headers: Headers | None = None,
|
|
@@ -462,6 +467,8 @@ class AsyncToolsResource(AsyncAPIResource):
|
|
|
462
467
|
|
|
463
468
|
directly_open_url: If true, the tool will directly open the URL in the browser.
|
|
464
469
|
|
|
470
|
+
async_: Whether to execute the task asynchronously.
|
|
471
|
+
|
|
465
472
|
extra_headers: Send extra headers
|
|
466
473
|
|
|
467
474
|
extra_query: Add additional query parameters to the request
|
|
@@ -486,6 +493,7 @@ class AsyncToolsResource(AsyncAPIResource):
|
|
|
486
493
|
"secret_values": secret_values,
|
|
487
494
|
"url": url,
|
|
488
495
|
"directly_open_url": directly_open_url,
|
|
496
|
+
"async": async_,
|
|
489
497
|
},
|
|
490
498
|
tool_perform_web_task_params.ToolPerformWebTaskParams,
|
|
491
499
|
),
|
{anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/applications/__init__.py
RENAMED
|
@@ -4,7 +4,5 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
from .auth_flow_create_params import AuthFlowCreateParams as AuthFlowCreateParams
|
|
6
6
|
from .auth_flow_list_response import AuthFlowListResponse as AuthFlowListResponse
|
|
7
|
-
from .auth_flow_update_params import AuthFlowUpdateParams as AuthFlowUpdateParams
|
|
8
7
|
from .auth_flow_create_response import AuthFlowCreateResponse as AuthFlowCreateResponse
|
|
9
8
|
from .auth_flow_delete_response import AuthFlowDeleteResponse as AuthFlowDeleteResponse
|
|
10
|
-
from .auth_flow_update_response import AuthFlowUpdateResponse as AuthFlowUpdateResponse
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import os
|
|
6
|
+
from typing import Any, cast
|
|
7
|
+
|
|
8
|
+
import pytest
|
|
9
|
+
|
|
10
|
+
from tests.utils import assert_matches_type
|
|
11
|
+
from anchorbrowser import Anchorbrowser, AsyncAnchorbrowser
|
|
12
|
+
from anchorbrowser.types.applications import (
|
|
13
|
+
AuthFlowListResponse,
|
|
14
|
+
AuthFlowCreateResponse,
|
|
15
|
+
AuthFlowDeleteResponse,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class TestAuthFlows:
|
|
22
|
+
parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"])
|
|
23
|
+
|
|
24
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
25
|
+
@parametrize
|
|
26
|
+
def test_method_create(self, client: Anchorbrowser) -> None:
|
|
27
|
+
auth_flow = client.applications.auth_flows.create(
|
|
28
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
29
|
+
methods=["username_password"],
|
|
30
|
+
name="Standard Login",
|
|
31
|
+
)
|
|
32
|
+
assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
|
|
33
|
+
|
|
34
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
35
|
+
@parametrize
|
|
36
|
+
def test_method_create_with_all_params(self, client: Anchorbrowser) -> None:
|
|
37
|
+
auth_flow = client.applications.auth_flows.create(
|
|
38
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
39
|
+
methods=["username_password"],
|
|
40
|
+
name="Standard Login",
|
|
41
|
+
custom_fields=[{"name": "name"}],
|
|
42
|
+
description="Username and password authentication",
|
|
43
|
+
is_recommended=True,
|
|
44
|
+
)
|
|
45
|
+
assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
|
|
46
|
+
|
|
47
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
48
|
+
@parametrize
|
|
49
|
+
def test_raw_response_create(self, client: Anchorbrowser) -> None:
|
|
50
|
+
response = client.applications.auth_flows.with_raw_response.create(
|
|
51
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
52
|
+
methods=["username_password"],
|
|
53
|
+
name="Standard Login",
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
assert response.is_closed is True
|
|
57
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
58
|
+
auth_flow = response.parse()
|
|
59
|
+
assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
|
|
60
|
+
|
|
61
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
62
|
+
@parametrize
|
|
63
|
+
def test_streaming_response_create(self, client: Anchorbrowser) -> None:
|
|
64
|
+
with client.applications.auth_flows.with_streaming_response.create(
|
|
65
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
66
|
+
methods=["username_password"],
|
|
67
|
+
name="Standard Login",
|
|
68
|
+
) as response:
|
|
69
|
+
assert not response.is_closed
|
|
70
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
71
|
+
|
|
72
|
+
auth_flow = response.parse()
|
|
73
|
+
assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
|
|
74
|
+
|
|
75
|
+
assert cast(Any, response.is_closed) is True
|
|
76
|
+
|
|
77
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
78
|
+
@parametrize
|
|
79
|
+
def test_path_params_create(self, client: Anchorbrowser) -> None:
|
|
80
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `application_id` but received ''"):
|
|
81
|
+
client.applications.auth_flows.with_raw_response.create(
|
|
82
|
+
application_id="",
|
|
83
|
+
methods=["username_password"],
|
|
84
|
+
name="Standard Login",
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
88
|
+
@parametrize
|
|
89
|
+
def test_method_list(self, client: Anchorbrowser) -> None:
|
|
90
|
+
auth_flow = client.applications.auth_flows.list(
|
|
91
|
+
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
92
|
+
)
|
|
93
|
+
assert_matches_type(AuthFlowListResponse, auth_flow, path=["response"])
|
|
94
|
+
|
|
95
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
96
|
+
@parametrize
|
|
97
|
+
def test_raw_response_list(self, client: Anchorbrowser) -> None:
|
|
98
|
+
response = client.applications.auth_flows.with_raw_response.list(
|
|
99
|
+
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
assert response.is_closed is True
|
|
103
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
104
|
+
auth_flow = response.parse()
|
|
105
|
+
assert_matches_type(AuthFlowListResponse, auth_flow, path=["response"])
|
|
106
|
+
|
|
107
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
108
|
+
@parametrize
|
|
109
|
+
def test_streaming_response_list(self, client: Anchorbrowser) -> None:
|
|
110
|
+
with client.applications.auth_flows.with_streaming_response.list(
|
|
111
|
+
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
112
|
+
) as response:
|
|
113
|
+
assert not response.is_closed
|
|
114
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
115
|
+
|
|
116
|
+
auth_flow = response.parse()
|
|
117
|
+
assert_matches_type(AuthFlowListResponse, auth_flow, path=["response"])
|
|
118
|
+
|
|
119
|
+
assert cast(Any, response.is_closed) is True
|
|
120
|
+
|
|
121
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
122
|
+
@parametrize
|
|
123
|
+
def test_path_params_list(self, client: Anchorbrowser) -> None:
|
|
124
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `application_id` but received ''"):
|
|
125
|
+
client.applications.auth_flows.with_raw_response.list(
|
|
126
|
+
"",
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
130
|
+
@parametrize
|
|
131
|
+
def test_method_delete(self, client: Anchorbrowser) -> None:
|
|
132
|
+
auth_flow = client.applications.auth_flows.delete(
|
|
133
|
+
auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
134
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
135
|
+
)
|
|
136
|
+
assert_matches_type(AuthFlowDeleteResponse, auth_flow, path=["response"])
|
|
137
|
+
|
|
138
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
139
|
+
@parametrize
|
|
140
|
+
def test_raw_response_delete(self, client: Anchorbrowser) -> None:
|
|
141
|
+
response = client.applications.auth_flows.with_raw_response.delete(
|
|
142
|
+
auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
143
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
assert response.is_closed is True
|
|
147
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
148
|
+
auth_flow = response.parse()
|
|
149
|
+
assert_matches_type(AuthFlowDeleteResponse, auth_flow, path=["response"])
|
|
150
|
+
|
|
151
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
152
|
+
@parametrize
|
|
153
|
+
def test_streaming_response_delete(self, client: Anchorbrowser) -> None:
|
|
154
|
+
with client.applications.auth_flows.with_streaming_response.delete(
|
|
155
|
+
auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
156
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
157
|
+
) as response:
|
|
158
|
+
assert not response.is_closed
|
|
159
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
160
|
+
|
|
161
|
+
auth_flow = response.parse()
|
|
162
|
+
assert_matches_type(AuthFlowDeleteResponse, auth_flow, path=["response"])
|
|
163
|
+
|
|
164
|
+
assert cast(Any, response.is_closed) is True
|
|
165
|
+
|
|
166
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
167
|
+
@parametrize
|
|
168
|
+
def test_path_params_delete(self, client: Anchorbrowser) -> None:
|
|
169
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `application_id` but received ''"):
|
|
170
|
+
client.applications.auth_flows.with_raw_response.delete(
|
|
171
|
+
auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
172
|
+
application_id="",
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `auth_flow_id` but received ''"):
|
|
176
|
+
client.applications.auth_flows.with_raw_response.delete(
|
|
177
|
+
auth_flow_id="",
|
|
178
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
179
|
+
)
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
class TestAsyncAuthFlows:
|
|
183
|
+
parametrize = pytest.mark.parametrize(
|
|
184
|
+
"async_client", [False, True, {"http_client": "aiohttp"}], indirect=True, ids=["loose", "strict", "aiohttp"]
|
|
185
|
+
)
|
|
186
|
+
|
|
187
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
188
|
+
@parametrize
|
|
189
|
+
async def test_method_create(self, async_client: AsyncAnchorbrowser) -> None:
|
|
190
|
+
auth_flow = await async_client.applications.auth_flows.create(
|
|
191
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
192
|
+
methods=["username_password"],
|
|
193
|
+
name="Standard Login",
|
|
194
|
+
)
|
|
195
|
+
assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
|
|
196
|
+
|
|
197
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
198
|
+
@parametrize
|
|
199
|
+
async def test_method_create_with_all_params(self, async_client: AsyncAnchorbrowser) -> None:
|
|
200
|
+
auth_flow = await async_client.applications.auth_flows.create(
|
|
201
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
202
|
+
methods=["username_password"],
|
|
203
|
+
name="Standard Login",
|
|
204
|
+
custom_fields=[{"name": "name"}],
|
|
205
|
+
description="Username and password authentication",
|
|
206
|
+
is_recommended=True,
|
|
207
|
+
)
|
|
208
|
+
assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
|
|
209
|
+
|
|
210
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
211
|
+
@parametrize
|
|
212
|
+
async def test_raw_response_create(self, async_client: AsyncAnchorbrowser) -> None:
|
|
213
|
+
response = await async_client.applications.auth_flows.with_raw_response.create(
|
|
214
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
215
|
+
methods=["username_password"],
|
|
216
|
+
name="Standard Login",
|
|
217
|
+
)
|
|
218
|
+
|
|
219
|
+
assert response.is_closed is True
|
|
220
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
221
|
+
auth_flow = await response.parse()
|
|
222
|
+
assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
|
|
223
|
+
|
|
224
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
225
|
+
@parametrize
|
|
226
|
+
async def test_streaming_response_create(self, async_client: AsyncAnchorbrowser) -> None:
|
|
227
|
+
async with async_client.applications.auth_flows.with_streaming_response.create(
|
|
228
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
229
|
+
methods=["username_password"],
|
|
230
|
+
name="Standard Login",
|
|
231
|
+
) as response:
|
|
232
|
+
assert not response.is_closed
|
|
233
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
234
|
+
|
|
235
|
+
auth_flow = await response.parse()
|
|
236
|
+
assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
|
|
237
|
+
|
|
238
|
+
assert cast(Any, response.is_closed) is True
|
|
239
|
+
|
|
240
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
241
|
+
@parametrize
|
|
242
|
+
async def test_path_params_create(self, async_client: AsyncAnchorbrowser) -> None:
|
|
243
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `application_id` but received ''"):
|
|
244
|
+
await async_client.applications.auth_flows.with_raw_response.create(
|
|
245
|
+
application_id="",
|
|
246
|
+
methods=["username_password"],
|
|
247
|
+
name="Standard Login",
|
|
248
|
+
)
|
|
249
|
+
|
|
250
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
251
|
+
@parametrize
|
|
252
|
+
async def test_method_list(self, async_client: AsyncAnchorbrowser) -> None:
|
|
253
|
+
auth_flow = await async_client.applications.auth_flows.list(
|
|
254
|
+
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
255
|
+
)
|
|
256
|
+
assert_matches_type(AuthFlowListResponse, auth_flow, path=["response"])
|
|
257
|
+
|
|
258
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
259
|
+
@parametrize
|
|
260
|
+
async def test_raw_response_list(self, async_client: AsyncAnchorbrowser) -> None:
|
|
261
|
+
response = await async_client.applications.auth_flows.with_raw_response.list(
|
|
262
|
+
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
263
|
+
)
|
|
264
|
+
|
|
265
|
+
assert response.is_closed is True
|
|
266
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
267
|
+
auth_flow = await response.parse()
|
|
268
|
+
assert_matches_type(AuthFlowListResponse, auth_flow, path=["response"])
|
|
269
|
+
|
|
270
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
271
|
+
@parametrize
|
|
272
|
+
async def test_streaming_response_list(self, async_client: AsyncAnchorbrowser) -> None:
|
|
273
|
+
async with async_client.applications.auth_flows.with_streaming_response.list(
|
|
274
|
+
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
275
|
+
) as response:
|
|
276
|
+
assert not response.is_closed
|
|
277
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
278
|
+
|
|
279
|
+
auth_flow = await response.parse()
|
|
280
|
+
assert_matches_type(AuthFlowListResponse, auth_flow, path=["response"])
|
|
281
|
+
|
|
282
|
+
assert cast(Any, response.is_closed) is True
|
|
283
|
+
|
|
284
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
285
|
+
@parametrize
|
|
286
|
+
async def test_path_params_list(self, async_client: AsyncAnchorbrowser) -> None:
|
|
287
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `application_id` but received ''"):
|
|
288
|
+
await async_client.applications.auth_flows.with_raw_response.list(
|
|
289
|
+
"",
|
|
290
|
+
)
|
|
291
|
+
|
|
292
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
293
|
+
@parametrize
|
|
294
|
+
async def test_method_delete(self, async_client: AsyncAnchorbrowser) -> None:
|
|
295
|
+
auth_flow = await async_client.applications.auth_flows.delete(
|
|
296
|
+
auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
297
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
298
|
+
)
|
|
299
|
+
assert_matches_type(AuthFlowDeleteResponse, auth_flow, path=["response"])
|
|
300
|
+
|
|
301
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
302
|
+
@parametrize
|
|
303
|
+
async def test_raw_response_delete(self, async_client: AsyncAnchorbrowser) -> None:
|
|
304
|
+
response = await async_client.applications.auth_flows.with_raw_response.delete(
|
|
305
|
+
auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
306
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
307
|
+
)
|
|
308
|
+
|
|
309
|
+
assert response.is_closed is True
|
|
310
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
311
|
+
auth_flow = await response.parse()
|
|
312
|
+
assert_matches_type(AuthFlowDeleteResponse, auth_flow, path=["response"])
|
|
313
|
+
|
|
314
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
315
|
+
@parametrize
|
|
316
|
+
async def test_streaming_response_delete(self, async_client: AsyncAnchorbrowser) -> None:
|
|
317
|
+
async with async_client.applications.auth_flows.with_streaming_response.delete(
|
|
318
|
+
auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
319
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
320
|
+
) as response:
|
|
321
|
+
assert not response.is_closed
|
|
322
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
323
|
+
|
|
324
|
+
auth_flow = await response.parse()
|
|
325
|
+
assert_matches_type(AuthFlowDeleteResponse, auth_flow, path=["response"])
|
|
326
|
+
|
|
327
|
+
assert cast(Any, response.is_closed) is True
|
|
328
|
+
|
|
329
|
+
@pytest.mark.skip(reason="Prism tests are disabled")
|
|
330
|
+
@parametrize
|
|
331
|
+
async def test_path_params_delete(self, async_client: AsyncAnchorbrowser) -> None:
|
|
332
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `application_id` but received ''"):
|
|
333
|
+
await async_client.applications.auth_flows.with_raw_response.delete(
|
|
334
|
+
auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
335
|
+
application_id="",
|
|
336
|
+
)
|
|
337
|
+
|
|
338
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `auth_flow_id` but received ''"):
|
|
339
|
+
await async_client.applications.auth_flows.with_raw_response.delete(
|
|
340
|
+
auth_flow_id="",
|
|
341
|
+
application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
|
|
342
|
+
)
|