diff options
Diffstat (limited to 'storage/memory_test.go')
| -rw-r--r-- | storage/memory_test.go | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/storage/memory_test.go b/storage/memory_test.go new file mode 100644 index 0000000..fa0666e --- /dev/null +++ b/storage/memory_test.go @@ -0,0 +1,56 @@ +package storage + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestMemory(t *testing.T) { + assert := assert.New(t) + const ( + k = "key" + v1 = "val1" + v2 = "val2" + ) + + m := NewMemory() + + err := m.Create(k, v1, false) + assert.Nil(err) + + err = m.Create(k, v2, false) + assert.Nil(err) + + err = m.Create(k, v1, true) + assert.Equal(Collision, err) + + v, err := m.Read(k) + assert.Nil(err) + assert.Equal(v2, v) + + _, err = m.Read(v1) + assert.NotNil(err) + assert.Equal(NotFound, err) +} + +func TestUnhealthyMemory(t *testing.T) { + assert := assert.New(t) + m := &Memory{} + + var ( + e1 = m.Create("", "", false) + e2 = m.Create("", "", true) + _, e3 = m.Read("") + ) + + assert.NotNil(e1) + assert.NotNil(e2) + assert.NotNil(e3) + + assert.Equal(Unhealthy, e1) + assert.Equal(Unhealthy, e2) + assert.Equal(Unhealthy, e3) + + assert.False(m.Healthy()) +} |
