Documentation
¶
Index ¶
- type APISpecValidator
- func (v *APISpecValidator) BuildAndSetCookies(req *http.Request)
- func (v *APISpecValidator) GenerateReport() string
- func (v *APISpecValidator) GetResults() []ValidationResult
- func (v *APISpecValidator) LoadSpecs(specsDir string) error
- func (v *APISpecValidator) SetAdditionalCookie(name, value string)
- func (v *APISpecValidator) SetCookiesFromString(cookieString string)
- func (v *APISpecValidator) SetToken(token string)
- func (v *APISpecValidator) ValidateAllSpecs() []ValidationResult
- type ComparisonIssue
- type ComparisonResult
- type ExampleData
- type FieldInfo
- type HandlerInfo
- type ParameterInfo
- type RequestBodyInfo
- type ResponseInfo
- type SpecComparator
- type SpecEnhancer
- type ValidationIssue
- type ValidationResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APISpecValidator ¶
type APISpecValidator struct {
// contains filtered or unexported fields
}
APISpecValidator handles validation of API specs against actual server implementation
func NewAPISpecValidator ¶
func NewAPISpecValidator(serverURL string, logger *zap.SugaredLogger) *APISpecValidator
NewAPISpecValidator creates a new validator instance
func (*APISpecValidator) BuildAndSetCookies ¶
func (v *APISpecValidator) BuildAndSetCookies(req *http.Request)
BuildAndSetCookies builds and sets the Cookie header similar to the curl request
func (*APISpecValidator) GenerateReport ¶
func (v *APISpecValidator) GenerateReport() string
GenerateReport generates a comprehensive validation report
func (*APISpecValidator) GetResults ¶
func (v *APISpecValidator) GetResults() []ValidationResult
GetResults returns all validation results
func (*APISpecValidator) LoadSpecs ¶
func (v *APISpecValidator) LoadSpecs(specsDir string) error
LoadSpecs loads all OpenAPI specs from the specs directory
func (*APISpecValidator) SetAdditionalCookie ¶
func (v *APISpecValidator) SetAdditionalCookie(name, value string)
SetAdditionalCookie sets an additional cookie for authentication
func (*APISpecValidator) SetCookiesFromString ¶
func (v *APISpecValidator) SetCookiesFromString(cookieString string)
SetCookiesFromString parses a cookie string (like from curl -b flag) and sets the cookies Example: "_ga=GA1.1.654831891.1739442610; _ga_5WWMF8TQVE=GS1.1.1742452726.1.1.1742452747.0.0.0"
func (*APISpecValidator) SetToken ¶
func (v *APISpecValidator) SetToken(token string)
SetToken sets the authentication token for requests
func (*APISpecValidator) ValidateAllSpecs ¶
func (v *APISpecValidator) ValidateAllSpecs() []ValidationResult
ValidateAllSpecs validates all loaded specs against the server
type ComparisonIssue ¶
ComparisonIssue represents a specific comparison issue
type ComparisonResult ¶
type ComparisonResult struct { SpecFile string Issues []ComparisonIssue }
ComparisonResult represents the result of comparing a spec with handlers
type ExampleData ¶
type ExampleData struct { Request interface{} `json:"request,omitempty"` Response interface{} `json:"response,omitempty"` Status int `json:"status"` }
ExampleData represents example data for an endpoint
type HandlerInfo ¶
type HandlerInfo struct { Package string FileName string HandlerName string Method string Path string Parameters []ParameterInfo RequestBody *RequestBodyInfo Response *ResponseInfo }
HandlerInfo represents information about a REST handler
type ParameterInfo ¶
type ParameterInfo struct { Name string Type string Location string // "query", "path", "header" Required bool }
ParameterInfo represents a handler parameter
type RequestBodyInfo ¶
RequestBodyInfo represents request body information
type ResponseInfo ¶
ResponseInfo represents response information
type SpecComparator ¶
type SpecComparator struct {
// contains filtered or unexported fields
}
SpecComparator compares API specs with REST handler implementations
func NewSpecComparator ¶
func NewSpecComparator(logger *zap.SugaredLogger) *SpecComparator
NewSpecComparator creates a new spec comparator
func (*SpecComparator) CompareSpecsWithHandlers ¶
func (sc *SpecComparator) CompareSpecsWithHandlers(specsDir, handlersDir string) ([]ComparisonResult, error)
CompareSpecsWithHandlers compares API specs with REST handler implementations
type SpecEnhancer ¶
type SpecEnhancer struct {
// contains filtered or unexported fields
}
SpecEnhancer enhances OpenAPI specs with realistic examples
func NewSpecEnhancer ¶
func NewSpecEnhancer(serverURL string, logger *zap.SugaredLogger) *SpecEnhancer
NewSpecEnhancer creates a new spec enhancer
func (*SpecEnhancer) EnhanceSpecs ¶
func (se *SpecEnhancer) EnhanceSpecs(specsDir, outputDir string) error
EnhanceSpecs enhances all specs in the given directory with examples
func (*SpecEnhancer) SetAuthToken ¶
func (se *SpecEnhancer) SetAuthToken(token string)
SetAuthToken sets the authentication token for requests
type ValidationIssue ¶
type ValidationIssue struct { Type string // PARAMETER_MISMATCH, RESPONSE_MISMATCH, AUTH_ERROR, SCHEMA_MISMATCH Field string Expected interface{} Actual interface{} Message string Severity string // ERROR, WARNING, INFO }
ValidationIssue represents a specific validation problem
type ValidationResult ¶
type ValidationResult struct { Endpoint string Method string Status string // PASS, FAIL, SKIP Issues []ValidationIssue Request interface{} Response interface{} StatusCode int Duration time.Duration SpecFile string // Added for reporting }
ValidationResult represents the result of validating a single endpoint