config

package
v2.3.0-beta36 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package config provides configuration structures for the application.

Index

Constants

View Source
const InternalConfig = `
enableTesting: false
keployContainer: "keploy-v2"
keployNetwork: "keploy-network"
inDocker: false
cmdType: "native"
`

Variables

This section is empty.

Functions

func GetByPassPorts

func GetByPassPorts(conf *Config) []uint

func GetDefaultConfig

func GetDefaultConfig() string

func Merge

func Merge(srcStr, destStr string) (string, error)

func SetByPassPorts

func SetByPassPorts(conf *Config, ports []uint)

func SetDefaultConfig

func SetDefaultConfig(cfgStr string)

func SetSelectedContractTests

func SetSelectedContractTests(conf *Config, tests []string)

func SetSelectedServices

func SetSelectedServices(conf *Config, services []string)

func SetSelectedTests

func SetSelectedTests(conf *Config, testSets []string)

func SetSelectedTestsNormalize

func SetSelectedTestsNormalize(conf *Config, value string) error

Types

type BypassRule

type BypassRule struct {
	Path string `json:"path" yaml:"path" mapstructure:"path"`
	Host string `json:"host" yaml:"host" mapstructure:"host"`
	Port uint   `json:"port" yaml:"port" mapstructure:"port"`
}

type Config

type Config struct {
	Path                  string       `json:"path" yaml:"path" mapstructure:"path"`
	AppID                 uint64       `json:"appId" yaml:"appId" mapstructure:"appId"`
	AppName               string       `json:"appName" yaml:"appName" mapstructure:"appName"`
	Command               string       `json:"command" yaml:"command" mapstructure:"command"`
	Templatize            Templatize   `json:"templatize" yaml:"templatize" mapstructure:"templatize"`
	Port                  uint32       `json:"port" yaml:"port" mapstructure:"port"`
	DNSPort               uint32       `json:"dnsPort" yaml:"dnsPort" mapstructure:"dnsPort"`
	ProxyPort             uint32       `json:"proxyPort" yaml:"proxyPort" mapstructure:"proxyPort"`
	Debug                 bool         `json:"debug" yaml:"debug" mapstructure:"debug"`
	DisableTele           bool         `json:"disableTele" yaml:"disableTele" mapstructure:"disableTele"`
	DisableANSI           bool         `json:"disableANSI" yaml:"disableANSI" mapstructure:"disableANSI"`
	InDocker              bool         `json:"inDocker" yaml:"-" mapstructure:"inDocker"`
	ContainerName         string       `json:"containerName" yaml:"containerName" mapstructure:"containerName"`
	NetworkName           string       `json:"networkName" yaml:"networkName" mapstructure:"networkName"`
	BuildDelay            uint64       `json:"buildDelay" yaml:"buildDelay" mapstructure:"buildDelay"`
	Test                  Test         `json:"test" yaml:"test" mapstructure:"test"`
	Record                Record       `json:"record" yaml:"record" mapstructure:"record"`
	Gen                   UtGen        `json:"gen" yaml:"-" mapstructure:"gen"`
	Normalize             Normalize    `json:"normalize" yaml:"-" mapstructure:"normalize"`
	ReRecord              ReRecord     `json:"rerecord" yaml:"-" mapstructure:"rerecord"`
	ConfigPath            string       `json:"configPath" yaml:"configPath" mapstructure:"configPath"`
	BypassRules           []BypassRule `json:"bypassRules" yaml:"bypassRules" mapstructure:"bypassRules"`
	EnableTesting         bool         `json:"enableTesting" yaml:"-" mapstructure:"enableTesting"`
	GenerateGithubActions bool         `json:"generateGithubActions" yaml:"generateGithubActions" mapstructure:"generateGithubActions"`
	KeployContainer       string       `json:"keployContainer" yaml:"keployContainer" mapstructure:"keployContainer"`
	KeployNetwork         string       `json:"keployNetwork" yaml:"keployNetwork" mapstructure:"keployNetwork"`
	CommandType           string       `json:"cmdType" yaml:"cmdType" mapstructure:"cmdType"`
	Contract              Contract     `json:"contract" yaml:"contract" mapstructure:"contract"`

	InCi           bool   `json:"inCi" yaml:"inCi" mapstructure:"inCi"`
	InstallationID string `json:"-" yaml:"-" mapstructure:"-"`
	Version        string `json:"-" yaml:"-" mapstructure:"-"`
	APIServerURL   string `json:"-" yaml:"-" mapstructure:"-"`
	GitHubClientID string `json:"-" yaml:"-" mapstructure:"-"`
}

func New

func New() *Config

type Contract

type Contract struct {
	Services []string `json:"services" yaml:"services" mapstructure:"services"`
	Tests    []string `json:"tests" yaml:"tests" mapstructure:"tests"`
	Path     string   `json:"path" yaml:"path" mapstructure:"path"`
	Download bool     `json:"download" yaml:"download" mapstructure:"download"`
	Generate bool     `json:"generate" yaml:"generate" mapstructure:"generate"`
	Driven   string   `json:"driven" yaml:"driven" mapstructure:"driven"`
	Mappings Mappings `json:"mappings" yaml:"mappings" mapstructure:"mappings"`
}

type Filter

type Filter struct {
	BypassRule `mapstructure:",squash"`
	URLMethods []string          `json:"urlMethods" yaml:"urlMethods" mapstructure:"urlMethods"`
	Headers    map[string]string `json:"headers" yaml:"headers" mapstructure:"headers"`
}

type GlobalNoise

type GlobalNoise map[string]map[string][]string

type Globalnoise

type Globalnoise struct {
	Global   GlobalNoise  `json:"global" yaml:"global" mapstructure:"global"`
	Testsets TestsetNoise `json:"test-sets" yaml:"test-sets" mapstructure:"test-sets"`
}

type Language

type Language string

func (*Language) Set

func (e *Language) Set(v string) error

Set must have pointer receiver so it doesn't change the value of a copy

func (*Language) String

func (e *Language) String() string

String is used both by fmt.Print and by Cobra in help text

func (*Language) Type

func (e *Language) Type() string

Type is only used in help text

type Mappings

type Mappings struct {
	ServicesMapping map[string][]string `json:"servicesMapping" yaml:"servicesMapping" mapstructure:"servicesMapping"`
	Self            string              `json:"self" yaml:"self" mapstructure:"self"`
}

type Noise

type Noise map[string][]string

type Normalize

type Normalize struct {
	SelectedTests []SelectedTests `json:"selectedTests" yaml:"selectedTests" mapstructure:"selectedTests"`
	TestRun       string          `json:"testReport" yaml:"testReport" mapstructure:"testReport"`
}

type ReRecord

type ReRecord struct {
	SelectedTests []string `json:"selectedTests" yaml:"selectedTests" mapstructure:"selectedTests"`
	Filters       []Filter `json:"filters" yaml:"filters" mapstructure:"filters"`
	Host          string   `json:"host" yaml:"host" mapstructure:"host"`
	Port          uint32   `json:"port" yaml:"port" mapstructure:"port"`
}

type Record

type Record struct {
	Filters     []Filter      `json:"filters" yaml:"filters" mapstructure:"filters"`
	RecordTimer time.Duration `json:"recordTimer" yaml:"recordTimer" mapstructure:"recordTimer"`
}

type SelectedTests

type SelectedTests struct {
	TestSet string   `json:"testSet" yaml:"testSet" mapstructure:"testSet"`
	Tests   []string `json:"tests" yaml:"tests" mapstructure:"tests"`
}

type Templatize

type Templatize struct {
	TestSets []string `json:"testSets" yaml:"testSets" mapstructure:"testSets"`
}

type Test

type Test struct {
	SelectedTests       map[string][]string `json:"selectedTests" yaml:"selectedTests" mapstructure:"selectedTests"`
	GlobalNoise         Globalnoise         `json:"globalNoise" yaml:"globalNoise" mapstructure:"globalNoise"`
	Delay               uint64              `json:"delay" yaml:"delay" mapstructure:"delay"`
	Host                string              `json:"host" yaml:"host" mapstructure:"host"`
	Port                uint32              `json:"port" yaml:"port" mapstructure:"port"`
	APITimeout          uint64              `json:"apiTimeout" yaml:"apiTimeout" mapstructure:"apiTimeout"`
	SkipCoverage        bool                `json:"skipCoverage" yaml:"skipCoverage" mapstructure:"skipCoverage"`                   // boolean to capture the coverage in test
	CoverageReportPath  string              `json:"coverageReportPath" yaml:"coverageReportPath" mapstructure:"coverageReportPath"` // directory path to store the coverage files
	IgnoreOrdering      bool                `json:"ignoreOrdering" yaml:"ignoreOrdering" mapstructure:"ignoreOrdering"`
	MongoPassword       string              `json:"mongoPassword" yaml:"mongoPassword" mapstructure:"mongoPassword"`
	Language            Language            `json:"language" yaml:"language" mapstructure:"language"`
	RemoveUnusedMocks   bool                `json:"removeUnusedMocks" yaml:"removeUnusedMocks" mapstructure:"removeUnusedMocks"`
	FallBackOnMiss      bool                `json:"fallBackOnMiss" yaml:"fallBackOnMiss" mapstructure:"fallBackOnMiss"`
	JacocoAgentPath     string              `json:"jacocoAgentPath" yaml:"jacocoAgentPath" mapstructure:"jacocoAgentPath"`
	BasePath            string              `json:"basePath" yaml:"basePath" mapstructure:"basePath"`
	Mocking             bool                `json:"mocking" yaml:"mocking" mapstructure:"mocking"`
	IgnoredTests        map[string][]string `json:"ignoredTests" yaml:"ignoredTests" mapstructure:"ignoredTests"`
	DisableLineCoverage bool                `json:"disableLineCoverage" yaml:"disableLineCoverage" mapstructure:"disableLineCoverage"`
	DisableMockUpload   bool                `json:"disableMockUpload" yaml:"disableMockUpload" mapstructure:"disableMockUpload"`
	UseLocalMock        bool                `json:"useLocalMock" yaml:"useLocalMock" mapstructure:"useLocalMock"`
	UpdateTemplate      bool                `json:"updateTemplate" yaml:"updateTemplate" mapstructure:"updateTemplate"`
}

type TestsetNoise

type TestsetNoise map[string]map[string]map[string][]string

type UtGen

type UtGen struct {
	SourceFilePath     string  `json:"sourceFilePath" yaml:"sourceFilePath" mapstructure:"sourceFilePath"`
	TestFilePath       string  `json:"testFilePath" yaml:"testFilePath" mapstructure:"testFilePath"`
	CoverageReportPath string  `json:"coverageReportPath" yaml:"coverageReportPath" mapstructure:"coverageReportPath"`
	TestCommand        string  `json:"testCommand" yaml:"testCommand" mapstructure:"testCommand"`
	CoverageFormat     string  `json:"coverageFormat" yaml:"coverageFormat" mapstructure:"coverageFormat"`
	DesiredCoverage    float64 `json:"expectedCoverage" yaml:"expectedCoverage" mapstructure:"expectedCoverage"`
	MaxIterations      int     `json:"maxIterations" yaml:"maxIterations" mapstructure:"maxIterations"`
	TestDir            string  `json:"testDir" yaml:"testDir" mapstructure:"testDir"`
	APIBaseURL         string  `json:"llmBaseUrl" yaml:"llmBaseUrl" mapstructure:"llmBaseUrl"`
	Model              string  `json:"model" yaml:"model" mapstructure:"model"`
	APIVersion         string  `json:"llmApiVersion" yaml:"llmApiVersion" mapstructure:"llmApiVersion"`
	AdditionalPrompt   string  `json:"additionalPrompt" yaml:"additionalPrompt" mapstructure:"additionalPrompt"`
	FunctionUnderTest  string  `json:"functionUnderTest" yaml:"-" mapstructure:"functionUnderTest"`
}

Jump to

Keyboard shortcuts

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