The controller plans config, templates and moved providers' provisions, hands bus accounts to the vault and judges the new manifest words, on the feature's SDK and node-engine validator (feature 57, config and provisioning).
28 lines
1.3 KiB
Go
28 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/novox/mesh-controller/internal/link"
|
|
)
|
|
|
|
// **A pull request into a release branch reaches the check as one** (novox/hq ADR 0358): the build seat hands the
|
|
// check the release branch and, beside it, the trunk each repository is read at when it has no branch of that name;
|
|
// and it hands the check the judge cache the build agent declares (MESH_JUDGE_CACHE), never a path of its own.
|
|
func TestTheBuildSeatHandsTheCheckItsReleaseBranch(t *testing.T) {
|
|
spec := checkSpecOf(link.BuildRequest{ID: "b", Repository: "r", Ref: "abc", Check: &link.CheckRequest{
|
|
Owner: "novox", Repo: "mesh-catalog", Base: "feat/57", Release: "feat/57",
|
|
Beside: map[string]link.CheckedOut{"mesh-host": {Repository: "h", Ref: "feat/57", Else: "main"}}}})
|
|
if spec.Release != "feat/57" || spec.Beside["mesh-host"].Ref != "feat/57" || spec.Beside["mesh-host"].Else != "main" {
|
|
t.Fatalf("the check was handed release %q and mesh-host %+v", spec.Release, spec.Beside["mesh-host"])
|
|
}
|
|
t.Setenv("MESH_JUDGE_CACHE", "/var/lib/mesh/build-agent/judge-cache")
|
|
if got := judgeCache(); got != "/var/lib/mesh/build-agent/judge-cache" {
|
|
t.Fatalf("the judge cache the manifest declares is read as %q", got)
|
|
}
|
|
t.Setenv("MESH_JUDGE_CACHE", "")
|
|
if got := judgeCache(); got != "" {
|
|
t.Fatalf("with no judge cache declared, %q is used", got)
|
|
}
|
|
}
|