Skip to content
Snippets Groups Projects
Commit 94d51595 authored by Jono Wenger's avatar Jono Wenger
Browse files

Initialize callbacks in NewStore and fix test

parent 788208be
No related branches found
No related tags found
2 merge requests!67Release,!55fully implemented trial hashing of identity fingerprints. Needs tests.
......@@ -35,6 +35,7 @@ func NewStore(kv *versioned.KV, baseIdentity *id.ID) (*Store, error) {
s := &Store{
kv: kv,
edge: make(map[id.ID]Preimages),
callbacks: make(map[id.ID][]ListUpdateCallBack),
}
defaultPreimages := newPreimages(baseIdentity)
......
......@@ -32,6 +32,7 @@ func TestNewStore(t *testing.T) {
expected := &Store{
kv: kv.Prefix(edgeStorePrefix),
edge: map[id.ID]Preimages{*baseIdentity: newPreimages(baseIdentity)},
callbacks: make(map[id.ID][]ListUpdateCallBack),
}
received, err := NewStore(kv, baseIdentity)
......@@ -62,10 +63,53 @@ func TestStore_Add(t *testing.T) {
{[]byte("ID2"), "default2", []byte("ID2")},
}
// id0Chan := make(chan bool, 2)
// s.callbacks[*identities[0]] = []ListUpdateCallBack{func(identity *id.ID, deleted bool) {
// id0Chan
// }}
id0Chan := make(chan struct {
identity *id.ID
deleted bool
}, 2)
s.callbacks[*identities[0]] = []ListUpdateCallBack{func(identity *id.ID, deleted bool) {
id0Chan <- struct {
identity *id.ID
deleted bool
}{identity: identity, deleted: deleted}
}}
go func() {
for i := 0; i < 2; i++ {
select {
case <-time.NewTimer(10 * time.Millisecond).C:
t.Errorf("Timed out waiting for callback (%d).", i)
case r := <-id0Chan:
if !identities[0].Cmp(r.identity) {
t.Errorf("Received wrong identity (%d).\nexpected: %s"+
"\nreceived: %s", i, identities[0], r.identity)
}
}
}
}()
id1Chan := make(chan struct {
identity *id.ID
deleted bool
})
s.callbacks[*identities[1]] = []ListUpdateCallBack{func(identity *id.ID, deleted bool) {
id1Chan <- struct {
identity *id.ID
deleted bool
}{identity: identity, deleted: deleted}
}}
go func() {
select {
case <-time.NewTimer(10 * time.Millisecond).C:
t.Errorf("Timed out waiting for callback.")
case r := <-id0Chan:
if !identities[0].Cmp(r.identity) {
t.Errorf("Received wrong identity.\nexpected: %s\nreceived: %s",
identities[0], r.identity)
}
}
}()
s.Add(preimages[0], identities[0])
s.Add(preimages[1], identities[1])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment