dsl

package
v3.16.0 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2026 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InferContentType

func InferContentType(filePath string) string

InferContentType returns the MIME type for a payload file based on its extension.

Types

type JSONParser

type JSONParser struct{}

JSONParser implements PayloadParser for JSON files

func (*JSONParser) CanParse

func (p *JSONParser) CanParse(ext string) bool

func (*JSONParser) Parse

func (p *JSONParser) Parse(data []byte) (interface{}, error)

type LexerError

type LexerError struct {
	Message string
	Line    int
}

func (*LexerError) Error

func (e *LexerError) Error() string

type Parser

type Parser struct {
	Resolver *interpolate.Resolver
	// contains filtered or unexported fields
}

func NewParser

func NewParser(tokens []Token) *Parser

func NewParserWithResolver

func NewParserWithResolver(tokens []Token, resolver *interpolate.Resolver) *Parser

NewParserWithResolver creates a parser with a resolver for variable substitution

func (*Parser) Parse

func (p *Parser) Parse(filename string) (*types.TestSpec, error)

type PayloadLoader

type PayloadLoader struct {
	BaseDir  string
	Resolver *interpolate.Resolver
	Parsers  []PayloadParser
}

PayloadLoader loads and parses payload files

func NewPayloadLoader

func NewPayloadLoader(baseDir string) *PayloadLoader

func NewPayloadLoaderWithResolver

func NewPayloadLoaderWithResolver(baseDir string, resolver *interpolate.Resolver) *PayloadLoader

NewPayloadLoaderWithResolver creates a PayloadLoader with a specific resolver for variable substitution

func (*PayloadLoader) Load

func (l *PayloadLoader) Load(filePath string) (interface{}, error)

Load loads and parses a payload file

func (*PayloadLoader) LoadRaw

func (l *PayloadLoader) LoadRaw(filePath string) ([]byte, string, error)

LoadRaw reads a payload file and returns its raw bytes (with variable interpolation applied) along with the inferred MIME content type. No parsing or re-marshaling is performed.

func (*PayloadLoader) SetParsers

func (l *PayloadLoader) SetParsers(parsers []PayloadParser)

SetParsers allows customizing the list of parsers

type PayloadParser

type PayloadParser interface {
	CanParse(extension string) bool
	Parse(data []byte) (interface{}, error)
}

PayloadParser defines the interface for parsing different payload formats

type RawParser

type RawParser struct{}

RawParser implements PayloadParser for raw/unknown file types

func (*RawParser) CanParse

func (p *RawParser) CanParse(ext string) bool

func (*RawParser) Parse

func (p *RawParser) Parse(data []byte) (interface{}, error)

type Token

type Token struct {
	Type    TokenType
	Literal string
	Line    int
}

func LexFile

func LexFile(filePath string) ([]Token, error)

type TokenType

type TokenType string
const (
	TokenTest             TokenType = "TEST"
	TokenReceive          TokenType = "RECEIVE"
	TokenExpect           TokenType = "EXPECT"
	TokenExpectNot        TokenType = "EXPECT_NOT"
	TokenRespond          TokenType = "RESPOND"
	TokenWith             TokenType = "WITH"
	TokenReturns          TokenType = "RETURNS"
	TokenVerify           TokenType = "VERIFY"
	TokenNoise            TokenType = "NOISE"
	TokenHeaders          TokenType = "HEADERS"
	TokenResponseHeaders  TokenType = "RESPONSE_HEADERS"
	TokenUsingSql         TokenType = "USING_SQL"
	TokenUsingSqlContains TokenType = "USING_SQL_CONTAINS"
	TokenNoTransaction    TokenType = "NO_TRANSACTION"
	TokenSqlBlock         TokenType = "SQL_BLOCK"
	TokenTimeout          TokenType = "TIMEOUT"
	TokenVars             TokenType = "VARS"
	TokenEOF              TokenType = "EOF"
	// Semantic SQL matching tokens
	TokenAccessingTables     TokenType = "ACCESSING_TABLES"
	TokenVerifyOperation     TokenType = "VERIFY_OPERATION"
	TokenVerifyWhereColumns  TokenType = "VERIFY_WHERE_COLUMNS"
	TokenVerifyWhere         TokenType = "VERIFY_WHERE"
	TokenVerifyWrittenValues TokenType = "VERIFY_WRITTEN_VALUES"
)

type XMLParser

type XMLParser struct{}

XMLParser implements PayloadParser for XML files

func (*XMLParser) CanParse

func (p *XMLParser) CanParse(ext string) bool

func (*XMLParser) Parse

func (p *XMLParser) Parse(data []byte) (interface{}, error)

type YAMLParser

type YAMLParser struct{}

YAMLParser implements PayloadParser for YAML files

func (*YAMLParser) CanParse

func (p *YAMLParser) CanParse(ext string) bool

func (*YAMLParser) Parse

func (p *YAMLParser) Parse(data []byte) (interface{}, error)

Jump to

Keyboard shortcuts

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