MCPcopy
hub / github.com/tailscale/golink / Test_SQLiteDB_SaveLoadDeleteLinks

Function Test_SQLiteDB_SaveLoadDeleteLinks

db_test.go:15–66  ·  view source on GitHub ↗

Test saving, loading, and deleting links for SQLiteDB.

(t *testing.T)

Source from the content-addressed store, hash-verified

13
14// Test saving, loading, and deleting links for SQLiteDB.
15func Test_SQLiteDB_SaveLoadDeleteLinks(t *testing.T) {
16 db, err := NewSQLiteDB(path.Join(t.TempDir(), "links.db"))
17 if err != nil {
18 t.Error(err)
19 }
20
21 links := []*Link{
22 {Short: "short", Long: "long"},
23 {Short: "Foo.Bar", Long: "long"},
24 }
25
26 for _, link := range links {
27 if err := db.Save(link); err != nil {
28 t.Error(err)
29 }
30 got, err := db.Load(link.Short)
31 if err != nil {
32 t.Error(err)
33 }
34
35 if !cmp.Equal(got, link) {
36 t.Errorf("db save and load got %v, want %v", *got, *link)
37 }
38 }
39
40 got, err := db.LoadAll()
41 if err != nil {
42 t.Error(err)
43 }
44
45 sortLinks := cmpopts.SortSlices(func(a, b *Link) bool {
46 return a.Short < b.Short
47 })
48 if !cmp.Equal(got, links, sortLinks) {
49 t.Errorf("db.LoadAll got %v, want %v", got, links)
50 }
51
52 for _, link := range links {
53 if err := db.Delete(link.Short); err != nil {
54 t.Error(err)
55 }
56 }
57
58 got, err = db.LoadAll()
59 if err != nil {
60 t.Error(err)
61 }
62 want := []*Link(nil)
63 if !cmp.Equal(got, want) {
64 t.Errorf("db.LoadAll got %v, want %v", got, want)
65 }
66}
67
68// Test saving, loading, and deleting stats for SQLiteDB.
69func Test_SQLiteDB_SaveLoadDeleteStats(t *testing.T) {

Callers

nothing calls this directly

Calls 5

SaveMethod · 0.95
LoadMethod · 0.95
LoadAllMethod · 0.95
DeleteMethod · 0.95
NewSQLiteDBFunction · 0.85

Tested by

no test coverage detected