2026-08-09 23:47:38 +00:00
|
|
|
package notarius
|
|
|
|
|
|
2026-09-25 15:33:46 +00:00
|
|
|
import (
|
|
|
|
|
"context"
|
|
|
|
|
|
|
|
|
|
configkit "gitea.maximumdirect.net/eric/ConfigKit"
|
|
|
|
|
)
|
2026-08-09 23:47:38 +00:00
|
|
|
|
|
|
|
|
// FakeRunner is a configurable in-memory runner for stage tests.
|
|
|
|
|
type FakeRunner struct {
|
|
|
|
|
Requests []RunRequest
|
|
|
|
|
Result RunResult
|
|
|
|
|
Err error
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Run records the request and returns the configured result or error.
|
|
|
|
|
func (f *FakeRunner) Run(ctx context.Context, req RunRequest) (RunResult, error) {
|
|
|
|
|
if err := ctx.Err(); err != nil {
|
|
|
|
|
return RunResult{}, err
|
|
|
|
|
}
|
2026-08-29 15:16:06 +00:00
|
|
|
copyRequest := req
|
2026-09-25 15:33:46 +00:00
|
|
|
copyRequest.Credentials = append([]configkit.Secret(nil), req.Credentials...)
|
2026-09-21 15:03:29 +00:00
|
|
|
if req.ConfigProfile != nil {
|
|
|
|
|
profile := *req.ConfigProfile
|
|
|
|
|
copyRequest.ConfigProfile = &profile
|
|
|
|
|
}
|
2026-08-29 15:16:06 +00:00
|
|
|
copyRequest.References = append([]ReferenceBinding(nil), req.References...)
|
|
|
|
|
f.Requests = append(f.Requests, copyRequest)
|
2026-08-09 23:47:38 +00:00
|
|
|
if f.Err != nil {
|
|
|
|
|
return RunResult{}, f.Err
|
|
|
|
|
}
|
|
|
|
|
return f.Result, nil
|
|
|
|
|
}
|