Documentation
¶
Overview ¶
Package fakes provides fake HTTP servers for acceptance testing.
Index ¶
- type CircleCI
- 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) AddDeploy(projectID string, deploy any)
- func (f *CircleCI) AddEnvVar(slug, name, value string, createdAt *time.Time)
- func (f *CircleCI) AddFollowedProject(proj 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) AddJobV1(slug string, jobNumber int64, job any)
- 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) AddPipelineDefinition(projectID string, def any)
- func (f *CircleCI) AddProjectInfo(slug string, info any)
- func (f *CircleCI) AddProjectRuns(slug string, runs ...any)
- func (f *CircleCI) AddResourceClass(rc any)
- func (f *CircleCI) AddRun(id string, run any)
- func (f *CircleCI) AddRunWorkflows(runID string, workflows ...any)
- func (f *CircleCI) AddRunnerInstance(instance any)
- func (f *CircleCI) AddRunnerToken(resourceClass string, token any)
- func (f *CircleCI) AddStaticFile(path, content string)
- func (f *CircleCI) AddStepOutput(path, content string)
- func (f *CircleCI) AddTrigger(projectID, pipelineDefinitionID string, trigger any)
- func (f *CircleCI) AddWorkflowDetail(id string, detail any)
- func (f *CircleCI) AddWorkflowJobs(workflowID string, jobs ...any)
- func (f *CircleCI) DeletedIOSBundle(id string) bool
- func (f *CircleCI) DeletedIOSCert(certID string) bool
- func (f *CircleCI) SetCancelResponse(workflowID string, status int)
- func (f *CircleCI) SetCreatePipelineDefinitionResponse(projectID string, resp any)
- func (f *CircleCI) SetCreateTriggerResponse(projectID, pipelineDefinitionID string, resp any)
- func (f *CircleCI) SetMe(me any)
- func (f *CircleCI) SetOAuthTokenError(status int, resp any)
- func (f *CircleCI) SetOAuthTokenResponse(resp any)
- func (f *CircleCI) SetOrbValidationResponse(yaml string, valid bool, errors []string, outputYAML string)
- func (f *CircleCI) SetPipelineCancelResponse(pipelineID string, status int)
- func (f *CircleCI) SetRerunResponse(workflowID string, status int)
- func (f *CircleCI) SetTriggerResponse(slug string, resp any)
- func (f *CircleCI) URL() string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CircleCI ¶
type CircleCI struct {
// 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.
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) AddDeploy ¶
AddDeploy registers a deploy for a project, returned by GET /api/v2/deploy/projects/{project_id}/releases.
func (*CircleCI) AddEnvVar ¶
AddEnvVar registers an env var for a project. slug should be in "vcs/org/repo" form.
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) AddIOSBundle ¶
AddIOSBundle registers an iOS signing bundle for an org, returned by GET /api/v2/signing-configs?org-id=<orgID>.
func (*CircleCI) AddIOSCert ¶
AddIOSCert registers an iOS certificate for an org, returned by GET /api/v2/certificates?org-id=<orgID>.
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) 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) 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) 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) AddResourceClass ¶
AddResourceClass adds a resource class to the fake server's list.
func (*CircleCI) AddRunWorkflows ¶
AddRunWorkflows registers workflow responses for a run.
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) AddStepOutput ¶
AddStepOutput registers JSON log-line content served at the given path, e.g. "/output/job/99/step/0". The path must match the output_url set on the fake job's step actions (relative to the fake server URL).
func (*CircleCI) AddTrigger ¶
AddTrigger registers a trigger returned by GET /api/v2/projects/{projectID}/pipeline-definitions/{pipelineDefinitionID}/triggers.
func (*CircleCI) AddWorkflowDetail ¶
AddWorkflowDetail registers a workflow detail response for GET /api/v2/workflow/<id>.
func (*CircleCI) AddWorkflowJobs ¶
AddWorkflowJobs registers job responses for a workflow.
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) SetCancelResponse ¶
SetCancelResponse sets the HTTP status code returned for POST /api/v2/workflow/<id>/cancel. Use http.StatusAccepted (202) for success.
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) 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) 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) 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) SetPipelineCancelResponse ¶
SetPipelineCancelResponse sets the HTTP status code returned for POST /api/v2/pipeline/<id>/cancel. Use http.StatusAccepted (202) for success.
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) SetTriggerResponse ¶
SetTriggerResponse registers the response body returned when POST /api/v2/project/<slug>/pipeline is called. slug should be in "vcs/org/repo" form.