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) } }