aboutsummaryrefslogtreecommitdiffstats
path: root/rpc/packages_test.go
blob: 037fd78b39ed23ca618482d21bb724f6db2ce459 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package rpc

import (
    "sync"
    "testing"
    "time"
)

func TestFilterClose(t *testing.T) {
    api := &EthereumApi{
        logs:     make(map[int]*logFilter),
        messages: make(map[int]*whisperFilter),
        quit:     make(chan struct{}),
    }

    filterTickerTime = 1
    api.logs[0] = &logFilter{}
    api.messages[0] = &whisperFilter{}
    var wg sync.WaitGroup
    wg.Add(1)
    go api.start()
    go func() {
        select {
        case <-time.After(500 * time.Millisecond):
            api.stop()
            wg.Done()
        }
    }()
    wg.Wait()
    if len(api.logs) != 0 {
        t.Error("expected logs to be empty")
    }

    if len(api.messages) != 0 {
        t.Error("expected messages to be empty")
    }
}