summaryrefslogtreecommitdiff
path: root/src/pow/store_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/pow/store_test.go')
-rw-r--r--src/pow/store_test.go52
1 files changed, 0 insertions, 52 deletions
diff --git a/src/pow/store_test.go b/src/pow/store_test.go
deleted file mode 100644
index 324a40c..0000000
--- a/src/pow/store_test.go
+++ /dev/null
@@ -1,52 +0,0 @@
-package pow
-
-import (
- "testing"
- "time"
-
- "github.com/stretchr/testify/assert"
- "github.com/tilinna/clock"
-)
-
-func TestStore(t *testing.T) {
- clock := clock.NewMock(time.Now().Truncate(time.Hour))
- now := clock.Now()
-
- s := NewMemoryStore(clock)
- defer s.Close()
-
- seed := []byte{0}
-
- // mark solved should work
- err := s.MarkSolved(seed, now.Add(time.Second))
- assert.NoError(t, err)
-
- // mark again, should not work
- err = s.MarkSolved(seed, now.Add(time.Hour))
- assert.ErrorIs(t, err, ErrSeedSolved)
-
- // marking a different seed should still work
- seed2 := []byte{1}
- err = s.MarkSolved(seed2, now.Add(inMemStoreGCPeriod*2))
- assert.NoError(t, err)
- err = s.MarkSolved(seed2, now.Add(time.Hour))
- assert.ErrorIs(t, err, ErrSeedSolved)
-
- now = clock.Add(inMemStoreGCPeriod)
- <-s.(*inMemStore).spinLoopCh
-
- // first one should be markable again, second shouldnt
- err = s.MarkSolved(seed, now.Add(time.Second))
- assert.NoError(t, err)
- err = s.MarkSolved(seed2, now.Add(time.Hour))
- assert.ErrorIs(t, err, ErrSeedSolved)
-
- now = clock.Add(inMemStoreGCPeriod)
- <-s.(*inMemStore).spinLoopCh
-
- // now both should be expired
- err = s.MarkSolved(seed, now.Add(time.Second))
- assert.NoError(t, err)
- err = s.MarkSolved(seed2, now.Add(time.Second))
- assert.NoError(t, err)
-}