MCPcopy
hub / github.com/nats-io/nats.go / TestObjectList

Function TestObjectList

test/object_test.go:833–935  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

831}
832
833func TestObjectList(t *testing.T) {
834 s := RunBasicJetStreamServer()
835 defer shutdownJSServerAndRemoveStorage(t, s)
836
837 nc, js := jsClient(t, s)
838 defer nc.Close()
839
840 root, err := js.CreateObjectStore(&nats.ObjectStoreConfig{Bucket: "ROOT"})
841 expectOk(t, err)
842
843 _, err = root.List()
844 expectErr(t, err, nats.ErrNoObjectsFound)
845
846 put := func(name, value string) {
847 _, err = root.PutString(name, value)
848 expectOk(t, err)
849 }
850
851 put("A", "AAA")
852 put("B", "BBB")
853 put("C", "CCC")
854 put("B", "bbb")
855
856 // Self link
857 info, err := root.GetInfo("B")
858 expectOk(t, err)
859 _, err = root.AddLink("b", info)
860 expectOk(t, err)
861
862 put("D", "DDD")
863 err = root.Delete("D")
864 expectOk(t, err)
865
866 t.Run("without deleted objects", func(t *testing.T) {
867 lch, err := root.List()
868 expectOk(t, err)
869
870 omap := make(map[string]struct{})
871 for _, info := range lch {
872 if _, ok := omap[info.Name]; ok {
873 t.Fatalf("Already saw %q", info.Name)
874 }
875 omap[info.Name] = struct{}{}
876 }
877 if len(omap) != 4 {
878 t.Fatalf("Expected 4 total objects, got %d", len(omap))
879 }
880 expected := map[string]struct{}{
881 "A": struct{}{},
882 "B": struct{}{},
883 "C": struct{}{},
884 "b": struct{}{},
885 }
886 if !reflect.DeepEqual(omap, expected) {
887 t.Fatalf("Expected %+v but got %+v", expected, omap)
888 }
889 })
890

Callers

nothing calls this directly

Calls 14

FatalfMethod · 0.80
RunBasicJetStreamServerFunction · 0.70
jsClientFunction · 0.70
expectOkFunction · 0.70
expectErrFunction · 0.70
CreateObjectStoreMethod · 0.65
ListMethod · 0.65
PutStringMethod · 0.65
GetInfoMethod · 0.65
AddLinkMethod · 0.65
DeleteMethod · 0.65

Tested by

no test coverage detected