package delivery_test import ( "testing" "git.novox.be/novox/mesh-sdk/go/buildstep" "git.novox.be/novox/mesh-sdk/go/delivery" ) // 1887/A1b: the ask's step key is ., watched with *., and its parser refuses another bucket's key. func TestAskStepKey(t *testing.T) { id := buildstep.NewID() // an ask's id is a step id key, err := delivery.AskStepKey("shanks", id) if err != nil || key != "shanks."+id { t.Fatalf("AskStepKey = %q, %v", key, err) } if w, err := delivery.AskStepWatch(id); err != nil || w != "*."+id { t.Fatalf("AskStepWatch = %q, %v", w, err) } node, got, err := delivery.ParseAskStepKey(key) if err != nil || node != "shanks" || got != id { t.Fatalf("ParseAskStepKey = %q %q %v", node, got, err) } for _, other := range []string{ "shanks.mesh-delivery-view", // a have key "shanks.node", // a node's own have key "shanks.postgres", // a have key whose module is one token "mesh-delivery-builder_builds.x", // a pulse key "shanks", } { if _, _, err := delivery.ParseAskStepKey(other); err == nil { t.Errorf("parsed %q", other) } } if _, err := delivery.AskStepKey("shanks", "postgres"); err == nil { t.Error("AskStepKey took a module's name for an ask id") } }