summaryrefslogtreecommitdiffhomepage
path: root/storage
diff options
context:
space:
mode:
Diffstat (limited to 'storage')
-rw-r--r--storage/dummy.go7
-rw-r--r--storage/dummy_test.go28
2 files changed, 24 insertions, 11 deletions
diff --git a/storage/dummy.go b/storage/dummy.go
index 8ea04bf..2d9d9ac 100644
--- a/storage/dummy.go
+++ b/storage/dummy.go
@@ -4,8 +4,8 @@ var _ CHR = &Dummy{}
// Dummy is a dummy storage device that acts predictably for tests
type Dummy struct {
- collide, healthy bool
- err error
+ collide, found, healthy bool
+ err error
}
// Create is a noop
@@ -33,6 +33,9 @@ func (d *Dummy) Read(key string) (string, error) {
if !d.Healthy() {
err = Unhealthy
}
+ if !d.found {
+ err = NotFound
+ }
return key, err
}
diff --git a/storage/dummy_test.go b/storage/dummy_test.go
index d5aa664..b9959bf 100644
--- a/storage/dummy_test.go
+++ b/storage/dummy_test.go
@@ -12,39 +12,43 @@ func TestDummy(t *testing.T) {
const (
k = "key"
v = "val"
- e = "key"
)
var (
// setup
err = Error("testing error")
- dumC = Dummy{collide: true, healthy: true, err: nil}
- dumE = Dummy{collide: false, healthy: true, err: err}
- dumH = Dummy{collide: false, healthy: false, err: nil}
- dumN = Dummy{collide: false, healthy: true, err: nil}
+ dumC = Dummy{collide: true, found: true, healthy: true, err: nil}
+ dumE = Dummy{collide: false, found: true, healthy: true, err: err}
+ dumF = Dummy{collide: false, found: false, healthy: true, err: nil}
+ dumH = Dummy{collide: false, found: true, healthy: false, err: nil}
+ dumN = Dummy{collide: false, found: true, healthy: true, err: nil}
// ---- TESTS
// Health
hc = dumC.Healthy()
he = dumE.Healthy()
+ hf = dumF.Healthy()
hh = dumH.Healthy()
hn = dumN.Healthy()
// Write - no collisions
wc = dumC.Create(k, v, false)
we = dumE.Create(k, v, false)
+ wf = dumF.Create(k, v, false)
wh = dumH.Create(k, v, false)
wn = dumN.Create(k, v, false)
// Write - collisions
cc = dumC.Create(k, v, true)
ce = dumE.Create(k, v, true)
+ cf = dumF.Create(k, v, true)
ch = dumH.Create(k, v, true)
cn = dumN.Create(k, v, true)
// Read
rc, erc = dumC.Read(k)
re, ere = dumE.Read(k)
+ rf, erf = dumF.Read(k)
rh, erh = dumH.Read(k)
rn, ern = dumN.Read(k)
)
@@ -52,11 +56,13 @@ func TestDummy(t *testing.T) {
assert.True(hc)
assert.True(he)
+ assert.True(hf)
assert.False(hh)
assert.True(hn)
assert.Nil(wc)
assert.NotNil(we)
+ assert.Nil(wf)
assert.NotNil(wh)
assert.Nil(wn)
@@ -65,6 +71,7 @@ func TestDummy(t *testing.T) {
assert.NotNil(cc)
assert.NotNil(ce)
+ assert.Nil(cf)
assert.NotNil(ch)
assert.Nil(cn)
@@ -74,13 +81,16 @@ func TestDummy(t *testing.T) {
assert.Nil(erc)
assert.Nil(ere)
+ assert.NotNil(erf)
assert.NotNil(erh)
assert.Nil(ern)
assert.Equal(Unhealthy, erh)
+ assert.Equal(NotFound, erf)
- assert.Equal(e, rc)
- assert.Equal(e, re)
- assert.Equal(e, rh)
- assert.Equal(e, rn)
+ assert.Equal(k, rc)
+ assert.Equal(k, re)
+ assert.Equal(k, rf)
+ assert.Equal(k, rh)
+ assert.Equal(k, rn)
}