Add the forge kind open: every open pull request into trunk, so the indexer can drop the rest (issue 1279, ADR 0443)
mesh/repo-check head 4580d80a32d9 merged into trunk 2db8ef5079f5 beside mesh-controller#400@a0c971ce — pass: its merge-check.sh passed, each part in its to…
mesh/merge-gate head 4580d80a32d9 merged into trunk 2db8ef5079f5 — pass: group fix/1279-consumers-from-now composed: every machine composes with the change…
mesh/delivery delivered
mesh/delivery-group group fix/1279-consumers-from-now delivered: every member is delivered
mesh/repo-check head 4580d80a32d9 merged into trunk 2db8ef5079f5 beside mesh-controller#400@a0c971ce — pass: its merge-check.sh passed, each part in its to…
mesh/merge-gate head 4580d80a32d9 merged into trunk 2db8ef5079f5 — pass: group fix/1279-consumers-from-now composed: every machine composes with the change…
mesh/delivery delivered
mesh/delivery-group group fix/1279-consumers-from-now delivered: every member is delivered
This commit is contained in:
@@ -65,6 +65,41 @@ func TestSourceKeys(t *testing.T) { // 1200/AC1
|
||||
}
|
||||
}
|
||||
|
||||
func TestForgeOpenKind(t *testing.T) { // 1279/AC5
|
||||
ev := OpenEvent()
|
||||
if ev != "forge.open" {
|
||||
t.Fatalf("open event = %q", ev)
|
||||
}
|
||||
repo, kind, err := ParseForgeEvent(ev)
|
||||
if err != nil || repo != "" || kind != ForgeOpen {
|
||||
t.Fatalf("parse open event = %q %q %v", repo, kind, err)
|
||||
}
|
||||
// An empty list is a message too: nothing is open.
|
||||
data, err := EncodeForge(Forge{Kind: ForgeOpen, Open: []OpenPull{}})
|
||||
if err != nil {
|
||||
t.Fatalf("empty open: %v", err)
|
||||
}
|
||||
if f, err := DecodeForge(data); err != nil || f.Kind != ForgeOpen || len(f.Open) != 0 {
|
||||
t.Errorf("empty open round trip: %+v %v", f, err)
|
||||
}
|
||||
for name, f := range map[string]Forge{
|
||||
"a repository": {Kind: ForgeOpen, Repository: "a/b", Open: []OpenPull{{Repository: "a/b", Number: 1}}},
|
||||
"a bad entry": {Kind: ForgeOpen, Open: []OpenPull{{Repository: "a", Number: 1}}},
|
||||
"a zero number": {Kind: ForgeOpen, Open: []OpenPull{{Repository: "a/b"}}},
|
||||
"a head": {Kind: ForgeOpen, Head: "x", Open: []OpenPull{{Repository: "a/b", Number: 1}}},
|
||||
} {
|
||||
if _, err := EncodeForge(f); err == nil {
|
||||
t.Errorf("open with %s accepted", name)
|
||||
}
|
||||
}
|
||||
if _, err := EncodeForge(Forge{Kind: ForgePull, Repository: "a/b", Number: 1, Head: "h", Action: "updated", Open: []OpenPull{{Repository: "a/b", Number: 1}}}); err == nil {
|
||||
t.Error("a pull message naming open pull requests accepted")
|
||||
}
|
||||
if _, err := ForgeEvent("a/b", ForgeOpen); err == nil {
|
||||
t.Error("an open event for a repository accepted")
|
||||
}
|
||||
}
|
||||
|
||||
func TestHeadsHash(t *testing.T) { // 1200/AC2
|
||||
a := Head{Repository: "novox/mesh-sdk", Number: 36, Head: "aaaa"}
|
||||
b := Head{Repository: "novox/mesh-control", Number: 7, Head: "bbbb"}
|
||||
@@ -113,6 +148,7 @@ func sampleForges() []Forge {
|
||||
{Kind: ForgeMerged, Repository: "novox/mesh-sdk", Number: 36, Head: "aaaa", Merge: "cccc",
|
||||
Trees: map[string]string{"modules/a": "t1"}, Root: "t0"},
|
||||
{Kind: ForgeRefused, Repository: "novox/mesh-sdk", Act: "novox/mesh-sdk.36.aaaa.view", Words: "403 forbidden"},
|
||||
{Kind: ForgeOpen, Open: []OpenPull{{Repository: "novox/mesh-sdk", Number: 36}, {Repository: "novox/mesh-control", Number: 7}}},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user