aboutsummaryrefslogtreecommitdiff
path: root/autogpts/forge/forge/sdk/agent_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'autogpts/forge/forge/sdk/agent_test.py')
-rw-r--r--autogpts/forge/forge/sdk/agent_test.py107
1 files changed, 107 insertions, 0 deletions
diff --git a/autogpts/forge/forge/sdk/agent_test.py b/autogpts/forge/forge/sdk/agent_test.py
new file mode 100644
index 000000000..d2d23abbe
--- /dev/null
+++ b/autogpts/forge/forge/sdk/agent_test.py
@@ -0,0 +1,107 @@
+import pytest
+
+from .agent import Agent
+from .db import AgentDB
+from .model import StepRequestBody, Task, TaskListResponse, TaskRequestBody
+from .workspace import LocalWorkspace
+
+
+@pytest.fixture
+def agent():
+ db = AgentDB("sqlite:///test.db")
+ workspace = LocalWorkspace("./test_workspace")
+ return Agent(db, workspace)
+
+
+@pytest.mark.skip
+@pytest.mark.asyncio
+async def test_create_task(agent):
+ task_request = TaskRequestBody(
+ input="test_input", additional_input={"input": "additional_test_input"}
+ )
+ task: Task = await agent.create_task(task_request)
+ assert task.input == "test_input"
+
+
+@pytest.mark.skip
+@pytest.mark.asyncio
+async def test_list_tasks(agent):
+ task_request = TaskRequestBody(
+ input="test_input", additional_input={"input": "additional_test_input"}
+ )
+ task = await agent.create_task(task_request)
+ tasks = await agent.list_tasks()
+ assert isinstance(tasks, TaskListResponse)
+
+
+@pytest.mark.skip
+@pytest.mark.asyncio
+async def test_get_task(agent):
+ task_request = TaskRequestBody(
+ input="test_input", additional_input={"input": "additional_test_input"}
+ )
+ task = await agent.create_task(task_request)
+ retrieved_task = await agent.get_task(task.task_id)
+ assert retrieved_task.task_id == task.task_id
+
+
+@pytest.mark.skip
+@pytest.mark.asyncio
+async def test_create_and_execute_step(agent):
+ task_request = TaskRequestBody(
+ input="test_input", additional_input={"input": "additional_test_input"}
+ )
+ task = await agent.create_task(task_request)
+ step_request = StepRequestBody(
+ input="step_input", additional_input={"input": "additional_test_input"}
+ )
+ step = await agent.create_and_execute_step(task.task_id, step_request)
+ assert step.input == "step_input"
+ assert step.additional_input == {"input": "additional_test_input"}
+
+
+@pytest.mark.skip
+@pytest.mark.asyncio
+async def test_get_step(agent):
+ task_request = TaskRequestBody(
+ input="test_input", additional_input={"input": "additional_test_input"}
+ )
+ task = await agent.create_task(task_request)
+ step_request = StepRequestBody(
+ input="step_input", additional_input={"input": "additional_test_input"}
+ )
+ step = await agent.create_and_execute_step(task.task_id, step_request)
+ retrieved_step = await agent.get_step(task.task_id, step.step_id)
+ assert retrieved_step.step_id == step.step_id
+
+
+@pytest.mark.skip
+@pytest.mark.asyncio
+async def test_list_artifacts(agent):
+ artifacts = await agent.list_artifacts()
+ assert isinstance(artifacts, list)
+
+
+@pytest.mark.skip
+@pytest.mark.asyncio
+async def test_create_artifact(agent):
+ task_request = TaskRequestBody(
+ input="test_input", additional_input={"input": "additional_test_input"}
+ )
+ task = await agent.create_task(task_request)
+ artifact_request = ArtifactRequestBody(file=None, uri="test_uri")
+ artifact = await agent.create_artifact(task.task_id, artifact_request)
+ assert artifact.uri == "test_uri"
+
+
+@pytest.mark.skip
+@pytest.mark.asyncio
+async def test_get_artifact(agent):
+ task_request = TaskRequestBody(
+ input="test_input", additional_input={"input": "additional_test_input"}
+ )
+ task = await agent.create_task(task_request)
+ artifact_request = ArtifactRequestBody(file=None, uri="test_uri")
+ artifact = await agent.create_artifact(task.task_id, artifact_request)
+ retrieved_artifact = await agent.get_artifact(task.task_id, artifact.artifact_id)
+ assert retrieved_artifact.artifact_id == artifact.artifact_id