From 8d0cceb80ccaa0d90253f2a3a1782f7888750190 Mon Sep 17 00:00:00 2001 From: Kevin Wan Date: Fri, 31 Mar 2023 22:33:43 +0800 Subject: [PATCH] chore: add more tests (#3084) --- core/bloom/bloom_test.go | 48 ++++++++++++++++++++++++++++++++++ rest/handler/timeouthandler.go | 1 + 2 files changed, 49 insertions(+) diff --git a/core/bloom/bloom_test.go b/core/bloom/bloom_test.go index 35bf15c8..f8714b26 100644 --- a/core/bloom/bloom_test.go +++ b/core/bloom/bloom_test.go @@ -53,3 +53,51 @@ func TestRedisBitSet_Add(t *testing.T) { assert.Nil(t, err) assert.True(t, ok) } + +func TestFilter_Exists(t *testing.T) { + store, clean, err := redistest.CreateRedis() + assert.Nil(t, err) + + rbs := New(store, "test", 64) + _, err = rbs.Exists([]byte{0, 1, 2}) + assert.NoError(t, err) + + clean() + rbs = New(store, "test", 64) + _, err = rbs.Exists([]byte{0, 1, 2}) + assert.Error(t, err) +} + +func TestRedisBitSet_check(t *testing.T) { + store, clean, err := redistest.CreateRedis() + assert.Nil(t, err) + + rbs := newRedisBitSet(store, "test", 0) + assert.Error(t, rbs.set([]uint{0, 1, 2})) + _, err = rbs.check([]uint{0, 1, 2}) + assert.Error(t, err) + + rbs = newRedisBitSet(store, "test", 64) + _, err = rbs.check([]uint{0, 1, 2}) + assert.NoError(t, err) + + clean() + rbs = newRedisBitSet(store, "test", 64) + _, err = rbs.check([]uint{0, 1, 2}) + assert.Error(t, err) +} + +func TestRedisBitSet_set(t *testing.T) { + store, clean, err := redistest.CreateRedis() + assert.Nil(t, err) + + rbs := newRedisBitSet(store, "test", 0) + assert.Error(t, rbs.set([]uint{0, 1, 2})) + + rbs = newRedisBitSet(store, "test", 64) + assert.NoError(t, rbs.set([]uint{0, 1, 2})) + + clean() + rbs = newRedisBitSet(store, "test", 64) + assert.Error(t, rbs.set([]uint{0, 1, 2})) +} diff --git a/rest/handler/timeouthandler.go b/rest/handler/timeouthandler.go index b31043a9..40340a2e 100644 --- a/rest/handler/timeouthandler.go +++ b/rest/handler/timeouthandler.go @@ -183,6 +183,7 @@ func (tw *timeoutWriter) writeHeaderLocked(code int) { func (tw *timeoutWriter) WriteHeader(code int) { tw.mu.Lock() defer tw.mu.Unlock() + if !tw.wroteHeader { tw.writeHeaderLocked(code) }