Documentation
¶
Overview ¶
Package fakes provides fake HTTP servers for acceptance testing.
Index ¶
- Constants
- type Artifact
- type CircleCI
- func (f *CircleCI) AddComponent(component DeployComponent)
- func (f *CircleCI) AddComponentVersion(version DeployComponentVersion)
- func (f *CircleCI) AddContext(orgSlug string, ctx any)
- func (f *CircleCI) AddContextEnvVar(contextID string, envVar any)
- func (f *CircleCI) AddContextRestriction(contextID string, restriction any)
- func (f *CircleCI) AddDecisionLog(ownerID, policyCtx string, log any)
- func (f *CircleCI) AddDeployment(deployment Deployment)
- func (f *CircleCI) AddEnvVar(slug, name, value string, createdAt *time.Time)
- func (f *CircleCI) AddEnvironment(environment DeployEnvironment)
- func (f *CircleCI) AddFollowedProject(proj any)
- func (f *CircleCI) AddGitHubAppRepository(orgID string, repo any)
- func (f *CircleCI) AddIOSBundle(orgID string, bundle any)
- func (f *CircleCI) AddIOSCert(orgID string, cert any)
- func (f *CircleCI) AddJob(slug string, jobNumber int64, job any)
- func (f *CircleCI) AddJobArtifacts(slug string, jobNumber int64, artifactItems ...any)
- func (f *CircleCI) AddJobArtifactsV3(jobID string, items ...Artifact)
- func (f *CircleCI) AddJobStderr(id string, execution, stepNum int, content []byte)
- func (f *CircleCI) AddJobStdout(id string, execution, stepNum int, content []byte)
- func (f *CircleCI) AddJobStdoutCondensed(id string, execution, stepNum int, content []byte)
- func (f *CircleCI) AddJobTests(id string, tests ...TestResult)
- func (f *CircleCI) AddJobV1(slug string, jobNumber int64, job any)
- func (f *CircleCI) AddJobV3(job JobV3)
- func (f *CircleCI) AddNamespace(id, name string)
- func (f *CircleCI) AddOrbCategory(id, name string)
- func (f *CircleCI) AddOrbPackage(id, nsID, nsName, orbName string, isPrivate, isListed bool)
- func (f *CircleCI) AddOrbVersion(id, orbID, orbName, version, source, createdAt string)
- func (f *CircleCI) AddOrg(id, slug, name, vcsType string)
- func (f *CircleCI) AddPipelineDefinition(projectID string, def any)
- func (f *CircleCI) AddPolicyBundle(ownerID, policyCtx string, bundle map[string]string)
- func (f *CircleCI) AddProjectBySlug(slug, id, name, orgID string)
- func (f *CircleCI) AddProjectInfo(slug string, info any)
- func (f *CircleCI) AddProjectRuns(slug string, runs ...any)
- func (f *CircleCI) AddProjectV3(id string, project any)
- func (f *CircleCI) AddResourceClass(rc any)
- func (f *CircleCI) AddRun(id string, run any)
- func (f *CircleCI) AddRunV3(id, projectID string, run RunV3)
- func (f *CircleCI) AddRunWorkflowsV3(runID string, workflows ...WorkflowV3)
- func (f *CircleCI) AddRunnerInstance(instance any)
- func (f *CircleCI) AddRunnerToken(resourceClass string, token any)
- func (f *CircleCI) AddStaticFile(path, content string)
- func (f *CircleCI) AddStepError(slug string, jobNumber int64, taskIndex, stepID int, content string)
- func (f *CircleCI) AddStepOutput(slug string, jobNumber int64, taskIndex, stepID int, content string)
- func (f *CircleCI) AddTrigger(projectID, pipelineDefinitionID string, trigger any)
- func (f *CircleCI) AddWorkflowJobs(workflowID string, jobs ...any)
- func (f *CircleCI) AddWorkflowJobsV3(workflowID string, jobs ...JobV3)
- func (f *CircleCI) AddWorkflowV3(id string, workflow WorkflowV3)
- func (f *CircleCI) AllowToken(token string)
- func (f *CircleCI) DeletedIOSBundle(id string) bool
- func (f *CircleCI) DeletedIOSCert(certID string) bool
- func (f *CircleCI) LastCompileAPIVersion() string
- func (f *CircleCI) LastCompileOwnerID() string
- func (f *CircleCI) LastPARRequest() url.Values
- func (f *CircleCI) RequireTokens(tokens ...string)
- func (f *CircleCI) RerunWasFromFailed(workflowID string) bool
- func (f *CircleCI) SetCancelResponse(workflowID string, status int)
- func (f *CircleCI) SetCollaborations(collabs []any)
- func (f *CircleCI) SetCompileResponse(valid bool, outputYAML string, errors ...string)
- func (f *CircleCI) SetCreateOrgResponse(resp any)
- func (f *CircleCI) SetCreatePipelineDefinitionResponse(projectID string, resp any)
- func (f *CircleCI) SetCreateProjectConflict()
- func (f *CircleCI) SetCreateProjectResponse(resp any)
- func (f *CircleCI) SetCreateTriggerResponse(projectID, pipelineDefinitionID string, resp any)
- func (f *CircleCI) SetDLCPurgeStatus(projectID string, status int)
- func (f *CircleCI) SetDecisionResult(ownerID, policyCtx string, result any)
- func (f *CircleCI) SetDeploySettings(settings DeploySettings)
- func (f *CircleCI) SetGitHubAppInstallResponse(resp any)
- func (f *CircleCI) SetGitHubAppInstalled(orgID string, installed bool)
- func (f *CircleCI) SetLatestRelease(tool, version string, publishedAt time.Time)
- func (f *CircleCI) SetMe(me any)
- func (f *CircleCI) SetOAuthTokenError(status int, resp any)
- func (f *CircleCI) SetOAuthTokenResponse(resp any)
- func (f *CircleCI) SetOrbAddCategoryStatus(status int)
- func (f *CircleCI) SetOrbValidationResponse(yaml string, valid bool, errors []string, outputYAML string)
- func (f *CircleCI) SetOrgSettings(orgUUID string, settings any)
- func (f *CircleCI) SetPipelineCancelResponse(pipelineID string, status int)
- func (f *CircleCI) SetPolicyEnabled(ownerID, policyCtx string, enabled bool)
- func (f *CircleCI) SetProjectSettings(projectID string, settings any)
- func (f *CircleCI) SetReleaseStatus(status int)
- func (f *CircleCI) SetRerunNewWorkflowID(workflowID, newID string)
- func (f *CircleCI) SetRerunResponse(workflowID string, status int)
- func (f *CircleCI) SetRunWorkflowsV3NotFound(runID string)
- func (f *CircleCI) SetRunnerTokenCreateResponse(status int, body any)
- func (f *CircleCI) SetTriggerPipelineRunResponse(slug string, resp any)
- func (f *CircleCI) SetTriggerPipelineRunSkipped(slug, message string)
- func (f *CircleCI) SetTriggerResponse(slug string, resp any)
- func (f *CircleCI) SetUserRuns(runs ...RunV3)
- func (f *CircleCI) URL() string
- type DeployComponent
- type DeployComponentVersion
- type DeployEnvironment
- type DeploySettings
- type Deployment
- type ExtensionMeta
- type ExtensionRegistry
- type JobStep
- type JobV3
- type Org
- type ProjectV3
- type RunError
- type RunV3
- type TestResult
- type WorkflowV3
Constants ¶
const DefaultRerunWorkflowID = "11111111-1111-4111-8111-111111111111"
DefaultRerunWorkflowID is the id of the workflow a rerun creates, unless a test overrides it with SetRerunNewWorkflowID.
It is deliberately not the id being rerun. A rerun creates a *new* workflow, and echoing the old id back would let a caller that mistakenly reports the id it was given pass its tests.
const DefaultToken = "test-token"
DefaultToken is the bearer token the fake accepts when NewCircleCI is called without an explicit token list. It matches the token acceptance tests inject via env.Token, so the common case needs no wiring.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Artifact ¶ added in v1.0.47692
Artifact is a stored job artifact served by GET /api/v3/jobs/<id>/artifacts. Execution is the parallel-run index (0-based) the artifact came from.
type CircleCI ¶
type CircleCI struct {
*httprecorder.RequestRecorder
// ExtraHeaders are added to every response via middleware. Use to inject
// Deprecation/Sunset headers without changing individual handler logic.
ExtraHeaders http.Header
// contains filtered or unexported fields
}
CircleCI is a fake CircleCI API server.
func NewCircleCI ¶
NewCircleCI starts a fake CircleCI API server and registers t.Cleanup to close it.
The fake enforces authentication: every request to a non-exempt route must carry Authorization: Bearer <token> with a token in the accepted set, or it is rejected with 401. The accepted set defaults to DefaultToken; pass one or more tokens to override it, or adjust it later with RequireTokens/AllowToken. The login/pre-auth routes (/oauth/*, /artifacts/*, config compile, tool releases) are exempt — see authExempt.
func (*CircleCI) AddComponent ¶ added in v1.0.47471
func (f *CircleCI) AddComponent(component DeployComponent)
AddComponent registers a deploy component, listed for requests whose filter[org_id] matches its OrgID (and filter[project_id] its ProjectID) and fetched by its ID.
func (*CircleCI) AddComponentVersion ¶ added in v1.0.47471
func (f *CircleCI) AddComponentVersion(version DeployComponentVersion)
AddComponentVersion registers a version for a deploy component, listed under its ComponentID and (optionally) narrowed by filter[environment_id].
func (*CircleCI) AddContext ¶
AddContext registers a context object for GET /api/v2/context/{id}. ctx should be a map with at least "id", "name", and "created_at" fields. It is also indexed by org slug for list responses.
func (*CircleCI) AddContextEnvVar ¶
AddContextEnvVar registers an environment variable for a context.
func (*CircleCI) AddContextRestriction ¶
AddContextRestriction registers a restriction for a context.
func (*CircleCI) AddDecisionLog ¶
AddDecisionLog appends a decision log entry for the given owner and context.
func (*CircleCI) AddDeployment ¶ added in v1.0.47331
func (f *CircleCI) AddDeployment(deployment Deployment)
AddDeployment registers a deployment, returned by GET /api/v3/deploy/deployments for requests whose filter[project_id] matches its ProjectID.
func (*CircleCI) AddEnvVar ¶
AddEnvVar registers an env var for a project. slug should be in "vcs/org/repo" form.
func (*CircleCI) AddEnvironment ¶ added in v1.0.47471
func (f *CircleCI) AddEnvironment(environment DeployEnvironment)
AddEnvironment registers a deploy environment, listed for requests whose filter[org_id] matches its OrgID and fetched by its ID.
func (*CircleCI) AddFollowedProject ¶
AddFollowedProject registers a project returned by GET /api/v1.1/projects. proj should be a map or struct with at least "slug", "username", and "reponame" fields.
func (*CircleCI) AddGitHubAppRepository ¶
AddGitHubAppRepository registers a repository returned by GET /api/v2/github-app/organization/{orgID}/repositories.
func (*CircleCI) AddIOSBundle ¶
AddIOSBundle registers an iOS signing bundle for an org, returned by GET /api/v3/signing/configs?filter[org_id]=<orgID>.
func (*CircleCI) AddIOSCert ¶
AddIOSCert registers an iOS certificate for an org, returned by GET /api/v3/signing/certificates?filter[org_id]=<orgID>. The cert is stored in its flat fixture shape and wrapped in the V3 entity envelope on read.
func (*CircleCI) AddJob ¶
AddJob registers a job detail response for GET /api/v2/project/<slug>/job/<number>. slug should be in "vcs/org/repo" form; jobNumber is the integer job number.
func (*CircleCI) AddJobArtifacts ¶
AddJobArtifacts registers artifact responses for a job. slug should be in "vcs/org/repo" form; jobNumber is the integer job number.
func (*CircleCI) AddJobArtifactsV3 ¶
AddJobArtifactsV3 registers V3 artifacts for a job UUID.
func (*CircleCI) AddJobStderr ¶
AddJobStderr registers plain-text stderr for a step, served at GET /api/v3/jobs/<id>/stderr?filter[execution]=<execution>&filter[step_num]=<stepNum>.
func (*CircleCI) AddJobStdout ¶
AddJobStdout registers plain-text stdout for a step, served at GET /api/v3/jobs/<id>/stdout?filter[execution]=<execution>&filter[step_num]=<stepNum>.
func (*CircleCI) AddJobStdoutCondensed ¶
AddJobStdoutCondensed registers the condensed stdout for a step, served at GET /api/v3/jobs/<id>/stdout/condensed?filter[execution]=<execution>&filter[step_num]=<stepNum>.
func (*CircleCI) AddJobTests ¶
func (f *CircleCI) AddJobTests(id string, tests ...TestResult)
AddJobTests registers test-result records for a job UUID, served as newline-delimited JSON (JSONL) at GET /api/v3/jobs/<id>/tests.
func (*CircleCI) AddJobV1 ¶
AddJobV1 registers a v1.1 job detail response. Use this alongside AddJob (with a job body that has no steps) to exercise the v2→v1.1 fallback path. slug should be in the v1.1 form, e.g. "github/org/repo".
func (*CircleCI) AddJobV3 ¶
AddJobV3 registers a job's detail, served by GET /api/v3/jobs/<id> keyed on the job's ID.
func (*CircleCI) AddNamespace ¶
AddNamespace registers a namespace for REST API queries. id and name form the namespace record returned by the /api/v3/namespaces endpoints.
func (*CircleCI) AddOrbCategory ¶
AddOrbCategory registers an orb category in the fake server.
func (*CircleCI) AddOrbPackage ¶
AddOrbPackage registers an orb package in the fake server.
func (*CircleCI) AddOrbVersion ¶
AddOrbVersion registers an orb version in the fake server. createdAt can be empty (will default to a fixed timestamp).
func (*CircleCI) AddPipelineDefinition ¶
AddPipelineDefinition registers a pipeline definition for a project, returned by GET /api/v2/projects/{projectID}/pipeline-definitions.
func (*CircleCI) AddPolicyBundle ¶
AddPolicyBundle registers a policy bundle for the given owner and context.
func (*CircleCI) AddProjectBySlug ¶
AddProjectBySlug registers a project resolved by GET /api/v3/projects?filter[slug]=<slug>, returning its UUID, name, and org UUID.
func (*CircleCI) AddProjectInfo ¶
AddProjectInfo registers a project info response for GET /api/v2/project/<slug>. slug should be in "vcs/org/repo" form.
func (*CircleCI) AddProjectRuns ¶
AddProjectRuns registers runs for GET /api/v2/project/<slug>/pipeline. slug should be in "vcs/org/repo" form, e.g. "gh/myorg/myrepo".
func (*CircleCI) AddProjectV3 ¶
AddProjectV3 registers a project returned by GET /api/v3/projects/<id>, keyed by the project's UUID. The response is wrapped as {"data": project}.
func (*CircleCI) AddResourceClass ¶
AddResourceClass adds a resource class to the fake server's list.
func (*CircleCI) AddRunV3 ¶
AddRunV3 registers a run served by GET /api/v3/runs/<id> and included in the search results for its project.
func (*CircleCI) AddRunWorkflowsV3 ¶
func (f *CircleCI) AddRunWorkflowsV3(runID string, workflows ...WorkflowV3)
AddRunWorkflowsV3 registers the workflows a run lists.
func (*CircleCI) AddRunnerInstance ¶
AddRunnerInstance adds a runner instance to the fake server's list.
func (*CircleCI) AddRunnerToken ¶
AddRunnerToken adds a token to the fake server for the given resource class.
func (*CircleCI) AddStaticFile ¶
AddStaticFile registers a path that serves static content for artifact download tests. Must be called before any requests are made to the server (i.e. before RunCLI). The path should be relative, e.g. "/artifacts/foo.html".
func (*CircleCI) AddStepError ¶
func (f *CircleCI) AddStepError(slug string, jobNumber int64, taskIndex, stepID int, content string)
AddStepError registers plain-text error content for a step action, served at GET /api/private/output/raw/{slug}/{number}/error/{taskIndex}/{stepID}.
func (*CircleCI) AddStepOutput ¶
func (f *CircleCI) AddStepOutput(slug string, jobNumber int64, taskIndex, stepID int, content string)
AddStepOutput registers plain-text output content for a step action, served at GET /api/private/output/raw/{slug}/{number}/output/{taskIndex}/{stepID}. taskIndex is action.Index and stepID is action.Step from the job response.
func (*CircleCI) AddTrigger ¶
AddTrigger registers a trigger returned by GET /api/v2/projects/{projectID}/pipeline-definitions/{pipelineDefinitionID}/triggers.
func (*CircleCI) AddWorkflowJobs ¶
AddWorkflowJobs registers job responses for a workflow.
func (*CircleCI) AddWorkflowJobsV3 ¶
AddWorkflowJobsV3 registers the jobs a workflow lists.
func (*CircleCI) AddWorkflowV3 ¶
func (f *CircleCI) AddWorkflowV3(id string, workflow WorkflowV3)
AddWorkflowV3 registers a workflow served by GET /api/v3/workflows/<id>.
func (*CircleCI) AllowToken ¶ added in v1.0.47653
AllowToken adds a token to the accepted-token set without disturbing the tokens already there. The OAuth token endpoint calls this for every token it mints, so a login flow's follow-up authenticated calls are accepted.
func (*CircleCI) DeletedIOSBundle ¶
DeletedIOSBundle reports whether the given bundle ID was deleted.
func (*CircleCI) DeletedIOSCert ¶
DeletedIOSCert reports whether the given cert ID was deleted.
func (*CircleCI) LastCompileAPIVersion ¶ added in v1.0.47692
LastCompileAPIVersion returns "v3" or "v2" for whichever compile route served the most recent request (empty if none yet).
func (*CircleCI) LastCompileOwnerID ¶
LastCompileOwnerID returns the owning org UUID sent on the most recent compile request, from either route (empty if none yet). Tests use it to assert that --org resolved to the expected organization UUID.
func (*CircleCI) LastPARRequest ¶
LastPARRequest returns the form parameters of the most recent POST /oauth/par (RFC 9126), or nil if none has been received. Acceptance tests use it to recover the redirect_uri and state, which no longer travel in the browser-facing authorize URL.
func (*CircleCI) RequireTokens ¶ added in v1.0.47653
RequireTokens replaces the accepted-token set, so a request must carry one of these as its Bearer token to reach any non-exempt route. Use it to pin the exact token a test expects, or to exercise the 401 path with a token the fake will reject.
func (*CircleCI) RerunWasFromFailed ¶
RerunWasFromFailed reports whether the rerun request for workflowID actually set is_from_failed, as decoded from the wire.
Assert on this rather than on the raw request body: a body comparison passes as long as client and fake agree, which is how sending the v2 field name to a v3 endpoint went unnoticed. This reports what the *endpoint* would have acted on, so a wrong field name reads as false.
func (*CircleCI) SetCancelResponse ¶
SetCancelResponse sets the HTTP status code returned for POST /api/v3/workflows/<id>/cancel. Use http.StatusAccepted (202) for success.
func (*CircleCI) SetCollaborations ¶
SetCollaborations sets the response for GET /api/v2/me/collaborations.
func (*CircleCI) SetCompileResponse ¶
SetCompileResponse configures what both compile routes return. Pass valid=false and one or more error messages to simulate a compilation failure.
func (*CircleCI) SetCreateOrgResponse ¶
SetCreateOrgResponse registers the response body returned when POST /api/v2/organization is called. Pass nil to simulate a 422 error.
func (*CircleCI) SetCreatePipelineDefinitionResponse ¶
SetCreatePipelineDefinitionResponse registers the response body returned when POST /api/v2/projects/{projectID}/pipeline-definitions is called. Pass nil to simulate a 404.
func (*CircleCI) SetCreateProjectConflict ¶
func (f *CircleCI) SetCreateProjectConflict()
SetCreateProjectConflict makes POST /api/v2/organization/{vcs}/{org}/project answer 409, as the real API does when the organization already has a project with that name.
func (*CircleCI) SetCreateProjectResponse ¶
SetCreateProjectResponse registers the response body returned when POST /api/v2/organization/{vcs}/{org}/project is called. Pass nil to simulate a 422 error.
func (*CircleCI) SetCreateTriggerResponse ¶
SetCreateTriggerResponse registers the response body returned when POST /api/v2/projects/{projectID}/pipeline-definitions/{pipelineDefinitionID}/triggers is called. Pass nil to simulate a 404.
func (*CircleCI) SetDLCPurgeStatus ¶
SetDLCPurgeStatus sets the HTTP status returned for DELETE /private/output/project/{id}/dlc. Default is 204 (success). Use 410 to simulate the gone/deprecated response.
func (*CircleCI) SetDecisionResult ¶
SetDecisionResult sets the response returned by MakeDecision for the given owner and context.
func (*CircleCI) SetDeploySettings ¶ added in v1.0.47471
func (f *CircleCI) SetDeploySettings(settings DeploySettings)
SetDeploySettings registers deploy settings for a project.
func (*CircleCI) SetGitHubAppInstallResponse ¶
SetGitHubAppInstallResponse registers the body returned by POST /api/v2/github-app/install.
func (*CircleCI) SetGitHubAppInstalled ¶
SetGitHubAppInstalled controls whether GET /api/v2/github-app/organization/{orgID}/installation returns 200 (installed) or 404 (not installed) for the org.
func (*CircleCI) SetLatestRelease ¶ added in v1.0.47519
SetLatestRelease registers the release returned by GET /api/v3/tool/releases for the given tool. Clears any previously set non-200 status.
func (*CircleCI) SetMe ¶
SetMe sets the data element for GET /api/v3/users?filter[user_id]=me. Pass a DataEntity-shaped map: {"id": "...", "attributes": {"name": "...", "login": "...", "avatar_url": "..."}}.
func (*CircleCI) SetOAuthTokenError ¶
SetOAuthTokenError configures POST /oauth/token to return the given status and JSON body. Use for testing token-exchange failure paths.
func (*CircleCI) SetOAuthTokenResponse ¶
SetOAuthTokenResponse sets the response body for POST /oauth/token.
func (*CircleCI) SetOrbAddCategoryStatus ¶
SetOrbAddCategoryStatus makes every POST /api/v3/orb/packages/<id>/add-category fail with the given status, carrying the message the real registry returns when an orb is already at its category limit.
func (*CircleCI) SetOrbValidationResponse ¶
func (f *CircleCI) SetOrbValidationResponse(yaml string, valid bool, errors []string, outputYAML string)
SetOrbValidationResponse configures the validate/process endpoints to return the given result when the request YAML matches yaml. Pass "" for yaml to match any request.
func (*CircleCI) SetOrgSettings ¶
SetOrgSettings registers advanced settings for GET /api/v3/orgs/:id/settings. orgUUID should be the org UUID string.
func (*CircleCI) SetPipelineCancelResponse ¶
SetPipelineCancelResponse sets the HTTP status code returned for POST /api/v2/pipeline/<id>/cancel. Use http.StatusAccepted (202) for success.
func (*CircleCI) SetPolicyEnabled ¶
SetPolicyEnabled sets the policy enforcement enabled flag for the given owner and context.
func (*CircleCI) SetProjectSettings ¶
SetProjectSettings registers advanced settings for GET /api/v3/projects/:id/settings. projectID should be the project UUID string.
func (*CircleCI) SetReleaseStatus ¶ added in v1.0.47519
SetReleaseStatus makes GET /api/v3/tool/releases answer with the given HTTP status (e.g. 503 or 400) instead of a 200.
func (*CircleCI) SetRerunNewWorkflowID ¶
SetRerunNewWorkflowID sets the id that rerunning workflowID reports, for a test that needs to distinguish several reruns.
func (*CircleCI) SetRerunResponse ¶
SetRerunResponse sets the HTTP status code returned for POST /api/v2/workflow/<id>/rerun. Use http.StatusAccepted (202) for success.
func (*CircleCI) SetRunWorkflowsV3NotFound ¶
SetRunWorkflowsV3NotFound makes GET /api/v3/workflows?filter[run_id]=<runID> return 404 for the given run, mirroring the real API for runs whose workflows have not materialised.
func (*CircleCI) SetRunnerTokenCreateResponse ¶ added in v1.0.47122
SetRunnerTokenCreateResponse overrides the response to POST /runner/token, which otherwise answers 201 with a token whose value is "fake-runner-token-value". Use it to force a failure, or a 201 whose payload omits or lengthens the token value. A nil body sends a generic error message.
func (*CircleCI) SetTriggerPipelineRunResponse ¶
SetTriggerPipelineRunResponse registers the response body returned when POST /api/v2/project/<slug>/pipeline/run is called with a 201 status. slug should be in "vcs/org/repo" form.
func (*CircleCI) SetTriggerPipelineRunSkipped ¶
SetTriggerPipelineRunSkipped registers a "not triggered" response (200) for POST /api/v2/project/<slug>/pipeline/run.
func (*CircleCI) SetTriggerResponse ¶
SetTriggerResponse registers the response body returned when POST /api/v2/project/<slug>/pipeline is called. slug should be in "vcs/org/repo" form.
func (*CircleCI) SetUserRuns ¶
SetUserRuns registers the runs returned by GET /api/v3/runs?filter[user_id]=me (i.e. "circleci my runs").
type DeployComponent ¶ added in v1.0.47653
DeployComponent is a stored deploy component served by the component list/get endpoints. OrgID is the list filter key; ProjectID narrows the list.
type DeployComponentVersion ¶ added in v1.0.47653
type DeployComponentVersion struct {
ID string
ComponentID string
EnvironmentID string
Name string
CreatedAt string
}
DeployComponentVersion is a stored version served by the component-versions endpoint. ComponentID is the list key; EnvironmentID optionally narrows it.
type DeployEnvironment ¶ added in v1.0.47653
DeployEnvironment is a stored deploy environment served by the environment list/get endpoints. OrgID is the list filter key.
type DeploySettings ¶ added in v1.0.47653
DeploySettings is a stored deploy settings entity for a project.
type Deployment ¶ added in v1.0.47653
type Deployment struct {
ID string
ProjectID string // list filter key; not rendered
ComponentID string
ComponentName string
EnvironmentID string
PipelineID string
WorkflowID string
Type string
Status string
FailureReason string
Version string // rendered as target_version.name
IsRollback bool
CreatedAt string
EndedAt string
}
Deployment is a stored deploy served by GET /api/v3/deploy/deployments, filtered by ProjectID. Add deployments newest-first — the endpoint returns them in insertion order. Optional string fields (FailureReason, EndedAt, PipelineID, WorkflowID) are omitted from the wire entity when empty, matching the real API.
type ExtensionMeta ¶
type ExtensionRegistry ¶
type ExtensionRegistry struct {
RequestRecorder *httprecorder.RequestRecorder
// contains filtered or unexported fields
}
func NewExtensionRegistry ¶
func NewExtensionRegistry(t *testing.T) *ExtensionRegistry
func (*ExtensionRegistry) Manifest ¶
func (e *ExtensionRegistry) Manifest(binaryName string) extension.Manifest
func (*ExtensionRegistry) URL ¶
func (e *ExtensionRegistry) URL() string
func (*ExtensionRegistry) WithExtension ¶
func (e *ExtensionRegistry) WithExtension(t *testing.T, ext extension.Manifest, meta ExtensionMeta) *ExtensionRegistry
type JobStep ¶ added in v1.0.47692
type JobStep struct {
Name string
Type string
Num int
Phase string
Outcome string
ExitCode *int
Command string
StartedAt string
EndedAt string
}
JobStep is a single step within a JobV3 execution. ExitCode is a pointer so a step that never ran a command (spin-up, checkout) omits it, distinct from an explicit exit code of 0; Command is omitted when empty.
type JobV3 ¶ added in v1.0.47692
type JobV3 struct {
ID string
Name string
Type string
Phase string
Outcome string
StartedAt string
EndedAt string
ProjectID string
WorkflowID string
PipelineID string
UserID string
Executions [][]JobStep // parallel_executions, one inner slice of steps per execution
}
JobV3 is a stored job served by both the workflow-jobs list (GET /api/v3/workflows/{id}/jobs) and the job-detail endpoint (GET /api/v3/jobs/{id}). The list exposes the summary attributes and references; detail adds the nested parallel executions. Optional fields (Outcome, StartedAt, EndedAt, the reference ids) are omitted from the wire entity when empty, and Executions is omitted when nil — matching how the real API reports a queued job that has not run yet.
type Org ¶ added in v1.0.47692
Org is a stored organization resolved by GET /api/v3/orgs?filter[slug]=<slug>. The resolve endpoint surfaces only the id; Slug, Name and VCSType round out the record for completeness.
type ProjectV3 ¶ added in v1.0.47692
ProjectV3 is a stored project resolved by GET /api/v3/projects?filter[slug]=<slug>. The entity carries its UUID, name, and owning org UUID — enough for the CLI to map a slug to its project.
type RunError ¶ added in v1.0.47692
RunError is a config/setup error attached to a run, surfaced by run get.
type RunV3 ¶ added in v1.0.47692
type RunV3 struct {
ID string
ProjectID string
UserID string
Phase string
CurrentOutcome string
CreatedAt string
Branch string
Tag string
Revision string
OriginRepoURL string
Errors []RunError
}
RunV3 is a stored run served by the run-detail, run-search, and my-runs endpoints. A run that resolved a revision renders a commit block; Tag, OriginRepoURL and Errors render only when set. CurrentOutcome is omitted when empty, matching a run that has not finished.
type TestResult ¶ added in v1.0.47692
type TestResult struct {
Classname string `json:"classname"`
Name string `json:"name"`
Result string `json:"result"`
RunTime float64 `json:"run_time"`
Message string `json:"message"`
}
TestResult is a stored test result served by the fake job-tests endpoint, which streams these as newline-delimited JSON (JSONL). The JSON tags match the wire fields the CLI decodes.
type WorkflowV3 ¶ added in v1.0.47692
type WorkflowV3 struct {
ID string
Name string
RunID string
ProjectID string
UserID string
Phase string
Outcome string
CreatedAt string
EndedAt string
}
WorkflowV3 is a stored workflow served by the workflow-detail (GET /api/v3/workflows/{id}) and run-workflows list endpoints. An ended workflow reports outcome + ended_at; a still-running one reports current_outcome and no ended_at instead — mirroring the real API.