pygeai 0.6.0b13__py3-none-any.whl → 0.6.1__py3-none-any.whl
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.
- pygeai/__init__.py +1 -2
- pygeai/_docs/source/content/api_reference/project.rst +392 -0
- pygeai/_docs/source/content/authentication.rst +130 -1
- pygeai/_docs/source/content/debugger.rst +327 -157
- pygeai/_docs/source/content/migration.rst +391 -7
- pygeai/_docs/source/pygeai.core.common.rst +8 -0
- pygeai/_docs/source/pygeai.tests.auth.rst +56 -0
- pygeai/_docs/source/pygeai.tests.cli.rst +8 -0
- pygeai/admin/clients.py +1 -3
- pygeai/analytics/clients.py +1 -1
- pygeai/assistant/clients.py +2 -7
- pygeai/assistant/data/clients.py +0 -8
- pygeai/assistant/data_analyst/clients.py +0 -2
- pygeai/assistant/managers.py +1 -1
- pygeai/assistant/rag/clients.py +0 -2
- pygeai/assistant/rag/mappers.py +9 -11
- pygeai/auth/clients.py +26 -7
- pygeai/auth/endpoints.py +2 -1
- pygeai/chat/clients.py +2 -2
- pygeai/chat/managers.py +1 -1
- pygeai/cli/commands/admin.py +13 -25
- pygeai/cli/commands/analytics.py +56 -88
- pygeai/cli/commands/assistant.py +84 -138
- pygeai/cli/commands/auth.py +23 -46
- pygeai/cli/commands/base.py +0 -1
- pygeai/cli/commands/chat.py +218 -209
- pygeai/cli/commands/common.py +5 -5
- pygeai/cli/commands/configuration.py +79 -29
- pygeai/cli/commands/docs.py +3 -4
- pygeai/cli/commands/embeddings.py +13 -19
- pygeai/cli/commands/evaluation.py +133 -344
- pygeai/cli/commands/feedback.py +7 -15
- pygeai/cli/commands/files.py +26 -53
- pygeai/cli/commands/gam.py +28 -69
- pygeai/cli/commands/lab/ai_lab.py +96 -142
- pygeai/cli/commands/lab/common.py +1 -1
- pygeai/cli/commands/lab/spec.py +12 -32
- pygeai/cli/commands/llm.py +9 -18
- pygeai/cli/commands/migrate.py +43 -99
- pygeai/cli/commands/organization.py +223 -196
- pygeai/cli/commands/rag.py +35 -58
- pygeai/cli/commands/rerank.py +21 -25
- pygeai/cli/commands/secrets.py +39 -67
- pygeai/cli/commands/usage_limits.py +50 -136
- pygeai/cli/commands/validators.py +1 -1
- pygeai/cli/geai.py +32 -3
- pygeai/cli/geai_proxy.py +6 -2
- pygeai/cli/install_man.py +1 -1
- pygeai/cli/parsers.py +1 -1
- pygeai/core/base/clients.py +90 -21
- pygeai/core/base/mappers.py +39 -55
- pygeai/core/base/session.py +134 -22
- pygeai/core/common/config.py +50 -13
- pygeai/core/common/constants.py +8 -0
- pygeai/core/common/exceptions.py +6 -0
- pygeai/core/embeddings/clients.py +0 -1
- pygeai/core/embeddings/managers.py +0 -1
- pygeai/core/feedback/clients.py +0 -2
- pygeai/core/feedback/models.py +1 -1
- pygeai/core/files/clients.py +0 -3
- pygeai/core/files/managers.py +1 -1
- pygeai/core/files/mappers.py +4 -5
- pygeai/core/llm/clients.py +0 -1
- pygeai/core/models.py +4 -4
- pygeai/core/plugins/clients.py +0 -3
- pygeai/core/plugins/models.py +2 -2
- pygeai/core/rerank/clients.py +0 -2
- pygeai/core/secrets/clients.py +0 -2
- pygeai/core/services/rest.py +80 -14
- pygeai/core/singleton.py +24 -0
- pygeai/dbg/__init__.py +2 -2
- pygeai/dbg/debugger.py +276 -38
- pygeai/evaluation/clients.py +2 -4
- pygeai/evaluation/dataset/clients.py +0 -1
- pygeai/evaluation/plan/clients.py +0 -2
- pygeai/evaluation/result/clients.py +0 -2
- pygeai/gam/clients.py +1 -3
- pygeai/health/clients.py +1 -3
- pygeai/lab/clients.py +0 -1
- pygeai/lab/managers.py +0 -1
- pygeai/lab/models.py +0 -1
- pygeai/lab/strategies/clients.py +1 -2
- pygeai/lab/tools/clients.py +2 -2
- pygeai/lab/tools/mappers.py +1 -1
- pygeai/migration/strategies.py +5 -6
- pygeai/migration/tools.py +1 -1
- pygeai/organization/clients.py +118 -12
- pygeai/organization/endpoints.py +1 -0
- pygeai/organization/limits/clients.py +4 -6
- pygeai/organization/limits/managers.py +1 -4
- pygeai/organization/managers.py +2 -2
- pygeai/proxy/config.py +1 -0
- pygeai/proxy/managers.py +6 -5
- pygeai/tests/admin/test_clients.py +11 -11
- pygeai/tests/assistants/rag/test_clients.py +1 -1
- pygeai/tests/assistants/rag/test_models.py +1 -2
- pygeai/tests/assistants/test_clients.py +1 -1
- pygeai/tests/assistants/test_managers.py +1 -3
- pygeai/tests/auth/test_cli_configuration.py +252 -0
- pygeai/tests/auth/test_client_initialization.py +411 -0
- pygeai/tests/auth/test_clients.py +29 -27
- pygeai/tests/auth/test_config_manager.py +305 -0
- pygeai/tests/auth/test_header_injection.py +294 -0
- pygeai/tests/auth/test_oauth.py +3 -1
- pygeai/tests/auth/test_session_logging.py +119 -0
- pygeai/tests/auth/test_session_validation.py +408 -0
- pygeai/tests/auth/test_singleton_reset.py +201 -0
- pygeai/tests/chat/test_clients.py +1 -1
- pygeai/tests/chat/test_iris.py +1 -1
- pygeai/tests/chat/test_ui.py +0 -2
- pygeai/tests/cli/commands/lab/test_ai_lab.py +1 -3
- pygeai/tests/cli/commands/lab/test_common.py +0 -1
- pygeai/tests/cli/commands/test_chat.py +1 -1
- pygeai/tests/cli/commands/test_common.py +0 -1
- pygeai/tests/cli/commands/test_embeddings.py +2 -2
- pygeai/tests/cli/commands/test_evaluation.py +1 -9
- pygeai/tests/cli/commands/test_llm.py +1 -1
- pygeai/tests/cli/commands/test_migrate.py +1 -1
- pygeai/tests/cli/commands/test_rerank.py +0 -1
- pygeai/tests/cli/commands/test_secrets.py +1 -1
- pygeai/tests/cli/commands/test_show_help.py +0 -1
- pygeai/tests/cli/commands/test_validators.py +0 -1
- pygeai/tests/cli/test_credentials_flag.py +312 -0
- pygeai/tests/cli/test_error_handler.py +0 -1
- pygeai/tests/core/base/test_mappers.py +2 -2
- pygeai/tests/core/base/test_models.py +4 -4
- pygeai/tests/core/common/test_config.py +2 -7
- pygeai/tests/core/common/test_decorators.py +0 -1
- pygeai/tests/core/embeddings/test_managers.py +1 -1
- pygeai/tests/core/feedback/test_clients.py +2 -2
- pygeai/tests/core/files/test_clients.py +6 -6
- pygeai/tests/core/files/test_models.py +0 -1
- pygeai/tests/core/files/test_responses.py +0 -1
- pygeai/tests/core/llm/test_clients.py +1 -1
- pygeai/tests/core/plugins/test_clients.py +4 -4
- pygeai/tests/core/rerank/test_mappers.py +1 -3
- pygeai/tests/core/secrets/test_clients.py +2 -3
- pygeai/tests/core/services/test_rest.py +10 -10
- pygeai/tests/core/utils/test_console.py +0 -1
- pygeai/tests/dbg/test_debugger.py +95 -8
- pygeai/tests/evaluation/dataset/test_clients.py +24 -27
- pygeai/tests/evaluation/plan/test_clients.py +16 -18
- pygeai/tests/evaluation/result/test_clients.py +4 -5
- pygeai/tests/health/test_clients.py +2 -2
- pygeai/tests/integration/lab/agents/test_create_agent.py +1 -3
- pygeai/tests/integration/lab/agents/test_get_agent.py +1 -1
- pygeai/tests/integration/lab/processes/test_create_process.py +2 -2
- pygeai/tests/integration/lab/processes/test_create_task.py +2 -3
- pygeai/tests/integration/lab/processes/test_delete_process.py +0 -1
- pygeai/tests/integration/lab/processes/test_get_process.py +2 -4
- pygeai/tests/integration/lab/processes/test_list_process_instances.py +1 -3
- pygeai/tests/integration/lab/processes/test_update_process.py +3 -9
- pygeai/tests/integration/lab/reasoning_strategies/test_update_reasoning_strategy.py +1 -2
- pygeai/tests/integration/lab/tools/test_delete_tool.py +1 -1
- pygeai/tests/integration/lab/tools/test_list_tools.py +1 -1
- pygeai/tests/integration/lab/tools/test_update_tool.py +1 -1
- pygeai/tests/lab/agents/test_clients.py +17 -17
- pygeai/tests/lab/processes/test_clients.py +67 -67
- pygeai/tests/lab/processes/test_mappers.py +23 -23
- pygeai/tests/lab/spec/test_loader.py +0 -2
- pygeai/tests/lab/spec/test_parsers.py +1 -2
- pygeai/tests/lab/strategies/test_clients.py +10 -10
- pygeai/tests/lab/test_managers.py +3 -5
- pygeai/tests/lab/test_mappers.py +1 -4
- pygeai/tests/lab/tools/test_clients.py +21 -21
- pygeai/tests/lab/tools/test_mappers.py +0 -1
- pygeai/tests/organization/limits/test_clients.py +33 -33
- pygeai/tests/organization/limits/test_managers.py +7 -7
- pygeai/tests/organization/test_clients.py +78 -60
- pygeai/tests/proxy/test_clients.py +1 -1
- pygeai/tests/proxy/test_integration.py +1 -4
- pygeai/tests/proxy/test_managers.py +1 -2
- pygeai/tests/proxy/test_servers.py +1 -2
- pygeai/tests/snippets/assistants/rag/delete_rag_assistant.py +0 -1
- pygeai/tests/snippets/assistants/rag/get_documents.py +0 -1
- pygeai/tests/snippets/assistants/rag/get_rag_assistant_data.py +0 -1
- pygeai/tests/snippets/chat/get_request_status.py +0 -1
- pygeai/tests/snippets/dbg/file_debugging.py +72 -0
- pygeai/tests/snippets/dbg/module_debugging.py +60 -0
- pygeai/tests/snippets/embeddings/cohere_example.py +2 -2
- pygeai/tests/snippets/embeddings/openai_base64_example.py +1 -1
- pygeai/tests/snippets/evaluation/dataset/complete_workflow_example.py +8 -8
- pygeai/tests/snippets/evaluation/plan/complete_workflow_example.py +5 -5
- pygeai/tests/snippets/evaluation/result/complete_workflow_example.py +3 -3
- pygeai/tests/snippets/lab/agentic_flow_example_1.py +1 -1
- pygeai/tests/snippets/lab/agentic_flow_example_2.py +3 -4
- pygeai/tests/snippets/lab/agents/create_agent_with_permissions.py +2 -2
- pygeai/tests/snippets/lab/agents/delete_agent.py +1 -2
- pygeai/tests/snippets/lab/agents/get_agent.py +1 -1
- pygeai/tests/snippets/lab/agents/get_agent_with_new_fields.py +10 -10
- pygeai/tests/snippets/lab/agents/get_sharing_link.py +0 -1
- pygeai/tests/snippets/lab/agents/list_agents.py +1 -1
- pygeai/tests/snippets/lab/agents/publish_agent_revision.py +0 -1
- pygeai/tests/snippets/lab/agents/update_agent_properties.py +1 -1
- pygeai/tests/snippets/lab/crud_ui.py +3 -5
- pygeai/tests/snippets/lab/processes/kbs/get_kb.py +0 -1
- pygeai/tests/snippets/lab/processes/kbs/list_kbs.py +0 -1
- pygeai/tests/snippets/lab/processes/list_processes.py +1 -1
- pygeai/tests/snippets/lab/samples/summarize_files.py +0 -3
- pygeai/tests/snippets/lab/strategies/get_reasoning_strategy.py +0 -1
- pygeai/tests/snippets/lab/strategies/list_reasoning_strategies.py +1 -1
- pygeai/tests/snippets/lab/tools/get_tool.py +1 -1
- pygeai/tests/snippets/lab/tools/publish_tool_revision.py +0 -1
- pygeai/tests/snippets/lab/tools/set_parameters.py +1 -2
- pygeai/tests/snippets/lab/use_cases/c_code_fixer_agent_flow.py +2 -3
- pygeai/tests/snippets/lab/use_cases/file_summarizer_example_2.py +1 -1
- pygeai/tests/snippets/lab/use_cases/update_cli_expert.py +0 -1
- pygeai/tests/snippets/lab/use_cases/update_lab_expert.py +0 -1
- pygeai/tests/snippets/lab/use_cases/update_web_designer.py +0 -1
- pygeai/tests/snippets/lab/use_cases/update_web_reader.py +0 -1
- pygeai/tests/snippets/migrate/orchestrator_examples.py +1 -1
- {pygeai-0.6.0b13.dist-info → pygeai-0.6.1.dist-info}/METADATA +32 -7
- {pygeai-0.6.0b13.dist-info → pygeai-0.6.1.dist-info}/RECORD +217 -206
- {pygeai-0.6.0b13.dist-info → pygeai-0.6.1.dist-info}/WHEEL +0 -0
- {pygeai-0.6.0b13.dist-info → pygeai-0.6.1.dist-info}/entry_points.txt +0 -0
- {pygeai-0.6.0b13.dist-info → pygeai-0.6.1.dist-info}/licenses/LICENSE +0 -0
- {pygeai-0.6.0b13.dist-info → pygeai-0.6.1.dist-info}/top_level.txt +0 -0
|
@@ -30,7 +30,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
30
30
|
self.revision = "1"
|
|
31
31
|
self.signal_name = "approval"
|
|
32
32
|
|
|
33
|
-
@patch("pygeai.core.services.rest.
|
|
33
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
34
34
|
def test_create_process_success(self, mock_post):
|
|
35
35
|
expected_response = {"id": "process-123", "name": "Test Process"}
|
|
36
36
|
mock_response = mock_post.return_value
|
|
@@ -73,7 +73,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
73
73
|
headers = mock_post.call_args[1]['headers']
|
|
74
74
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
75
75
|
|
|
76
|
-
@patch("pygeai.core.services.rest.
|
|
76
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
77
77
|
def test_create_process_json_decode_error(self, mock_post):
|
|
78
78
|
mock_response = mock_post.return_value
|
|
79
79
|
mock_response.status_code = 200
|
|
@@ -89,8 +89,8 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
89
89
|
self.assertEqual(str(context.exception), f"Unable to create process for project {self.project_id}: Invalid JSON response")
|
|
90
90
|
mock_post.assert_called_once()
|
|
91
91
|
|
|
92
|
-
@patch("pygeai.core.services.rest.
|
|
93
|
-
@patch("pygeai.core.services.rest.
|
|
92
|
+
@patch("pygeai.core.services.rest.GEAIApiService.put")
|
|
93
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
94
94
|
def test_update_process_success_with_id(self, mock_get, mock_put):
|
|
95
95
|
expected_response = {"id": self.process_id, "name": "Updated Process"}
|
|
96
96
|
mock_response_put = mock_put.return_value
|
|
@@ -127,8 +127,8 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
127
127
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
128
128
|
mock_get.assert_called_once()
|
|
129
129
|
|
|
130
|
-
@patch("pygeai.core.services.rest.
|
|
131
|
-
@patch("pygeai.core.services.rest.
|
|
130
|
+
@patch("pygeai.core.services.rest.GEAIApiService.put")
|
|
131
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
132
132
|
def test_update_process_success_with_name(self, mock_get, mock_put):
|
|
133
133
|
expected_response = {"id": "process-123", "name": "Updated Process"}
|
|
134
134
|
mock_response_put = mock_put.return_value
|
|
@@ -160,7 +160,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
160
160
|
)
|
|
161
161
|
mock_get.assert_called_once()
|
|
162
162
|
|
|
163
|
-
@patch("pygeai.core.services.rest.
|
|
163
|
+
@patch("pygeai.core.services.rest.GEAIApiService.put")
|
|
164
164
|
def test_update_process_with_upsert(self, mock_put):
|
|
165
165
|
expected_response = {"id": self.process_id, "name": "Upserted Process"}
|
|
166
166
|
mock_response = mock_put.return_value
|
|
@@ -185,8 +185,8 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
185
185
|
self.client.update_process()
|
|
186
186
|
self.assertEqual(str(context.exception), "Either process_id or name must be provided.")
|
|
187
187
|
|
|
188
|
-
@patch("pygeai.core.services.rest.
|
|
189
|
-
@patch("pygeai.core.services.rest.
|
|
188
|
+
@patch("pygeai.core.services.rest.GEAIApiService.put")
|
|
189
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
190
190
|
def test_update_process_json_decode_error(self, mock_get, mock_put):
|
|
191
191
|
mock_response_put = mock_put.return_value
|
|
192
192
|
mock_response_put.status_code = 200
|
|
@@ -213,7 +213,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
213
213
|
mock_put.assert_called_once()
|
|
214
214
|
mock_get.assert_called_once()
|
|
215
215
|
|
|
216
|
-
@patch("pygeai.core.services.rest.
|
|
216
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
217
217
|
def test_get_process_success_with_id(self, mock_get):
|
|
218
218
|
expected_response = {"id": self.process_id, "name": "Test Process"}
|
|
219
219
|
mock_response = mock_get.return_value
|
|
@@ -240,7 +240,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
240
240
|
headers = mock_get.call_args[1]['headers']
|
|
241
241
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
242
242
|
|
|
243
|
-
@patch("pygeai.core.services.rest.
|
|
243
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
244
244
|
def test_get_process_success_with_name(self, mock_get):
|
|
245
245
|
expected_response = {"id": "process-123", "name": self.process_name}
|
|
246
246
|
mock_response = mock_get.return_value
|
|
@@ -263,7 +263,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
263
263
|
self.client.get_process()
|
|
264
264
|
self.assertEqual(str(context.exception), "Either process_id or process_name must be provided.")
|
|
265
265
|
|
|
266
|
-
@patch("pygeai.core.services.rest.
|
|
266
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
267
267
|
def test_get_process_json_decode_error(self, mock_get):
|
|
268
268
|
mock_response = mock_get.return_value
|
|
269
269
|
mock_response.status_code = 200
|
|
@@ -278,7 +278,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
278
278
|
self.assertEqual(str(context.exception), f"Unable to retrieve process {self.process_id} for project {self.project_id}: Invalid JSON response")
|
|
279
279
|
mock_get.assert_called_once()
|
|
280
280
|
|
|
281
|
-
@patch("pygeai.core.services.rest.
|
|
281
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
282
282
|
def test_list_processes_success(self, mock_get):
|
|
283
283
|
expected_response = {"processes": [{"id": "process-1", "name": "Process1"}]}
|
|
284
284
|
mock_response = mock_get.return_value
|
|
@@ -310,7 +310,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
310
310
|
headers = mock_get.call_args[1]['headers']
|
|
311
311
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
312
312
|
|
|
313
|
-
@patch("pygeai.core.services.rest.
|
|
313
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
314
314
|
def test_list_processes_json_decode_error(self, mock_get):
|
|
315
315
|
mock_response = mock_get.return_value
|
|
316
316
|
mock_response.status_code = 200
|
|
@@ -323,7 +323,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
323
323
|
self.assertEqual(str(context.exception), f"Unable to list processes for project {self.project_id}: Invalid JSON response")
|
|
324
324
|
mock_get.assert_called_once()
|
|
325
325
|
|
|
326
|
-
@patch("pygeai.core.services.rest.
|
|
326
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
327
327
|
def test_list_process_instances_success(self, mock_get):
|
|
328
328
|
expected_response = {"instances": [{"id": "instance-1"}]}
|
|
329
329
|
mock_response = mock_get.return_value
|
|
@@ -355,7 +355,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
355
355
|
self.client.list_process_instances(process_id="")
|
|
356
356
|
self.assertEqual(str(context.exception), "Process ID must be provided.")
|
|
357
357
|
|
|
358
|
-
@patch("pygeai.core.services.rest.
|
|
358
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
359
359
|
def test_list_process_instances_json_decode_error(self, mock_get):
|
|
360
360
|
mock_response = mock_get.return_value
|
|
361
361
|
mock_response.status_code = 200
|
|
@@ -370,7 +370,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
370
370
|
self.assertEqual(str(context.exception), f"Unable to list process instances for process {self.process_id} in project {self.project_id}: Invalid JSON response")
|
|
371
371
|
mock_get.assert_called_once()
|
|
372
372
|
|
|
373
|
-
@patch("pygeai.core.services.rest.
|
|
373
|
+
@patch("pygeai.core.services.rest.GEAIApiService.delete")
|
|
374
374
|
def test_delete_process_success_with_id(self, mock_delete):
|
|
375
375
|
expected_response = {}
|
|
376
376
|
mock_response = mock_delete.return_value
|
|
@@ -388,7 +388,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
388
388
|
headers = mock_delete.call_args[1]['headers']
|
|
389
389
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
390
390
|
|
|
391
|
-
@patch("pygeai.core.services.rest.
|
|
391
|
+
@patch("pygeai.core.services.rest.GEAIApiService.delete")
|
|
392
392
|
def test_delete_process_success_with_name(self, mock_delete):
|
|
393
393
|
expected_response = {}
|
|
394
394
|
mock_response = mock_delete.return_value
|
|
@@ -409,7 +409,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
409
409
|
self.client.delete_process()
|
|
410
410
|
self.assertEqual(str(context.exception), "Either process_id or process_name must be provided.")
|
|
411
411
|
|
|
412
|
-
@patch("pygeai.core.services.rest.
|
|
412
|
+
@patch("pygeai.core.services.rest.GEAIApiService.delete")
|
|
413
413
|
def test_delete_process_json_decode_error(self, mock_delete):
|
|
414
414
|
mock_response = mock_delete.return_value
|
|
415
415
|
mock_response.status_code = 200
|
|
@@ -424,7 +424,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
424
424
|
self.assertEqual(str(context.exception), f"Unable to delete process {self.process_id} from project {self.project_id}: Invalid JSON response")
|
|
425
425
|
mock_delete.assert_called_once()
|
|
426
426
|
|
|
427
|
-
@patch("pygeai.core.services.rest.
|
|
427
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
428
428
|
def test_publish_process_revision_success_with_id(self, mock_post):
|
|
429
429
|
expected_response = {"status": "published"}
|
|
430
430
|
mock_response = mock_post.return_value
|
|
@@ -445,7 +445,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
445
445
|
headers = mock_post.call_args[1]['headers']
|
|
446
446
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
447
447
|
|
|
448
|
-
@patch("pygeai.core.services.rest.
|
|
448
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
449
449
|
def test_publish_process_revision_success_with_name(self, mock_post):
|
|
450
450
|
expected_response = {"status": "published"}
|
|
451
451
|
mock_response = mock_post.return_value
|
|
@@ -478,7 +478,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
478
478
|
)
|
|
479
479
|
self.assertEqual(str(context.exception), "Revision must be provided.")
|
|
480
480
|
|
|
481
|
-
@patch("pygeai.core.services.rest.
|
|
481
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
482
482
|
def test_publish_process_revision_json_decode_error(self, mock_post):
|
|
483
483
|
mock_response = mock_post.return_value
|
|
484
484
|
mock_response.status_code = 200
|
|
@@ -494,7 +494,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
494
494
|
self.assertEqual(str(context.exception), f"Unable to publish revision {self.revision} for process {self.process_id} in project {self.project_id}: Invalid JSON response")
|
|
495
495
|
mock_post.assert_called_once()
|
|
496
496
|
|
|
497
|
-
@patch("pygeai.core.services.rest.
|
|
497
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
498
498
|
def test_create_task_success(self, mock_post):
|
|
499
499
|
expected_response = {"id": "task-123", "name": "Test Task"}
|
|
500
500
|
mock_response = mock_post.return_value
|
|
@@ -527,7 +527,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
527
527
|
headers = mock_post.call_args[1]['headers']
|
|
528
528
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
529
529
|
|
|
530
|
-
@patch("pygeai.core.services.rest.
|
|
530
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
531
531
|
def test_create_task_json_decode_error(self, mock_post):
|
|
532
532
|
mock_response = mock_post.return_value
|
|
533
533
|
mock_response.status_code = 200
|
|
@@ -542,7 +542,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
542
542
|
self.assertEqual(str(context.exception), f"Unable to create task for project {self.project_id}: Invalid JSON response")
|
|
543
543
|
mock_post.assert_called_once()
|
|
544
544
|
|
|
545
|
-
@patch("pygeai.core.services.rest.
|
|
545
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
546
546
|
def test_get_task_success_with_id(self, mock_get):
|
|
547
547
|
expected_response = {"id": self.task_id, "name": "Test Task"}
|
|
548
548
|
mock_response = mock_get.return_value
|
|
@@ -561,7 +561,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
561
561
|
headers = mock_get.call_args[1]['headers']
|
|
562
562
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
563
563
|
|
|
564
|
-
@patch("pygeai.core.services.rest.
|
|
564
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
565
565
|
def test_get_task_success_with_name(self, mock_get):
|
|
566
566
|
expected_response = {"id": "task-123", "name": self.task_name}
|
|
567
567
|
mock_response = mock_get.return_value
|
|
@@ -584,7 +584,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
584
584
|
self.client.get_task(task_id="", task_name="")
|
|
585
585
|
self.assertEqual(str(context.exception), "Either task_id or task_name must be provided.")
|
|
586
586
|
|
|
587
|
-
@patch("pygeai.core.services.rest.
|
|
587
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
588
588
|
def test_get_task_json_decode_error(self, mock_get):
|
|
589
589
|
mock_response = mock_get.return_value
|
|
590
590
|
mock_response.status_code = 200
|
|
@@ -599,7 +599,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
599
599
|
self.assertEqual(str(context.exception), f"Unable to retrieve task {self.task_id} for project {self.project_id}: Invalid JSON response")
|
|
600
600
|
mock_get.assert_called_once()
|
|
601
601
|
|
|
602
|
-
@patch("pygeai.core.services.rest.
|
|
602
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
603
603
|
def test_list_tasks_success(self, mock_get):
|
|
604
604
|
expected_response = {"tasks": [{"id": "task-1", "name": "Task1"}]}
|
|
605
605
|
mock_response = mock_get.return_value
|
|
@@ -627,7 +627,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
627
627
|
headers = mock_get.call_args[1]['headers']
|
|
628
628
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
629
629
|
|
|
630
|
-
@patch("pygeai.core.services.rest.
|
|
630
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
631
631
|
def test_list_tasks_json_decode_error(self, mock_get):
|
|
632
632
|
mock_response = mock_get.return_value
|
|
633
633
|
mock_response.status_code = 200
|
|
@@ -640,7 +640,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
640
640
|
self.assertEqual(str(context.exception), f"Unable to list tasks for project {self.project_id}: Invalid JSON response")
|
|
641
641
|
mock_get.assert_called_once()
|
|
642
642
|
|
|
643
|
-
@patch("pygeai.core.services.rest.
|
|
643
|
+
@patch("pygeai.core.services.rest.GEAIApiService.put")
|
|
644
644
|
def test_update_task_success(self, mock_put):
|
|
645
645
|
expected_response = {"id": self.task_id, "name": "Updated Task"}
|
|
646
646
|
mock_response = mock_put.return_value
|
|
@@ -673,7 +673,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
673
673
|
headers = mock_put.call_args[1]['headers']
|
|
674
674
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
675
675
|
|
|
676
|
-
@patch("pygeai.core.services.rest.
|
|
676
|
+
@patch("pygeai.core.services.rest.GEAIApiService.put")
|
|
677
677
|
def test_update_task_with_upsert(self, mock_put):
|
|
678
678
|
expected_response = {"id": self.task_id, "name": "Upserted Task"}
|
|
679
679
|
mock_response = mock_put.return_value
|
|
@@ -698,7 +698,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
698
698
|
self.client.update_task(task_id="")
|
|
699
699
|
self.assertEqual(str(context.exception), "Task ID must be provided.")
|
|
700
700
|
|
|
701
|
-
@patch("pygeai.core.services.rest.
|
|
701
|
+
@patch("pygeai.core.services.rest.GEAIApiService.put")
|
|
702
702
|
def test_update_task_json_decode_error(self, mock_put):
|
|
703
703
|
mock_response = mock_put.return_value
|
|
704
704
|
mock_response.status_code = 200
|
|
@@ -714,7 +714,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
714
714
|
self.assertEqual(str(context.exception), f"Unable to update task {self.task_id} in project {self.project_id}: Invalid JSON response")
|
|
715
715
|
mock_put.assert_called_once()
|
|
716
716
|
|
|
717
|
-
@patch("pygeai.core.services.rest.
|
|
717
|
+
@patch("pygeai.core.services.rest.GEAIApiService.delete")
|
|
718
718
|
def test_delete_task_success_with_id(self, mock_delete):
|
|
719
719
|
expected_response = {}
|
|
720
720
|
mock_response = mock_delete.return_value
|
|
@@ -732,7 +732,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
732
732
|
headers = mock_delete.call_args[1]['headers']
|
|
733
733
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
734
734
|
|
|
735
|
-
@patch("pygeai.core.services.rest.
|
|
735
|
+
@patch("pygeai.core.services.rest.GEAIApiService.delete")
|
|
736
736
|
def test_delete_task_success_with_name(self, mock_delete):
|
|
737
737
|
expected_response = {}
|
|
738
738
|
mock_response = mock_delete.return_value
|
|
@@ -754,7 +754,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
754
754
|
self.client.delete_task(task_id="", task_name="")
|
|
755
755
|
self.assertEqual(str(context.exception), "Either task_id or task_name must be provided.")
|
|
756
756
|
|
|
757
|
-
@patch("pygeai.core.services.rest.
|
|
757
|
+
@patch("pygeai.core.services.rest.GEAIApiService.delete")
|
|
758
758
|
def test_delete_task_json_decode_error(self, mock_delete):
|
|
759
759
|
mock_response = mock_delete.return_value
|
|
760
760
|
mock_response.status_code = 200
|
|
@@ -769,7 +769,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
769
769
|
self.assertEqual(str(context.exception), f"Unable to delete task {self.task_id} from project {self.project_id}: Invalid JSON response")
|
|
770
770
|
mock_delete.assert_called_once()
|
|
771
771
|
|
|
772
|
-
@patch("pygeai.core.services.rest.
|
|
772
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
773
773
|
def test_publish_task_revision_success_with_id(self, mock_post):
|
|
774
774
|
expected_response = {"status": "published"}
|
|
775
775
|
mock_response = mock_post.return_value
|
|
@@ -790,7 +790,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
790
790
|
headers = mock_post.call_args[1]['headers']
|
|
791
791
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
792
792
|
|
|
793
|
-
@patch("pygeai.core.services.rest.
|
|
793
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
794
794
|
def test_publish_task_revision_success_with_name(self, mock_post):
|
|
795
795
|
expected_response = {"status": "published"}
|
|
796
796
|
mock_response = mock_post.return_value
|
|
@@ -826,7 +826,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
826
826
|
)
|
|
827
827
|
self.assertEqual(str(context.exception), "Revision must be provided.")
|
|
828
828
|
|
|
829
|
-
@patch("pygeai.core.services.rest.
|
|
829
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
830
830
|
def test_publish_task_revision_json_decode_error(self, mock_post):
|
|
831
831
|
mock_response = mock_post.return_value
|
|
832
832
|
mock_response.status_code = 200
|
|
@@ -842,7 +842,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
842
842
|
self.assertEqual(str(context.exception), f"Unable to publish revision {self.revision} for task {self.task_id} in project {self.project_id}: Invalid JSON response")
|
|
843
843
|
mock_post.assert_called_once()
|
|
844
844
|
|
|
845
|
-
@patch("pygeai.core.services.rest.
|
|
845
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
846
846
|
def test_start_instance_success(self, mock_post):
|
|
847
847
|
expected_response = {"id": "instance-123", "status": "started"}
|
|
848
848
|
mock_response = mock_post.return_value
|
|
@@ -868,7 +868,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
868
868
|
headers = mock_post.call_args[1]['headers']
|
|
869
869
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
870
870
|
|
|
871
|
-
@patch("pygeai.core.services.rest.
|
|
871
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
872
872
|
def test_start_instance_json_decode_error(self, mock_post):
|
|
873
873
|
mock_response = mock_post.return_value
|
|
874
874
|
mock_response.status_code = 200
|
|
@@ -883,7 +883,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
883
883
|
self.assertEqual(str(context.exception), f"Unable to start instance for process {self.process_name} in project {self.project_id}: Invalid JSON response")
|
|
884
884
|
mock_post.assert_called_once()
|
|
885
885
|
|
|
886
|
-
@patch("pygeai.core.services.rest.
|
|
886
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
887
887
|
def test_abort_instance_success(self, mock_post):
|
|
888
888
|
expected_response = {"status": "aborted"}
|
|
889
889
|
mock_response = mock_post.return_value
|
|
@@ -908,7 +908,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
908
908
|
self.client.abort_instance(instance_id="")
|
|
909
909
|
self.assertEqual(str(context.exception), "Instance ID must be provided.")
|
|
910
910
|
|
|
911
|
-
@patch("pygeai.core.services.rest.
|
|
911
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
912
912
|
def test_abort_instance_json_decode_error(self, mock_post):
|
|
913
913
|
mock_response = mock_post.return_value
|
|
914
914
|
mock_response.status_code = 200
|
|
@@ -928,7 +928,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
928
928
|
self.client.get_instance(instance_id="")
|
|
929
929
|
self.assertEqual(str(context.exception), "Instance ID must be provided.")
|
|
930
930
|
|
|
931
|
-
@patch("pygeai.core.services.rest.
|
|
931
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
932
932
|
def test_get_instance_json_decode_error(self, mock_get):
|
|
933
933
|
mock_response = mock_get.return_value
|
|
934
934
|
mock_response.status_code = 200
|
|
@@ -944,7 +944,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
944
944
|
f"Unable to retrieve instance {self.instance_id} for project {self.project_id}: Invalid JSON response")
|
|
945
945
|
mock_get.assert_called_once()
|
|
946
946
|
|
|
947
|
-
@patch("pygeai.core.services.rest.
|
|
947
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
948
948
|
def test_get_instance_history_success(self, mock_get):
|
|
949
949
|
expected_response = {"history": [{"event": "start", "time": "2023-01-01"}]}
|
|
950
950
|
mock_response = mock_get.return_value
|
|
@@ -968,7 +968,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
968
968
|
self.client.get_instance_history(instance_id="")
|
|
969
969
|
self.assertEqual(str(context.exception), "Instance ID must be provided.")
|
|
970
970
|
|
|
971
|
-
@patch("pygeai.core.services.rest.
|
|
971
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
972
972
|
def test_get_instance_history_json_decode_error(self, mock_get):
|
|
973
973
|
mock_response = mock_get.return_value
|
|
974
974
|
mock_response.status_code = 200
|
|
@@ -984,7 +984,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
984
984
|
f"Unable to retrieve history for instance {self.instance_id} in project {self.project_id}: Invalid JSON response")
|
|
985
985
|
mock_get.assert_called_once()
|
|
986
986
|
|
|
987
|
-
@patch("pygeai.core.services.rest.
|
|
987
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
988
988
|
def test_get_thread_information_success(self, mock_get):
|
|
989
989
|
expected_response = {"thread": {"id": self.thread_id, "status": "active"}}
|
|
990
990
|
mock_response = mock_get.return_value
|
|
@@ -1008,7 +1008,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1008
1008
|
self.client.get_thread_information(thread_id="")
|
|
1009
1009
|
self.assertEqual(str(context.exception), "Thread ID must be provided.")
|
|
1010
1010
|
|
|
1011
|
-
@patch("pygeai.core.services.rest.
|
|
1011
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
1012
1012
|
def test_get_thread_information_json_decode_error(self, mock_get):
|
|
1013
1013
|
mock_response = mock_get.return_value
|
|
1014
1014
|
mock_response.status_code = 200
|
|
@@ -1024,7 +1024,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1024
1024
|
f"Unable to retrieve thread information for thread {self.thread_id} in project {self.project_id}: Invalid JSON response")
|
|
1025
1025
|
mock_get.assert_called_once()
|
|
1026
1026
|
|
|
1027
|
-
@patch("pygeai.core.services.rest.
|
|
1027
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
1028
1028
|
def test_send_user_signal_success(self, mock_post):
|
|
1029
1029
|
expected_response = {"status": "signal sent"}
|
|
1030
1030
|
mock_response = mock_post.return_value
|
|
@@ -1061,7 +1061,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1061
1061
|
)
|
|
1062
1062
|
self.assertEqual(str(context.exception), "Signal name must be provided.")
|
|
1063
1063
|
|
|
1064
|
-
@patch("pygeai.core.services.rest.
|
|
1064
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
1065
1065
|
def test_send_user_signal_json_decode_error(self, mock_post):
|
|
1066
1066
|
mock_response = mock_post.return_value
|
|
1067
1067
|
mock_response.status_code = 200
|
|
@@ -1078,7 +1078,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1078
1078
|
f"Unable to send user signal {self.signal_name} to instance {self.instance_id} in project {self.project_id}: Invalid JSON response")
|
|
1079
1079
|
mock_post.assert_called_once()
|
|
1080
1080
|
|
|
1081
|
-
@patch("pygeai.core.services.rest.
|
|
1081
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
1082
1082
|
def test_create_kb_success(self, mock_post):
|
|
1083
1083
|
expected_response = {"id": "kb-123", "name": "Test KB"}
|
|
1084
1084
|
mock_response = mock_post.return_value
|
|
@@ -1104,7 +1104,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1104
1104
|
headers = mock_post.call_args[1]['headers']
|
|
1105
1105
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
1106
1106
|
|
|
1107
|
-
@patch("pygeai.core.services.rest.
|
|
1107
|
+
@patch("pygeai.core.services.rest.GEAIApiService.post")
|
|
1108
1108
|
def test_create_kb_json_decode_error(self, mock_post):
|
|
1109
1109
|
mock_response = mock_post.return_value
|
|
1110
1110
|
mock_response.status_code = 200
|
|
@@ -1120,7 +1120,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1120
1120
|
f"Unable to create knowledge base for project {self.project_id}: Invalid JSON response")
|
|
1121
1121
|
mock_post.assert_called_once()
|
|
1122
1122
|
|
|
1123
|
-
@patch("pygeai.core.services.rest.
|
|
1123
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
1124
1124
|
def test_get_kb_success_with_id(self, mock_get):
|
|
1125
1125
|
expected_response = {"id": self.kb_id, "name": "Test KB"}
|
|
1126
1126
|
mock_response = mock_get.return_value
|
|
@@ -1139,7 +1139,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1139
1139
|
headers = mock_get.call_args[1]['headers']
|
|
1140
1140
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
1141
1141
|
|
|
1142
|
-
@patch("pygeai.core.services.rest.
|
|
1142
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
1143
1143
|
def test_get_kb_success_with_name(self, mock_get):
|
|
1144
1144
|
expected_response = {"id": "kb-123", "name": self.kb_name}
|
|
1145
1145
|
mock_response = mock_get.return_value
|
|
@@ -1161,7 +1161,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1161
1161
|
self.client.get_kb()
|
|
1162
1162
|
self.assertEqual(str(context.exception), "Either kb_id or kb_name must be provided.")
|
|
1163
1163
|
|
|
1164
|
-
@patch("pygeai.core.services.rest.
|
|
1164
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
1165
1165
|
def test_get_kb_json_decode_error(self, mock_get):
|
|
1166
1166
|
mock_response = mock_get.return_value
|
|
1167
1167
|
mock_response.status_code = 200
|
|
@@ -1177,7 +1177,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1177
1177
|
f"Unable to retrieve knowledge base {self.kb_id} for project {self.project_id}: Invalid JSON response")
|
|
1178
1178
|
mock_get.assert_called_once()
|
|
1179
1179
|
|
|
1180
|
-
@patch("pygeai.core.services.rest.
|
|
1180
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
1181
1181
|
def test_list_kbs_success(self, mock_get):
|
|
1182
1182
|
expected_response = {"kbs": [{"id": "kb-1", "name": "KB1"}]}
|
|
1183
1183
|
mock_response = mock_get.return_value
|
|
@@ -1203,7 +1203,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1203
1203
|
headers = mock_get.call_args[1]['headers']
|
|
1204
1204
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
1205
1205
|
|
|
1206
|
-
@patch("pygeai.core.services.rest.
|
|
1206
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
1207
1207
|
def test_list_kbs_json_decode_error(self, mock_get):
|
|
1208
1208
|
mock_response = mock_get.return_value
|
|
1209
1209
|
mock_response.status_code = 200
|
|
@@ -1217,7 +1217,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1217
1217
|
f"Unable to list knowledge bases for project {self.project_id}: Invalid JSON response")
|
|
1218
1218
|
mock_get.assert_called_once()
|
|
1219
1219
|
|
|
1220
|
-
@patch("pygeai.core.services.rest.
|
|
1220
|
+
@patch("pygeai.core.services.rest.GEAIApiService.delete")
|
|
1221
1221
|
def test_delete_kb_success_with_id(self, mock_delete):
|
|
1222
1222
|
expected_response = {}
|
|
1223
1223
|
mock_response = mock_delete.return_value
|
|
@@ -1235,7 +1235,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1235
1235
|
headers = mock_delete.call_args[1]['headers']
|
|
1236
1236
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
1237
1237
|
|
|
1238
|
-
@patch("pygeai.core.services.rest.
|
|
1238
|
+
@patch("pygeai.core.services.rest.GEAIApiService.delete")
|
|
1239
1239
|
def test_delete_kb_success_with_name(self, mock_delete):
|
|
1240
1240
|
expected_response = {}
|
|
1241
1241
|
mock_response = mock_delete.return_value
|
|
@@ -1256,7 +1256,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1256
1256
|
self.client.delete_kb()
|
|
1257
1257
|
self.assertEqual(str(context.exception), "Either kb_id or kb_name must be provided.")
|
|
1258
1258
|
|
|
1259
|
-
@patch("pygeai.core.services.rest.
|
|
1259
|
+
@patch("pygeai.core.services.rest.GEAIApiService.delete")
|
|
1260
1260
|
def test_delete_kb_json_decode_error(self, mock_delete):
|
|
1261
1261
|
mock_response = mock_delete.return_value
|
|
1262
1262
|
mock_response.status_code = 200
|
|
@@ -1272,7 +1272,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1272
1272
|
f"Unable to delete knowledge base {self.kb_id} from project {self.project_id}: Invalid JSON response")
|
|
1273
1273
|
mock_delete.assert_called_once()
|
|
1274
1274
|
|
|
1275
|
-
@patch("pygeai.core.services.rest.
|
|
1275
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
1276
1276
|
def test_list_jobs_success(self, mock_get):
|
|
1277
1277
|
expected_response = {"jobs": [{"id": "job-1", "name": "Job1"}]}
|
|
1278
1278
|
mock_response = mock_get.return_value
|
|
@@ -1302,7 +1302,7 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1302
1302
|
headers = mock_get.call_args[1]['headers']
|
|
1303
1303
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
1304
1304
|
|
|
1305
|
-
@patch("pygeai.core.services.rest.
|
|
1305
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
1306
1306
|
def test_list_jobs_json_decode_error(self, mock_get):
|
|
1307
1307
|
mock_response = mock_get.return_value
|
|
1308
1308
|
mock_response.status_code = 200
|
|
@@ -1316,8 +1316,8 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1316
1316
|
f"Unable to list jobs for project {self.project_id}: Invalid JSON response")
|
|
1317
1317
|
mock_get.assert_called_once()
|
|
1318
1318
|
|
|
1319
|
-
@patch("pygeai.core.services.rest.
|
|
1320
|
-
@patch("pygeai.core.services.rest.
|
|
1319
|
+
@patch("pygeai.core.services.rest.GEAIApiService.put")
|
|
1320
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
1321
1321
|
def test_update_process_success_with_id(self, mock_get, mock_put):
|
|
1322
1322
|
expected_response = {"id": self.process_id, "name": "Updated Process"}
|
|
1323
1323
|
mock_response_put = mock_put.return_value
|
|
@@ -1354,8 +1354,8 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1354
1354
|
self.assertEqual(headers['ProjectId'], self.project_id)
|
|
1355
1355
|
self.assertEqual(mock_get.call_count, 2)
|
|
1356
1356
|
|
|
1357
|
-
@patch("pygeai.core.services.rest.
|
|
1358
|
-
@patch("pygeai.core.services.rest.
|
|
1357
|
+
@patch("pygeai.core.services.rest.GEAIApiService.put")
|
|
1358
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
1359
1359
|
def test_update_process_success_with_name(self, mock_get, mock_put):
|
|
1360
1360
|
expected_response = {"id": "process-123", "name": "Updated Process"}
|
|
1361
1361
|
mock_response_put = mock_put.return_value
|
|
@@ -1387,8 +1387,8 @@ class TestAgenticProcessClient(unittest.TestCase):
|
|
|
1387
1387
|
)
|
|
1388
1388
|
self.assertEqual(mock_get.call_count, 2)
|
|
1389
1389
|
|
|
1390
|
-
@patch("pygeai.core.services.rest.
|
|
1391
|
-
@patch("pygeai.core.services.rest.
|
|
1390
|
+
@patch("pygeai.core.services.rest.GEAIApiService.put")
|
|
1391
|
+
@patch("pygeai.core.services.rest.GEAIApiService.get")
|
|
1392
1392
|
def test_update_process_json_decode_error(self, mock_get, mock_put):
|
|
1393
1393
|
mock_response_put = mock_put.return_value
|
|
1394
1394
|
mock_response_put.status_code = 200
|