contracts

package
v0.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 4, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ValidateSchema

func ValidateSchema(actual interface{}, expected interface{}) error

ValidateSchema validates that a response matches expected schema.

Types

type ArraySchema

type ArraySchema struct {
	Required    bool
	MinItems    int
	MaxItems    int
	ItemsSchema Schema
}

ArraySchema validates array fields.

func (ArraySchema) Validate

func (s ArraySchema) Validate(value interface{}) error

type BooleanSchema

type BooleanSchema struct {
	Required bool
}

BooleanSchema validates boolean fields.

func (BooleanSchema) Validate

func (s BooleanSchema) Validate(value interface{}) error

type Contract

type Contract struct {
	Name        string
	Description string
	Method      string
	Path        string
	Headers     map[string]string
	Body        interface{}
	Expected    Response
}

Contract defines an API contract to be tested.

type ContractTest

type ContractTest struct {
	// contains filtered or unexported fields
}

ContractTest runs a contract test against a handler.

func NewContractTest

func NewContractTest(t *testing.T, router *gin.Engine) *ContractTest

NewContractTest creates a new contract test runner.

func (*ContractTest) AddContract

func (ct *ContractTest) AddContract(contract Contract)

AddContract adds a contract to test.

func (*ContractTest) Run

func (ct *ContractTest) Run()

Run executes all contract tests.

type MockHandlers

type MockHandlers struct{}

MockHandlers provides mock implementations for contract testing.

func (*MockHandlers) HandleAddUserToGroup

func (m *MockHandlers) HandleAddUserToGroup(c *gin.Context)

func (*MockHandlers) HandleAssignTicket

func (m *MockHandlers) HandleAssignTicket(c *gin.Context)

func (*MockHandlers) HandleCloseTicket

func (m *MockHandlers) HandleCloseTicket(c *gin.Context)

Ticket action handlers.

func (*MockHandlers) HandleCreateTicket

func (m *MockHandlers) HandleCreateTicket(c *gin.Context)

func (*MockHandlers) HandleCreateUser

func (m *MockHandlers) HandleCreateUser(c *gin.Context)

func (*MockHandlers) HandleDeleteTicket

func (m *MockHandlers) HandleDeleteTicket(c *gin.Context)

func (*MockHandlers) HandleDeleteUser

func (m *MockHandlers) HandleDeleteUser(c *gin.Context)

func (*MockHandlers) HandleGetTicket

func (m *MockHandlers) HandleGetTicket(c *gin.Context)

func (*MockHandlers) HandleGetUser

func (m *MockHandlers) HandleGetUser(c *gin.Context)

func (*MockHandlers) HandleGetUserGroups

func (m *MockHandlers) HandleGetUserGroups(c *gin.Context)

func (*MockHandlers) HandleListTickets

func (m *MockHandlers) HandleListTickets(c *gin.Context)

Ticket handlers.

func (*MockHandlers) HandleListUsers

func (m *MockHandlers) HandleListUsers(c *gin.Context)

User handlers.

func (*MockHandlers) HandleLogin

func (m *MockHandlers) HandleLogin(c *gin.Context)

Auth handlers.

func (*MockHandlers) HandleLogout

func (m *MockHandlers) HandleLogout(c *gin.Context)

func (*MockHandlers) HandleRefresh

func (m *MockHandlers) HandleRefresh(c *gin.Context)

func (*MockHandlers) HandleRemoveUserFromGroup

func (m *MockHandlers) HandleRemoveUserFromGroup(c *gin.Context)

func (*MockHandlers) HandleReopenTicket

func (m *MockHandlers) HandleReopenTicket(c *gin.Context)

func (*MockHandlers) HandleUpdateTicket

func (m *MockHandlers) HandleUpdateTicket(c *gin.Context)

func (*MockHandlers) HandleUpdateUser

func (m *MockHandlers) HandleUpdateUser(c *gin.Context)

type NumberSchema

type NumberSchema struct {
	Required bool
	Min      *float64
	Max      *float64
}

NumberSchema validates numeric fields.

func (NumberSchema) Validate

func (s NumberSchema) Validate(value interface{}) error

type ObjectSchema

type ObjectSchema struct {
	Required   bool
	Properties map[string]Schema
}

ObjectSchema validates object fields.

func (ObjectSchema) Validate

func (s ObjectSchema) Validate(value interface{}) error

type Response

type Response struct {
	Status      int
	Headers     map[string]string
	BodySchema  interface{} // Expected response structure
	Validations []Validation
}

Response defines expected response characteristics.

type Schema

type Schema interface {
	Validate(interface{}) error
}

Schema interface for custom schema validation.

type StringSchema

type StringSchema struct {
	Required  bool
	MinLength int
	MaxLength int
	Pattern   string
}

StringSchema validates string fields.

func (StringSchema) Validate

func (s StringSchema) Validate(value interface{}) error

type Validation

type Validation func(body []byte) error

Validation is a custom validation function.

func HasFields

func HasFields(fields ...string) Validation

Helper function to check if response contains expected fields.

func IsErrorResponse

func IsErrorResponse() Validation

Helper function to validate error response format.

func IsSuccessResponse

func IsSuccessResponse() Validation

Helper function to validate success response format.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL