process

package
v0.0.37 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2025 License: GPL-3.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TST_FAIL = 0
	TST_PASS = 1
	TST_SKIP = 2
)

Variables

View Source
var LastTestID uint = 0

Functions

func CheckFlags

func CheckFlags(cx1client *Cx1ClientGo.Cx1Client, logger *types.ThreadLogger, test TestRunner) bool

func CheckVersion added in v0.0.25

func CheckVersion(cx1client *Cx1ClientGo.Cx1Client, logger *types.ThreadLogger, test TestRunner) bool

func FailError added in v0.0.21

func FailError(result TestResult) error

func GenerateReport

func GenerateReport(tests *[]TestResult, logger *logrus.Logger, Config *TestConfig, startTime, endTime time.Time, threads int) (uint, error)

func LogResult

func LogResult(logger *types.ThreadLogger, result TestResult)

func LogStart

func LogStart(logger *types.ThreadLogger, test TestRunner, CRUD, testName string)

func NewRunner added in v0.0.27

func NewRunner(id int, dir *TestDirector, cx1client *Cx1ClientGo.Cx1Client, logger *logrus.Logger, Config *TestConfig, out chan<- *[]TestResult)

func OutputReportHTML added in v0.0.14

func OutputReportHTML(reportName string, reportData *Report, Config *TestConfig) error

func OutputReportJSON added in v0.0.14

func OutputReportJSON(reportName string, reportData *Report) error

func OutputSummaryConsole added in v0.0.14

func OutputSummaryConsole(reportData *Report, logger *logrus.Logger)

func RunTest

func RunTest(cx1client *Cx1ClientGo.Cx1Client, logger *types.ThreadLogger, CRUD, testName string, test TestRunner, results *[]TestResult, Config *TestConfig, failSet error) error

func RunTests

func RunTests(cx1client *Cx1ClientGo.Cx1Client, logger *logrus.Logger, Config *TestConfig, threads int) uint

Types

type AllCRUD added in v0.0.28

type AllCRUD interface {
	types.AccessAssignmentCRUD | types.AnalyticsCRUD
}

type Counter

type Counter struct {
	Pass uint
	Fail uint
	Skip uint
}

test result output

func (*Counter) AddTest added in v0.0.14

func (c *Counter) AddTest(t *TestResult)

type CounterSet

type CounterSet struct {
	Create Counter
	Read   Counter
	Update Counter
	Delete Counter
}

func (*CounterSet) AddTest added in v0.0.14

func (c *CounterSet) AddTest(t *TestResult)

type Report added in v0.0.14

type Report struct {
	Settings ReportSettings      `json:"Settings"`
	Summary  ReportSummary       `json:"Summary"`
	Details  []ReportTestDetails `json:"Details"`
}

func (*Report) AddTest added in v0.0.14

func (r *Report) AddTest(t *TestResult)

type ReportSettings added in v0.0.14

type ReportSettings struct {
	Target    string                  `json:"TestTarget"`
	Auth      string                  `json:"Authentication"`
	Config    string                  `json:"TestConfig"`
	StartTime string                  `json:"StartTime"`
	EndTime   string                  `json:"EndTime"`
	Duration  string                  `json:"Duration"`
	E2ESuffix string                  `json:"E2ESuffix"`
	Threads   int                     `json:"Threads"`
	Version   Cx1ClientGo.VersionInfo `json:"TargetVersions"`
}

type ReportSummary added in v0.0.14

type ReportSummary struct {
	Total Counter `json:"Total"`
	Area  struct {
		Access      CounterSet
		Application CounterSet
		Analytics   CounterSet
		Branch      CounterSet
		Client      CounterSet
		Flag        CounterSet
		Group       CounterSet
		Import      CounterSet
		Preset      CounterSet
		Project     CounterSet
		Query       CounterSet
		Result      CounterSet
		Report      CounterSet
		Role        CounterSet
		Scan        CounterSet
		User        CounterSet
	} `json:"Area"`
}

func (*ReportSummary) AddTest added in v0.0.14

func (s *ReportSummary) AddTest(t *TestResult)

type ReportTestDetails added in v0.0.14

type ReportTestDetails struct {
	Name        string
	Source      string
	Test        string
	Duration    float64
	ResultType  int `json:"-"`
	Result      string
	ID          uint
	FailOutputs []string `json:"FailOutputs,omitempty"`
}

func (ReportTestDetails) String added in v0.0.14

func (d ReportTestDetails) String() string

type TestConfig

type TestConfig struct {
	Cx1URL             string                  `yaml:"Cx1URL"`
	IAMURL             string                  `yaml:"IAMURL"`
	Tenant             string                  `yaml:"Tenant"`
	ProxyURL           string                  `yaml:"ProxyURL"`
	NoTLS              bool                    `yaml:"NoTLS"`
	Tests              []TestSet               `yaml:"Tests"`
	LogLevel           string                  `yaml:"LogLevel"`
	MultiThreadable    bool                    `yaml:"MultiThreadable"`
	InlineReport       bool                    `yaml:"-"`
	ConfigPath         string                  `yaml:"-"`
	AuthType           string                  `yaml:"-"`
	AuthUser           string                  `yaml:"-"`
	ReportType         string                  `yaml:"ReportType"`
	ReportName         string                  `yaml:"ReportName"`
	Engines            types.EnabledEngines    `yaml:"-"`
	EnvironmentVersion Cx1ClientGo.VersionInfo `yaml:"-"`
	TestCount          int                     `yaml:"-"`
}

func LoadConfig

func LoadConfig(logger *logrus.Logger, configPath string) (TestConfig, error)

func (TestConfig) CreateHTTPClient added in v0.0.23

func (o TestConfig) CreateHTTPClient(logger *logrus.Logger) (*http.Client, error)

func (TestConfig) GetTestCount added in v0.0.27

func (o TestConfig) GetTestCount() int

func (*TestConfig) InitTestIDs added in v0.0.27

func (t *TestConfig) InitTestIDs()

func (*TestConfig) IsValid added in v0.0.28

func (t *TestConfig) IsValid(logger *logrus.Logger) bool

func (TestConfig) PrintTests added in v0.0.27

func (c TestConfig) PrintTests()

type TestDirector added in v0.0.27

type TestDirector struct {
	Config    *TestConfig
	Lock      sync.Mutex
	TestIndex int
}

func NewDirector added in v0.0.27

func NewDirector(Config *TestConfig) TestDirector

func (*TestDirector) GetNextTestSet added in v0.0.27

func (d *TestDirector) GetNextTestSet() *TestSet

type TestResult

type TestResult struct {
	FailTest   bool
	Result     int
	CRUD       string
	Module     string
	Duration   float64
	Name       string
	Id         uint
	TestObject string
	Reason     []string
	TestSource string
	Attempts   uint
}

func MakeResult added in v0.0.17

func MakeResult(test TestRunner) TestResult

func Run

func Run(cx1client *Cx1ClientGo.Cx1Client, logger *types.ThreadLogger, CRUD, testName string, test TestRunner, Config *TestConfig) TestResult

type TestRunner

type TestRunner interface {
	Validate(testType string) error
	String() string
	IsType(testType string) bool
	IsForced() bool
	IsSupported(cx1client *Cx1ClientGo.Cx1Client, logger *types.ThreadLogger, testType string, Engines *types.EnabledEngines) error
	IsNegative() bool
	GetSource() string
	GetID() uint
	GetModule() string
	GetFlags() []string
	GetVersion() types.ProductVersion
	GetVersionStr() string
	GetCurrentThread() int
	OnFail() types.FailAction

	RunCreate(cx1client *Cx1ClientGo.Cx1Client, logger *types.ThreadLogger, Engines *types.EnabledEngines) error
	RunRead(cx1client *Cx1ClientGo.Cx1Client, logger *types.ThreadLogger, Engines *types.EnabledEngines) error
	RunUpdate(cx1client *Cx1ClientGo.Cx1Client, logger *types.ThreadLogger, Engines *types.EnabledEngines) error
	RunDelete(cx1client *Cx1ClientGo.Cx1Client, logger *types.ThreadLogger, Engines *types.EnabledEngines) error
}

type TestSet

type TestSet struct {
	Name  string `yaml:"Name"`
	File  string `yaml:"File"`
	RunAs struct {
		APIKey       string `yaml:"APIKey"`
		ClientID     string `yaml:"ClientID"`
		ClientSecret string `yaml:"ClientSecret"`
		OIDCClient   string `yaml:"OIDCClient"`
	} `yaml:"RunAs"`

	AccessAssignments []types.AccessAssignmentCRUD `yaml:"AccessAssignments"`
	Analytics         []types.AnalyticsCRUD        `yaml:"Analytics"`
	Applications      []types.ApplicationCRUD      `yaml:"Applications"`
	Branches          []types.BranchCRUD           `yaml:"Branches"`
	Clients           []types.OIDCClientCRUD       `yaml:"OIDCClients"`
	Flags             []types.FlagCRUD             `yaml:"Flags"`
	Groups            []types.GroupCRUD            `yaml:"Groups"`
	Imports           []types.ImportCRUD           `yaml:"Imports"`
	Presets           []types.PresetCRUD           `yaml:"Presets"`
	Projects          []types.ProjectCRUD          `yaml:"Projects"`
	Queries           []types.CxQLCRUD             `yaml:"Queries"`
	Reports           []types.ReportCRUD           `yaml:"Reports"`
	Results           []types.ResultCRUD           `yaml:"Results"`
	Roles             []types.RoleCRUD             `yaml:"Roles"`
	Scans             []types.ScanCRUD             `yaml:"Scans"`
	Users             []types.UserCRUD             `yaml:"Users"`
	Wait              uint                         `yaml:"Wait"`
	Thread            uint                         `yaml:"Thread"`
	ActiveThread      int                          `yaml:"-"`

	SubTests   []TestSet `yaml:"-"`
	TestSource string    `yaml:"-"`
}

func (TestSet) GetOtherClient added in v0.0.23

func (t TestSet) GetOtherClient(cx1client *Cx1ClientGo.Cx1Client, logger *types.ThreadLogger, config *TestConfig) (*Cx1ClientGo.Cx1Client, error)

func (TestSet) GetTestCount added in v0.0.27

func (t TestSet) GetTestCount() int

func (*TestSet) Init added in v0.0.27

func (t *TestSet) Init()

func (*TestSet) InitTestIDs added in v0.0.27

func (t *TestSet) InitTestIDs()

func (*TestSet) InitTestIDsCRUD added in v0.0.27

func (t *TestSet) InitTestIDsCRUD(CRUD string)

func (TestSet) IsValid added in v0.0.28

func (t TestSet) IsValid(logger *logrus.Logger) bool

func (TestSet) OtherUser added in v0.0.23

func (t TestSet) OtherUser() bool

func (TestSet) PrintTests added in v0.0.27

func (t TestSet) PrintTests()

func (*TestSet) Run

func (t *TestSet) Run(cx1client *Cx1ClientGo.Cx1Client, logger *types.ThreadLogger, CRUD string, Config *TestConfig, TestSetFail error) ([]TestResult, error)

func (*TestSet) RunTests

func (t *TestSet) RunTests(cx1client *Cx1ClientGo.Cx1Client, logger *types.ThreadLogger, Config *TestConfig, testSetFail error) []TestResult

func (*TestSet) SetActiveThread added in v0.0.27

func (t *TestSet) SetActiveThread(thread int)

type TestThread added in v0.0.27

type TestThread struct {
	Id int
}

Jump to

Keyboard shortcuts

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