Documentation ¶
Index ¶
- Constants
- type CensoredWriter
- type CommandBuilder
- type Context
- func (c *Context) Chdir(dir string)
- func (c *Context) Clearenv()
- func (c *Context) Close() error
- func (c *Context) Command(name string, arg ...string) *exec.Cmd
- func (c *Context) ConfigureLogging(ctx context.Context, cfg LogConfiguration)
- func (c *Context) CopyDirectory(srcDir, destDir string, includeBaseDir bool) error
- func (c *Context) CopyFile(src, dest string) error
- func (c *Context) Environ() []string
- func (c *Context) EnvironMap() map[string]string
- func (c *Context) ExpandEnv(s string) string
- func (c *Context) Getenv(key string) string
- func (c *Context) Getwd() string
- func (c *Context) IsVerbose() bool
- func (c *Context) LookPath(file string) (string, bool)
- func (c *Context) LookupEnv(key string) (string, bool)
- func (c *Context) SetSensitiveValues(vals []string)
- func (c *Context) SetVerbose(value bool)
- func (c *Context) Setenv(key string, value string)
- func (c *Context) StartRootSpan(ctx context.Context, op string, attrs ...attribute.KeyValue) (context.Context, tracing.TraceLogger)
- func (c *Context) Unsetenv(key string)
- func (c *Context) WriteMixinOutputToFile(filename string, bytes []byte) error
- type LogConfiguration
- type PluginDebugContext
- type TestContext
- func (c *TestContext) AddCleanupDir(dir string)
- func (c *TestContext) AddTestDirectory(srcDir, destDir string, mode ...os.FileMode)
- func (c *TestContext) AddTestDirectoryFromRoot(srcDir, destDir string)
- func (c *TestContext) AddTestDriver(src, name string) string
- func (c *TestContext) AddTestFile(src, dest string, mode ...os.FileMode) []byte
- func (c *TestContext) AddTestFileContents(file []byte, dest string) error
- func (c *TestContext) AddTestFileFromRoot(src, dest string) []byte
- func (c *TestContext) ClearOutputs()
- func (c *TestContext) CompareGoldenFile(goldenFile string, got string)
- func (c *TestContext) FindBinDir() string
- func (c *TestContext) FindRepoRoot() string
- func (c *TestContext) GetError() string
- func (c *TestContext) GetOutput() string
- func (c *TestContext) GetTestDefinitionDirectory() string
- func (c *TestContext) Teardown()
- func (c *TestContext) UseFilesystem() (testDir string, homeDir string)
Constants ¶
const (
// MixinOutputsDir represents the directory where mixin output files are written/read
MixinOutputsDir = "/cnab/app/porter/outputs"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CensoredWriter ¶
type CensoredWriter struct {
// contains filtered or unexported fields
}
CensoredWriter is a writer wrapping the provided io.Writer with logic to censor certain values
func NewCensoredWriter ¶
func NewCensoredWriter(writer io.Writer) *CensoredWriter
NewCensoredWriter returns a new CensoredWriter
func (*CensoredWriter) SetSensitiveValues ¶
func (cw *CensoredWriter) SetSensitiveValues(vals []string)
SetSensitiveValues sets values needing masking for an CensoredWriter
type CommandBuilder ¶
func NewTestCommand ¶
func NewTestCommand(c *Context) CommandBuilder
type Context ¶
type Context struct { Debug bool DebugPlugins bool FileSystem aferox.Aferox In io.Reader Out io.Writer Err io.Writer NewCommand CommandBuilder PlugInDebugContext *PluginDebugContext // contains filtered or unexported fields }
func (*Context) Chdir ¶ added in v0.31.0
Chdir changes the current working directory to the named directory.
func (*Context) Clearenv ¶ added in v0.31.0
func (c *Context) Clearenv()
Clearenv deletes all environment variables.
func (*Context) Command ¶ added in v0.31.0
Command creates a new exec.Cmd using the context's current directory.
func (*Context) ConfigureLogging ¶
func (c *Context) ConfigureLogging(ctx context.Context, cfg LogConfiguration)
ConfigureLogging applies different configuration to our logging and tracing.
func (*Context) CopyDirectory ¶
func (*Context) Environ ¶ added in v0.31.0
Environ returns a copy of strings representing the environment, in the form "key=value".
func (*Context) EnvironMap ¶ added in v0.37.1
EnvironMap returns a map of the current environment variables.
func (*Context) ExpandEnv ¶ added in v0.31.0
ExpandEnv replaces ${var} or $var in the string according to the values of the current environment variables. References to undefined variables are replaced by the empty string.
func (*Context) Getenv ¶ added in v0.31.0
Getenv retrieves the value of the environment variable named by the key. It returns the value, which will be empty if the variable is not present. To distinguish between an empty value and an unset value, use LookupEnv.
func (*Context) Getwd ¶ added in v0.31.0
Getwd returns a rooted path name corresponding to the current directory.
func (*Context) LookPath ¶ added in v0.31.0
This is a simplified exec.LookPath that checks if command is accessible given a PATH environment variable.
func (*Context) LookupEnv ¶ added in v0.31.0
LookupEnv retrieves the value of the environment variable named by the key. If the variable is present in the environment the value (which may be empty) is returned and the boolean is true. Otherwise the returned value will be empty and the boolean will be false.
func (*Context) SetSensitiveValues ¶
SetSensitiveValues sets the sensitive values needing masking on output/err streams
func (*Context) SetVerbose ¶
func (*Context) Setenv ¶ added in v0.31.0
Setenv sets the value of the environment variable named by the key. It returns an error, if any.
func (*Context) StartRootSpan ¶
func (c *Context) StartRootSpan(ctx context.Context, op string, attrs ...attribute.KeyValue) (context.Context, tracing.TraceLogger)
StartRootSpan creates the root tracing span for the porter application. This should only be done once.
type LogConfiguration ¶
type LogConfiguration struct { LogToFile bool LogDirectory string LogLevel zapcore.Level LogCorrelationID string StructuredLogs bool TelemetryEnabled bool TelemetryEndpoint string TelemetryProtocol string TelemetryInsecure bool TelemetryCertificate string TelemetryCompression string TelemetryTimeout string TelemetryHeaders map[string]string }
type PluginDebugContext ¶ added in v0.29.1
type PluginDebugContext struct { RunPlugInInDebugger string PlugInWorkingDirectory string DebuggerPort string }
func NewPluginDebugContext ¶ added in v0.29.1
func NewPluginDebugContext(c *Context) *PluginDebugContext
type TestContext ¶
func NewTestContext ¶
func NewTestContext(t *testing.T) *TestContext
NewTestContext initializes a configuration suitable for testing, with the output buffered, and an in-memory file system, using the specified environment variables.
func (*TestContext) AddCleanupDir ¶ added in v0.28.0
func (c *TestContext) AddCleanupDir(dir string)
func (*TestContext) AddTestDirectory ¶
func (c *TestContext) AddTestDirectory(srcDir, destDir string, mode ...os.FileMode)
AddTestDirectory adds a test directory where the filepath is relative to the test directory. mode is optional and should only be specified once
func (*TestContext) AddTestDirectoryFromRoot ¶
func (c *TestContext) AddTestDirectoryFromRoot(srcDir, destDir string)
Use this when the directory you are referencing is in a different directory than the test.
func (*TestContext) AddTestDriver ¶ added in v0.28.0
func (c *TestContext) AddTestDriver(src, name string) string
func (*TestContext) AddTestFile ¶
func (c *TestContext) AddTestFile(src, dest string, mode ...os.FileMode) []byte
AddTestFile adds a test file where the filepath is relative to the test directory. mode is optional and only the first one passed is used.
func (*TestContext) AddTestFileContents ¶
func (c *TestContext) AddTestFileContents(file []byte, dest string) error
func (*TestContext) AddTestFileFromRoot ¶
func (c *TestContext) AddTestFileFromRoot(src, dest string) []byte
Use this when the testfile you are referencing is in a different directory than the test.
func (*TestContext) ClearOutputs ¶ added in v0.28.0
func (c *TestContext) ClearOutputs()
func (*TestContext) CompareGoldenFile ¶
func (c *TestContext) CompareGoldenFile(goldenFile string, got string)
CompareGoldenFile checks if the specified string matches the content of a golden test file. When they are different and PORTER_UPDATE_TEST_FILES is true, the file is updated to match the new test output.
func (*TestContext) FindBinDir ¶
func (c *TestContext) FindBinDir() string
FindBinDir returns the path to the bin directory of the repository where the test is currently running
func (*TestContext) FindRepoRoot ¶ added in v0.38.2
func (c *TestContext) FindRepoRoot() string
FindRepoRoot returns the path to the porter repository where the test is currently running
func (*TestContext) GetError ¶
func (c *TestContext) GetError() string
GetError returns all text printed to stderr.
func (*TestContext) GetOutput ¶
func (c *TestContext) GetOutput() string
GetOutput returns all text printed to stdout.
func (*TestContext) GetTestDefinitionDirectory ¶ added in v0.31.0
func (c *TestContext) GetTestDefinitionDirectory() string
func (*TestContext) Teardown ¶
func (c *TestContext) Teardown()
func (*TestContext) UseFilesystem ¶ added in v0.28.0
func (c *TestContext) UseFilesystem() (testDir string, homeDir string)
UseFilesystem has porter's context use the OS filesystem instead of an in-memory filesystem Returns the test directory, and the temp porter home directory.