MCPcopy
hub / github.com/tuna/tunasync / TestDBAdapter

Function TestDBAdapter

manager/db_test.go:163–235  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

161}
162
163func TestDBAdapter(t *testing.T) {
164 Convey("boltAdapter should work", t, func() {
165 tmpDir, err := os.MkdirTemp("", "tunasync")
166 defer os.RemoveAll(tmpDir)
167 So(err, ShouldBeNil)
168
169 dbType, dbFile := "bolt", filepath.Join(tmpDir, "bolt.db")
170 boltDB, err := makeDBAdapter(dbType, dbFile)
171 So(err, ShouldBeNil)
172
173 defer func() {
174 // close boltDB
175 err := boltDB.Close()
176 So(err, ShouldBeNil)
177 }()
178
179 DBAdapterTest(boltDB)
180 })
181
182 Convey("redisAdapter should work", t, func() {
183 mr, err := miniredis.Run()
184 So(err, ShouldBeNil)
185
186 addr := fmt.Sprintf("redis://%s", mr.Addr())
187 redisDB, err := makeDBAdapter("redis", addr)
188 So(err, ShouldBeNil)
189
190 defer func() {
191 // close redisDB
192 err := redisDB.Close()
193 So(err, ShouldBeNil)
194 mr.Close()
195 }()
196
197 DBAdapterTest(redisDB)
198 })
199
200 Convey("badgerAdapter should work", t, func() {
201 tmpDir, err := os.MkdirTemp("", "tunasync")
202 defer os.RemoveAll(tmpDir)
203 So(err, ShouldBeNil)
204
205 dbType, dbFile := "badger", filepath.Join(tmpDir, "badger.db")
206 badgerDB, err := makeDBAdapter(dbType, dbFile)
207 So(err, ShouldBeNil)
208
209 defer func() {
210 // close badgerDB
211 err := badgerDB.Close()
212 So(err, ShouldBeNil)
213 }()
214
215 DBAdapterTest(badgerDB)
216 })
217
218 Convey("leveldbAdapter should work", t, func() {
219 tmpDir, err := os.MkdirTemp("", "tunasync")
220 defer os.RemoveAll(tmpDir)

Callers

nothing calls this directly

Calls 4

makeDBAdapterFunction · 0.85
DBAdapterTestFunction · 0.85
CloseMethod · 0.65
RunMethod · 0.65

Tested by

no test coverage detected