Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Run ¶
func Run(t *testing.T, appHostIsPrimary bool, factory DeploymentFactory)
Run runs the entire workspace app test suite against deployments minted by the provided factory.
appHostIsPrimary is true if the app host is also the primary coder API server. This disables any tests that test API passthrough or rely on the app server not being the API server. nolint:revive
Types ¶
type App ¶
type App struct { Username string WorkspaceName string // AgentName is optional, except for when proxying to a port. AgentName is // always ignored when making a path app URL. // // Set WorkspaceName to `workspace.agent` if you want to generate a path app // URL with an agent name. AgentName string AppSlugOrPort string // Prefix should have ---. Prefix string Query string }
App is similar to httpapi.ApplicationURL but with a Query field.
type Deployment ¶
type Deployment struct { Options *DeploymentOptions // SDKClient should be logged in as the admin user. SDKClient *codersdk.Client FirstUser codersdk.CreateFirstUserResponse PathAppBaseURL *url.URL FlushStats func() }
Deployment is a license-agnostic deployment with all the fields that apps tests need.
type DeploymentFactory ¶
type DeploymentFactory func(t *testing.T, opts *DeploymentOptions) *Deployment
DeploymentFactory generates a deployment with an API client, a path base URL, and a subdomain app host URL.
type DeploymentOptions ¶
type DeploymentOptions struct { PrimaryAppHost string AppHost string DisablePathApps bool DisableSubdomainApps bool DangerousAllowPathAppSharing bool DangerousAllowPathAppSiteOwnerAccess bool ServeHTTPS bool StatsCollectorOptions workspaceapps.StatsCollectorOptions // contains filtered or unexported fields }
DeploymentOptions are the options for creating a *Deployment with a DeploymentFactory.
type Details ¶
type Details struct { *Deployment Me codersdk.User Workspace *codersdk.Workspace Agent *codersdk.WorkspaceAgent AppPort uint16 Apps struct { Fake App Owner App Authenticated App Public App Port App PortHTTPS App } }
Details are the full test details returned from setupProxyTestWithFactory.
func (*Details) AppClient ¶
AppClient returns a *codersdk.Client that will route all requests to the app server. API requests will fail with this client. Any redirect responses are not followed by default.
The client is authenticated as the first user by default.
func (*Details) PathAppURL ¶
PathAppURL returns the URL for the given path app.