shredder *Shredder storeAdapter *fakestoreadapter.FakeStoreAdapter ) BeforeEach(func() { storeAdapter = fakestoreadapter.New() conf, _ := config.DefaultConfig() conf.StoreSchemaVersion = 2 store := storepackage.NewStore(conf, storeAdapter, fakelogger.NewFakeLogger()) shredder = New(store) storeAdapter.SetMulti([]storeadapter.StoreNode{ {Key: "/hm/v2/pokemon/geodude", Value: []byte{}}, {Key: "/hm/v2/deep-pokemon/abra/kadabra/alakazam", Value: []byte{}}, {Key: "/hm/v2/pokemonCount", Value: []byte("151")}, {Key: "/hm/v1/nuke/me/cause/im/an/old/version", Value: []byte("abc")}, {Key: "/hm/v3/leave/me/alone/since/im/a/new/version", Value: []byte("abc")}, {Key: "/hm/nuke/me/cause/im/not/versioned", Value: []byte("abc")}, {Key: "/let/me/be", Value: []byte("abc")}, }) storeAdapter.Delete("/hm/v2/pokemon/geodude", "/hm/v2/deep-pokemon/abra/kadabra/alakazam") err := shredder.Shred() Ω(err).ShouldNot(HaveOccurred()) }) It("should delete empty directories", func() { _, err := storeAdapter.Get("/hm/v2/pokemon") Ω(err).Should(Equal(storeadapter.ErrorKeyNotFound)) _, err = storeAdapter.Get("/hm/v2/deep-pokemon")