From 22fc6a4e27894a34fbfaf0b96e236af703baa4b5 Mon Sep 17 00:00:00 2001 From: arkohut <39525455+arkohut@users.noreply.github.com> Date: Fri, 7 Jun 2024 19:01:19 +0800 Subject: [PATCH] test(plugin): add create plugin test --- memos/test_server.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/memos/test_server.py b/memos/test_server.py index 7e35d2f..46e2816 100644 --- a/memos/test_server.py +++ b/memos/test_server.py @@ -10,6 +10,7 @@ from pathlib import Path from memos.server import app, get_db from memos.schemas import ( Library, + NewPluginParam, NewLibraryParam, NewEntityParam, UpdateEntityParam, @@ -399,3 +400,27 @@ def test_add_folder_to_library(client): invalid_folder_response = client.post(f"/libraries/9999/folders", json=new_folder.model_dump(mode="json")) assert invalid_folder_response.status_code == 404 assert invalid_folder_response.json() == {"detail": "Library not found"} + + +def test_new_plugin(client): + new_plugin = NewPluginParam(name="Test Plugin", description="A test plugin", webhook_url="http://example.com/webhook") + + # Make a POST request to the /plugins endpoint + response = client.post("/plugins", json=new_plugin.model_dump(mode="json")) + + # Check that the response is successful + assert response.status_code == 200 + + # Check the response data + plugin_data = response.json() + assert plugin_data["name"] == "Test Plugin" + assert plugin_data["description"] == "A test plugin" + assert plugin_data["webhook_url"] == "http://example.com/webhook" + + # Test for duplicate plugin name + duplicate_response = client.post("/plugins", json=new_plugin.model_dump(mode="json")) + # Check that the response indicates a failure due to duplicate name + assert duplicate_response.status_code == 400 + assert duplicate_response.json() == {"detail": "Plugin with this name already exists"} + +