Files
cleveragents-core/features/server_endpoints.feature
T

53 lines
2.2 KiB
Gherkin

Feature: Server Endpoint Extraction
As a developer migrating Plandex to CleverAgents
I want to extract server API endpoints from the Go codebase
So that I can ensure API parity in the Python implementation
Background:
Given the Plandex Go codebase is available
And the server endpoint extractor is initialized
Scenario: Extract server endpoints from Go source
When I run the server endpoint extraction
Then the extraction should succeed
And at least 80 endpoints should be extracted
And the inventory should include endpoint metadata
And the server inventory can be saved
Scenario: Validate extracted endpoint structure
Given the server endpoints have been extracted
When I check the endpoint structure
Then each endpoint should have a path
And each endpoint should have a method
And each endpoint should have a handler
And streaming endpoints should be identified
Scenario: Export endpoints in multiple formats
When I save the server endpoint inventory
Then a YAML file should be created at "docs/reference/server_endpoints.yaml"
And a JSON file should be created at "docs/reference/server_endpoints.json"
And an OpenAPI spec should be created at "docs/reference/server_api.yaml"
And all files should contain consistent data
Scenario: Categorize endpoints by functionality
Given the server endpoints have been extracted
When I check endpoint categorization
Then endpoints should be grouped by category
And categories should include Authentication
And categories should include Plans
And categories should include Projects
And categories should include Models
Scenario: Extract path parameters
Given the server endpoints have been extracted
When I check for path parameters
Then endpoints with path parameters should be identified
And path parameter names should be extracted
And parameters like planId and projectId should be found
Scenario: Identify authentication requirements
Given the server endpoints have been extracted
When I check authentication requirements
Then public endpoints should be identified
And protected endpoints should be identified
And health and version endpoints should be public