dsl

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type JSONParser added in v1.4.0

type JSONParser struct{}

JSONParser implements PayloadParser for JSON files

func (*JSONParser) CanParse added in v1.4.0

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

func (*JSONParser) Parse added in v1.4.0

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 added in v1.2.0

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 added in v1.2.0

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) SetParsers added in v1.4.0

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

SetParsers allows customizing the list of parsers

type PayloadParser added in v1.4.0

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

PayloadParser defines the interface for parsing different payload formats

type RawParser added in v1.4.0

type RawParser struct{}

RawParser implements PayloadParser for raw/unknown file types

func (*RawParser) CanParse added in v1.4.0

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

func (*RawParser) Parse added in v1.4.0

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"
	TokenUsingSql      TokenType = "USING_SQL"
	TokenNoTransaction TokenType = "NO_TRANSACTION"
	TokenSqlBlock      TokenType = "SQL_BLOCK"
	TokenEOF           TokenType = "EOF"
)

type XMLParser added in v1.4.0

type XMLParser struct{}

XMLParser implements PayloadParser for XML files

func (*XMLParser) CanParse added in v1.4.0

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

func (*XMLParser) Parse added in v1.4.0

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

type YAMLParser added in v1.4.0

type YAMLParser struct{}

YAMLParser implements PayloadParser for YAML files

func (*YAMLParser) CanParse added in v1.4.0

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

func (*YAMLParser) Parse added in v1.4.0

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