github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/client/serviceregistration/nsd/statuses_test.go (about) 1 package nsd 2 3 import ( 4 "testing" 5 6 "github.com/hashicorp/nomad/ci" 7 "github.com/hashicorp/nomad/client/serviceregistration" 8 "github.com/hashicorp/nomad/client/serviceregistration/checks/checkstore" 9 "github.com/hashicorp/nomad/client/state" 10 "github.com/hashicorp/nomad/helper/testlog" 11 "github.com/hashicorp/nomad/helper/uuid" 12 "github.com/hashicorp/nomad/nomad/structs" 13 "github.com/shoenig/test/must" 14 ) 15 16 var _ serviceregistration.CheckStatusGetter = (*StatusGetter)(nil) 17 18 func TestStatusGetter_Get(t *testing.T) { 19 ci.Parallel(t) 20 logger := testlog.HCLogger(t) 21 22 db := state.NewMemDB(logger) 23 s := checkstore.NewStore(logger, db) 24 25 // setup some sample check results 26 id1, id2, id3 := uuid.Short(), uuid.Short(), uuid.Short() 27 must.NoError(t, s.Set("allocation1", &structs.CheckQueryResult{ 28 ID: structs.CheckID(id1), 29 Status: "passing", 30 })) 31 must.NoError(t, s.Set("allocation1", &structs.CheckQueryResult{ 32 ID: structs.CheckID(id2), 33 Status: "failing", 34 })) 35 must.NoError(t, s.Set("allocation2", &structs.CheckQueryResult{ 36 ID: structs.CheckID(id3), 37 Status: "passing", 38 })) 39 40 getter := StatusGetter{shim: s} 41 snap, err := getter.Get() 42 must.NoError(t, err) 43 must.MapEq(t, map[string]string{ 44 id1: "passing", 45 id2: "failing", 46 id3: "passing", 47 }, snap) 48 }