helmfile/pkg/config/unittest.go

102 lines
2.6 KiB
Go

package config
// UnittestOptions is the options for the unittest command
type UnittestOptions struct {
// Concurrency is the maximum number of concurrent helm processes to run, 0 is unlimited
Concurrency int
// Set is the set flags to pass to helm unittest
Set []string
// Values is the values flags to pass to helm unittest
Values []string
// FailFast causes helm-unittest to quit immediately when a test fails
FailFast bool
// Color enforces colored output even when stdout is not a tty
Color bool
// DebugPlugin enables verbose output from the helm-unittest plugin
DebugPlugin bool
// SkipNeeds is the skip needs flag
SkipNeeds bool
// IncludeNeeds is the include needs flag
IncludeNeeds bool
// IncludeTransitiveNeeds is the include transitive needs flag
IncludeTransitiveNeeds bool
}
// NewUnittestOptions creates a new UnittestOptions
func NewUnittestOptions() *UnittestOptions {
return &UnittestOptions{}
}
// UnittestImpl is impl for UnittestOptions
type UnittestImpl struct {
*GlobalImpl
*UnittestOptions
}
// NewUnittestImpl creates a new UnittestImpl
func NewUnittestImpl(g *GlobalImpl, u *UnittestOptions) *UnittestImpl {
return &UnittestImpl{
GlobalImpl: g,
UnittestOptions: u,
}
}
// Concurrency returns the concurrency
func (u *UnittestImpl) Concurrency() int {
return u.UnittestOptions.Concurrency
}
// Set returns the Set
func (u *UnittestImpl) Set() []string {
return u.UnittestOptions.Set
}
// Values returns the Values
func (u *UnittestImpl) Values() []string {
return u.UnittestOptions.Values
}
// FailFast returns the fail fast flag
func (u *UnittestImpl) FailFast() bool {
return u.UnittestOptions.FailFast
}
// Color returns the color flag
func (u *UnittestImpl) Color() bool {
return u.UnittestOptions.Color
}
// DebugPlugin returns the debug plugin flag
func (u *UnittestImpl) DebugPlugin() bool {
return u.UnittestOptions.DebugPlugin
}
// SkipCleanup returns the skip clean up
func (u *UnittestImpl) SkipCleanup() bool {
return false
}
// IncludeNeeds returns the include needs
func (u *UnittestImpl) IncludeNeeds() bool {
return u.UnittestOptions.IncludeNeeds || u.IncludeTransitiveNeeds()
}
// IncludeTransitiveNeeds returns the include transitive needs
func (u *UnittestImpl) IncludeTransitiveNeeds() bool {
return u.UnittestOptions.IncludeTransitiveNeeds
}
// SkipNeeds returns the skip needs
func (u *UnittestImpl) SkipNeeds() bool {
if !u.IncludeNeeds() {
return u.UnittestOptions.SkipNeeds
}
return false
}
// EnforceNeedsAreInstalled returns false for unittest
func (u *UnittestImpl) EnforceNeedsAreInstalled() bool {
return false
}