Skip to content

Commit f01b66f

Browse files
authored
refactor(storage): Remove decommissioned path for memory store (#313)
1 parent 262d436 commit f01b66f

File tree

11 files changed

+61
-79
lines changed

11 files changed

+61
-79
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.18
44

55
require (
66
github.com/TwiN/g8 v1.3.0
7-
github.com/TwiN/gocache/v2 v2.0.0
7+
github.com/TwiN/gocache/v2 v2.1.0
88
github.com/TwiN/health v1.4.0
99
github.com/coreos/go-oidc/v3 v3.1.0
1010
github.com/go-ping/ping v0.0.0-20210911151512-381826476871

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03
3535
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
3636
github.com/TwiN/g8 v1.3.0 h1:mNv3R35GhDn1gEV0BKMl1oupZ1tDtOWPTHUKu+W/k3U=
3737
github.com/TwiN/g8 v1.3.0/go.mod h1:SiIdItS0agSUloFqdQQt/RObB2jGSq+nnE9WfFv3RIo=
38-
github.com/TwiN/gocache/v2 v2.0.0 h1:CPbDNKdSJpmBkh7aWcO7D3KK1yWaMlwX+3dsBPE8/so=
39-
github.com/TwiN/gocache/v2 v2.0.0/go.mod h1:j4MABVaia2Tp53ERWc/3l4YxkswtPjB2hQzmL/kD/VQ=
38+
github.com/TwiN/gocache/v2 v2.1.0 h1:AJnSX7Sgz22fsO7rdXYQzMQ4zWpMjBKqk70ADeqtLDU=
39+
github.com/TwiN/gocache/v2 v2.1.0/go.mod h1:AKHAFZSwLLmoLm1a2siDOWmZ2RjIKqentRGfOFWkllY=
4040
github.com/TwiN/health v1.4.0 h1:Ts7lb4ihYDpVEbFSGAhSEZTSwuDOADnwJLFngFl4xzw=
4141
github.com/TwiN/health v1.4.0/go.mod h1:CSUh+ryfD2POS2vKtc/yO4IxgR58lKvQ0/8qnoPqPqs=
4242
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=

storage/store/memory/memory.go

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package memory
22

33
import (
4-
"encoding/gob"
54
"sort"
65
"sync"
76
"time"
@@ -13,14 +12,6 @@ import (
1312
"github.com/TwiN/gocache/v2"
1413
)
1514

16-
func init() {
17-
gob.Register(&core.EndpointStatus{})
18-
gob.Register(&core.HourlyUptimeStatistics{})
19-
gob.Register(&core.Uptime{})
20-
gob.Register(&core.Result{})
21-
gob.Register(&core.Event{})
22-
}
23-
2415
// Store that leverages gocache
2516
type Store struct {
2617
sync.RWMutex
@@ -32,7 +23,7 @@ type Store struct {
3223
//
3324
// This store holds everything in memory, and if the file parameter is not blank,
3425
// supports eventual persistence.
35-
func NewStore(file string) (*Store, error) {
26+
func NewStore() (*Store, error) {
3627
store := &Store{
3728
cache: gocache.NewCache().WithMaxSize(gocache.NoMaxSize),
3829
}

storage/store/memory/memory_test.go

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ var (
8282
// Note that are much more extensive tests in /storage/store/store_test.go.
8383
// This test is simply an extra sanity check
8484
func TestStore_SanityCheck(t *testing.T) {
85-
store, _ := NewStore("")
85+
store, _ := NewStore()
8686
defer store.Close()
8787
store.Insert(&testEndpoint, &testSuccessfulResult)
8888
endpointStatuses, _ := store.GetAllEndpointStatuses(paging.NewEndpointStatusParams())
@@ -122,22 +122,14 @@ func TestStore_SanityCheck(t *testing.T) {
122122
}
123123

124124
func TestStore_Save(t *testing.T) {
125-
files := []string{
126-
"",
127-
t.TempDir() + "/test.db",
125+
store, err := NewStore()
126+
if err != nil {
127+
t.Fatal("expected no error, got", err.Error())
128128
}
129-
for _, file := range files {
130-
t.Run(file, func(t *testing.T) {
131-
store, err := NewStore(file)
132-
if err != nil {
133-
t.Fatal("expected no error, got", err.Error())
134-
}
135-
err = store.Save()
136-
if err != nil {
137-
t.Fatal("expected no error, got", err.Error())
138-
}
139-
store.Clear()
140-
store.Close()
141-
})
129+
err = store.Save()
130+
if err != nil {
131+
t.Fatal("expected no error, got", err.Error())
142132
}
133+
store.Clear()
134+
store.Close()
143135
}

storage/store/store.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -110,15 +110,7 @@ func Initialize(cfg *storage.Config) error {
110110
case storage.TypeMemory:
111111
fallthrough
112112
default:
113-
if len(cfg.Path) > 0 {
114-
store, err = memory.NewStore(cfg.Path)
115-
if err != nil {
116-
return err
117-
}
118-
go autoSave(ctx, store, 7*time.Minute)
119-
} else {
120-
store, _ = memory.NewStore("")
121-
}
113+
store, _ = memory.NewStore()
122114
}
123115
return nil
124116
}

storage/store/store_bench_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
)
1313

1414
func BenchmarkStore_GetAllEndpointStatuses(b *testing.B) {
15-
memoryStore, err := memory.NewStore("")
15+
memoryStore, err := memory.NewStore()
1616
if err != nil {
1717
b.Fatal("failed to create store:", err.Error())
1818
}
@@ -81,7 +81,7 @@ func BenchmarkStore_GetAllEndpointStatuses(b *testing.B) {
8181
}
8282

8383
func BenchmarkStore_Insert(b *testing.B) {
84-
memoryStore, err := memory.NewStore("")
84+
memoryStore, err := memory.NewStore()
8585
if err != nil {
8686
b.Fatal("failed to create store:", err.Error())
8787
}
@@ -153,7 +153,7 @@ func BenchmarkStore_Insert(b *testing.B) {
153153
}
154154

155155
func BenchmarkStore_GetEndpointStatusByKey(b *testing.B) {
156-
memoryStore, err := memory.NewStore("")
156+
memoryStore, err := memory.NewStore()
157157
if err != nil {
158158
b.Fatal("failed to create store:", err.Error())
159159
}

storage/store/store_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ type Scenario struct {
8989
}
9090

9191
func initStoresAndBaseScenarios(t *testing.T, testName string) []*Scenario {
92-
memoryStore, err := memory.NewStore("")
92+
memoryStore, err := memory.NewStore()
9393
if err != nil {
9494
t.Fatal("failed to create store:", err.Error())
9595
}
@@ -528,17 +528,17 @@ func TestStore_DeleteAllEndpointStatusesNotInKeys(t *testing.T) {
528528
scenario.Store.Insert(&firstEndpoint, result)
529529
scenario.Store.Insert(&secondEndpoint, result)
530530
if ss, _ := scenario.Store.GetEndpointStatusByKey(firstEndpoint.Key(), paging.NewEndpointStatusParams()); ss == nil {
531-
t.Fatal("firstEndpoint should exist")
531+
t.Fatal("firstEndpoint should exist, got", ss)
532532
}
533533
if ss, _ := scenario.Store.GetEndpointStatusByKey(secondEndpoint.Key(), paging.NewEndpointStatusParams()); ss == nil {
534-
t.Fatal("secondEndpoint should exist")
534+
t.Fatal("secondEndpoint should exist, got", ss)
535535
}
536536
scenario.Store.DeleteAllEndpointStatusesNotInKeys([]string{firstEndpoint.Key()})
537537
if ss, _ := scenario.Store.GetEndpointStatusByKey(firstEndpoint.Key(), paging.NewEndpointStatusParams()); ss == nil {
538-
t.Error("secondEndpoint should've been deleted")
538+
t.Error("secondEndpoint should still exist, got", ss)
539539
}
540540
if ss, _ := scenario.Store.GetEndpointStatusByKey(secondEndpoint.Key(), paging.NewEndpointStatusParams()); ss != nil {
541-
t.Error("firstEndpoint should still exist")
541+
t.Error("firstEndpoint should have been deleted, got", ss)
542542
}
543543
// Delete everything
544544
scenario.Store.DeleteAllEndpointStatusesNotInKeys([]string{})

vendor/github.com/TwiN/gocache/v2/LICENSE.md

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/TwiN/gocache/v2/README.md

Lines changed: 27 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/TwiN/gocache/v2/gocache.go

Lines changed: 9 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)