Round 2 T2, T5: mesh-wireguard and route-proxy end G with their merge-base test counts; roles in the test
mesh/delivery merged: source.main moved to novox/mesh-networking@9be2faaf8b00
mesh/delivery-group group feat/47-G-join12 merged: every member is merged
mesh/check failed (2): mesh-delivery-checker: no published of the tagged version of go-meshconditions of me…; and 1 more | ccfdaec5ed2d on 9be2faaf8b00
mesh/delivery merged: source.main moved to novox/mesh-networking@9be2faaf8b00
mesh/delivery-group group feat/47-G-join12 merged: every member is merged
mesh/check failed (2): mesh-delivery-checker: no published of the tagged version of go-meshconditions of me…; and 1 more | ccfdaec5ed2d on 9be2faaf8b00
The two tests G added fold into existing ones as subtests (design 47 G §626); route-proxy's provider test names a role, not a node (T5). Builds: design 47 G §626, A-306; review round 2 findings T2, T5 Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
This commit is contained in:
@@ -57,8 +57,8 @@ func TestAConsumerOfARouteIsToldItsNamesFromItsPlanEntry(t *testing.T) {
|
||||
"grafana": {"name": "grafana.example.org"},
|
||||
} {
|
||||
plan, err := meshprovisionerclient.EncodePlan(meshprovisionerclient.Plan{Node: "g14", Module: module, Plan: catalogue.Plan{
|
||||
Provisions: []catalogue.PlanProvision{{Provision: ProvisionName, Provider: "novox", ProviderModule: ModuleName,
|
||||
At: "10.7.0.1", From: "novox", As: "mesh_g14_" + module, Names: names}}}})
|
||||
Provisions: []catalogue.PlanProvision{{Provision: ProvisionName, Provider: "anchor", ProviderModule: ModuleName,
|
||||
At: "10.7.0.1", From: "anchor", As: "mesh_g14_" + module, Names: names}}}})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -67,7 +67,7 @@ func TestAConsumerOfARouteIsToldItsNamesFromItsPlanEntry(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
asked, err := json.Marshal(meshprovisionerclient.Provision{V: meshprovisionerclient.Version, Provision: ProvisionName,
|
||||
Consumer: meshprovisionerclient.End{Node: "g14", Module: module}, Provider: meshprovisionerclient.End{Node: "novox", Module: ModuleName},
|
||||
Consumer: meshprovisionerclient.End{Node: "g14", Module: module}, Provider: meshprovisionerclient.End{Node: "anchor", Module: ModuleName},
|
||||
State: meshprovisionerclient.Asked})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -76,7 +76,7 @@ func TestAConsumerOfARouteIsToldItsNamesFromItsPlanEntry(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
p := newProvider("novox", theProvisioner, bus, t.Logf)
|
||||
p := newProvider("anchor", theProvisioner, bus, t.Logf)
|
||||
out, err := p.Pass(context.Background())
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
|
||||
@@ -30,24 +30,23 @@ func TestTheReadIsTheManifests(t *testing.T) {
|
||||
if !slices.Contains(m.Invokes, "seat:mesh-module-assigner.assignments") {
|
||||
t.Errorf("the proxy asks who holds a seat, its manifest invokes %v", m.Invokes)
|
||||
}
|
||||
}
|
||||
|
||||
// A read in the seat form is the bus's `<holder>.<state>` of the holder on record, whoever it is.
|
||||
func TestHolderReadResolvesTheSeat(t *testing.T) {
|
||||
call := func(holder string) func(string, any) (json.RawMessage, error) {
|
||||
return func(string, any) (json.RawMessage, error) {
|
||||
return json.RawMessage(`{"seats":[{"seat":"mesh-provisioner","holders":[{"module":"` + holder + `"}]}]}`), nil
|
||||
// A read in the seat form is the bus's `<holder>.<state>` of the holder on record, whoever it is.
|
||||
t.Run("HolderReadResolvesTheSeat", func(t *testing.T) {
|
||||
call := func(holder string) func(string, any) (json.RawMessage, error) {
|
||||
return func(string, any) (json.RawMessage, error) {
|
||||
return json.RawMessage(`{"seats":[{"seat":"mesh-provisioner","holders":[{"module":"` + holder + `"}]}]}`), nil
|
||||
}
|
||||
}
|
||||
}
|
||||
for _, holder := range []string{"one", "another"} {
|
||||
if got, err := holderRead(call(holder), plansRead); err != nil || got != holder+".plans" {
|
||||
t.Errorf("holderRead = %q, %v; want %s.plans", got, err, holder)
|
||||
for _, holder := range []string{"one", "another"} {
|
||||
if got, err := holderRead(call(holder), plansRead); err != nil || got != holder+".plans" {
|
||||
t.Errorf("holderRead = %q, %v; want %s.plans", got, err, holder)
|
||||
}
|
||||
}
|
||||
}
|
||||
if _, err := holderRead(func(string, any) (json.RawMessage, error) { return nil, errors.New("down") }, plansRead); err == nil {
|
||||
t.Errorf("a failed ask was taken as a holder")
|
||||
}
|
||||
if _, err := holderRead(call("x"), "mesh-provisioner.plans"); err == nil {
|
||||
t.Errorf("a read naming a module was taken as a seat's")
|
||||
}
|
||||
if _, err := holderRead(func(string, any) (json.RawMessage, error) { return nil, errors.New("down") }, plansRead); err == nil {
|
||||
t.Errorf("a failed ask was taken as a holder")
|
||||
}
|
||||
if _, err := holderRead(call("x"), "mesh-provisioner.plans"); err == nil {
|
||||
t.Errorf("a read naming a module was taken as a seat's")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user