util

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultPlanId          = "8"
	DefaultCreateTimeout   = "15m"
	NonExistentWorkspaceId = "99999999"
	WorkspaceCreatedOutput = "Workspace created"
)
View Source
const (
	HadolintTool    = "hadolint"
	ShellcheckTool  = "shellcheck"
	KubeconformTool = "kubeconform"
)

Variables

View Source
var ErrToolNotFound = errors.New("tool not found on $PATH")
View Source
var PostCreateWaitTime = 5 * time.Second
View Source
var WorkspaceNamePrefixes = []string{
	"cli-git-test-",
	"cli-pipeline-test-",
	"cli-log-test-",
	"cli-open-test-",
	"cli-setenv-test-",
	"cli-edge-test-",
	"cli-very-long-workspace-name-test-",
	"cli-wakeup-test-",
	"cli-curl-test-",
}

WorkspaceNamePrefixes contains all workspace name prefixes used by integration tests. This is used for global cleanup in AfterSuite to catch orphaned workspaces.

Functions

func CheckBillingStatus added in v0.14.2

func CheckBillingStatus(teamId string) (bool, string)

func CleanupAllWorkspacesInTeam added in v0.14.2

func CleanupAllWorkspacesInTeam(teamId string, namePrefix string)

func CleanupTeam added in v0.14.2

func CleanupTeam(teamId string)

func CleanupWorkspace added in v0.14.2

func CleanupWorkspace(workspaceId string)

func CreateTestWorkspace added in v0.20.0

func CreateTestWorkspace(teamId, workspaceName string) string

CreateTestWorkspace creates a workspace with standard settings and returns the workspace ID. It fails the test if creation fails or no workspace ID is returned.

func ExtractTeamId added in v0.14.2

func ExtractTeamId(output string) string

func ExtractWorkspaceId added in v0.14.2

func ExtractWorkspaceId(output string) string

func FailIfMissingEnvVars added in v0.20.0

func FailIfMissingEnvVars() (teamId, token string)

func GenerateTLSCerts

func GenerateTLSCerts(outputDir string, serverCN string, serverSANs []string) (caCertPath, serverCertPath, serverKeyPath string, err error)

GenerateTLSCerts generates a CA, a server key, and a server certificate signed by the CA. It includes Subject Alternative Names (SANs) for modern TLS compliance. Returns paths to ca.crt, server.crt, and server.key.

func GetEphemeralPort

func GetEphemeralPort() (int, error)

GetEphemeralPort finds an available ephemeral port on localhost.

func LintDockerfile added in v0.20.0

func LintDockerfile(path string) error

LintDockerfile runs hadolint on the Dockerfile at the given path.

func LintKubernetesManifest added in v0.20.0

func LintKubernetesManifest(path string) error

LintKubernetesManifest runs kubeconform on the Kubernetes manifest at the given path.

func LintShellScript added in v0.20.0

func LintShellScript(path string) error

LintShellScript runs shellcheck on the shell script at the given path.

func NewWorkspaceName added in v0.20.0

func NewWorkspaceName(prefix string) string

NewWorkspaceName generates a unique workspace name with the given prefix.

func RunCommand added in v0.14.2

func RunCommand(args ...string) string

func RunCommandInBackground

func RunCommandInBackground(outputBuffer *bytes.Buffer, args ...string) *exec.Cmd

func RunCommandWithExitCode added in v0.14.2

func RunCommandWithExitCode(args ...string) (string, int)

func ScaleWorkspace added in v0.17.0

func ScaleWorkspace(client *api.Client, workspaceId int, replicas int) error

func StartTestHttpServer

func StartTestHttpServer(port int) (*http.Server, error)

Helper to start a simple HTTP server (for non-TLS tests)

func StartTestHttpsServer

func StartTestHttpsServer(port int, certFile, keyFile string) (*http.Server, error)

Helper to start a simple HTTPS server with custom certs

func VerifyWorkspaceDeleted added in v0.14.2

func VerifyWorkspaceDeleted(workspaceId, teamId string) bool

func VerifyWorkspaceExists added in v0.14.2

func VerifyWorkspaceExists(workspaceId, teamId string) bool

func WaitForPort

func WaitForPort(addr string, timeout time.Duration)

WaitForPort blocks until a TCP port is listening or timeout occurs.

func WaitForWorkspaceRunning added in v0.14.2

func WaitForWorkspaceRunning(client *api.Client, workspaceId int, timeout time.Duration) error

func WithClearedWorkspaceEnv added in v0.20.0

func WithClearedWorkspaceEnv(fn func())

WithClearedWorkspaceEnv temporarily unsets CS_WORKSPACE_ID and WORKSPACE_ID, calls fn, then restores the original values.

Types

This section is empty.

Jump to

Keyboard shortcuts

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