You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
554 B
30 lines
554 B
package fanout
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestFanout_Do(t *testing.T) {
|
|
ca := New("cache", Worker(1), Buffer(1024))
|
|
var run bool
|
|
ca.Do(context.Background(), func(c context.Context) {
|
|
run = true
|
|
panic("error")
|
|
})
|
|
time.Sleep(time.Millisecond * 50)
|
|
t.Log("not panic")
|
|
if !run {
|
|
t.Fatal("expect run be true")
|
|
}
|
|
}
|
|
|
|
func TestFanout_Close(t *testing.T) {
|
|
ca := New("cache", Worker(1), Buffer(1024))
|
|
ca.Close()
|
|
err := ca.Do(context.Background(), func(c context.Context) {})
|
|
if err == nil {
|
|
t.Fatal("expect get err")
|
|
}
|
|
}
|
|
|