Manual Test Procedure for PluginController - wwestlake/Labyrinth GitHub Wiki

Manual Test Procedure for PluginController

Below are the API endpoints and corresponding sample requests for testing the PluginController. You can use tools like Postman, cURL, or your favorite HTTP client.

Endpoints

1. Retrieve All Plugins

GET /api/plugin/plugins

cURL Example:

curl -X GET http://localhost:5000/api/plugin/plugins

2. Retrieve Plugin by ID

GET /api/plugin/plugins/{id}

cURL Example:

curl -X GET http://localhost:5000/api/plugin/plugins/{plugin_id}

3. Create a Plugin

POST /api/plugin/plugins

Sample JSON Body:

{
  "name": "Test Plugin",
  "description": "This is a test plugin",
  "version": "1.0.0",
  "userId": "admin"
}

cURL Example:

curl -X POST http://localhost:5000/api/plugin/plugins -H "Content-Type: application/json" -d '{"name":"Test Plugin","description":"This is a test plugin","version":"1.0.0","userId":"admin"}'

4. Update a Plugin

PUT /api/plugin/plugins/{id}

Sample JSON Body:

{
  "name": "Updated Plugin",
  "description": "This is an updated test plugin",
  "version": "1.0.1",
  "userId": "admin"
}

cURL Example:

curl -X PUT http://localhost:5000/api/plugin/plugins/{plugin_id} -H "Content-Type: application/json" -d '{"name":"Updated Plugin","description":"This is an updated test plugin","version":"1.0.1","userId":"admin"}'

5. Delete a Plugin

DELETE /api/plugin/plugins/{id}

cURL Example:

curl -X DELETE http://localhost:5000/api/plugin/plugins/{plugin_id}

6. Retrieve All Code Stores

GET /api/plugin/codeStores

cURL Example:

curl -X GET http://localhost:5000/api/plugin/codeStores

7. Retrieve Code Store by ID

GET /api/plugin/codeStores/{id}

cURL Example:

curl -X GET http://localhost:5000/api/plugin/codeStores/{code_store_id}

8. Create a Code Store

POST /api/plugin/codeStores

Sample JSON Body:

{
  "name": "Test Code Store",
  "description": "This is a test code store",
  "userId": "admin",
  "codeFiles": [
    { "name": "Main.fs", "code": "let x = 10" }
  ]
}

cURL Example:

curl -X POST http://localhost:5000/api/plugin/codeStores -H "Content-Type: application/json" -d '{"name":"Test Code Store","description":"This is a test code store","userId":"admin","codeFiles":[{"name":"Main.fs","code":"let x = 10"}]}'

9. Update a Code Store

PUT /api/plugin/codeStores/{id}

Sample JSON Body:

{
  "name": "Updated Code Store",
  "description": "This is an updated test code store",
  "userId": "admin",
  "codeFiles": [
    { "name": "Main.fs", "code": "let x = 20" }
  ]
}

cURL Example:

curl -X PUT http://localhost:5000/api/plugin/codeStores/{code_store_id} -H "Content-Type: application/json" -d '{"name":"Updated Code Store","description":"This is an updated test code store","userId":"admin","codeFiles":[{"name":"Main.fs","code":"let x = 20"}]}'

10. Delete a Code Store

DELETE /api/plugin/codeStores/{id}

cURL Example:

curl -X DELETE http://localhost:5000/api/plugin/codeStores/{code_store_id}

11. Compile a Code Store

POST /api/plugin/codeStores/{id}/compile

cURL Example:

curl -X POST http://localhost:5000/api/plugin/codeStores/{code_store_id}/compile