浏览代码

chore: add more tests (#3084)

Kevin Wan 2 年之前
父节点
当前提交
8d0cceb80c
共有 2 个文件被更改,包括 49 次插入0 次删除
  1. 48 0
      core/bloom/bloom_test.go
  2. 1 0
      rest/handler/timeouthandler.go

+ 48 - 0
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}))
+}

+ 1 - 0
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)
 	}