mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-21 10:27:46 +08:00
Additional provider tests
License: MIT Signed-off-by: Erik Ingenito <erik@carbonfive.com>
This commit is contained in:
parent
906d2bd093
commit
09cc62ebdf
@ -19,6 +19,15 @@ type mockRouting struct {
|
||||
provided chan cid.Cid
|
||||
}
|
||||
|
||||
func (r *mockRouting) Provide(ctx context.Context, cid cid.Cid, recursive bool) error {
|
||||
r.provided <- cid
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *mockRouting) FindProvidersAsync(ctx context.Context, cid cid.Cid, timeout int) <-chan pstore.PeerInfo {
|
||||
return nil
|
||||
}
|
||||
|
||||
func mockContentRouting() *mockRouting {
|
||||
r := mockRouting{}
|
||||
r.provided = make(chan cid.Cid)
|
||||
@ -68,13 +77,3 @@ func TestAnnouncement(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (r *mockRouting) Provide(ctx context.Context, cid cid.Cid, recursive bool) error {
|
||||
r.provided <- cid
|
||||
return nil
|
||||
}
|
||||
|
||||
// Search for peers who are able to provide a given key
|
||||
func (r *mockRouting) FindProvidersAsync(ctx context.Context, cid cid.Cid, timeout int) <-chan pstore.PeerInfo {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -52,6 +52,58 @@ func TestBasicOperation(t *testing.T) {
|
||||
assertOrdered(cids, queue, t)
|
||||
}
|
||||
|
||||
func TestSparseDatastore(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
defer ctx.Done()
|
||||
|
||||
ds := sync.MutexWrap(datastore.NewMapDatastore())
|
||||
queue, err := NewQueue(ctx, "test", ds)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
cids := makeCids(10)
|
||||
for _, c := range cids {
|
||||
queue.Enqueue(c)
|
||||
}
|
||||
|
||||
// remove entries in the middle
|
||||
err = queue.ds.Delete(queue.queueKey(5))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
err = queue.ds.Delete(queue.queueKey(6))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
expected := append(cids[:5], cids[7:]...)
|
||||
assertOrdered(expected, queue, t)
|
||||
}
|
||||
|
||||
func TestMangledData(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
defer ctx.Done()
|
||||
|
||||
ds := sync.MutexWrap(datastore.NewMapDatastore())
|
||||
queue, err := NewQueue(ctx, "test", ds)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
cids := makeCids(10)
|
||||
for _, c := range cids {
|
||||
queue.Enqueue(c)
|
||||
}
|
||||
|
||||
// remove entries in the middle
|
||||
err = queue.ds.Put(queue.queueKey(5), []byte("borked"))
|
||||
|
||||
expected := append(cids[:5], cids[6:]...)
|
||||
assertOrdered(expected, queue, t)
|
||||
}
|
||||
|
||||
func TestInitialization(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
defer ctx.Done()
|
||||
@ -63,7 +115,6 @@ func TestInitialization(t *testing.T) {
|
||||
}
|
||||
|
||||
cids := makeCids(10)
|
||||
|
||||
for _, c := range cids {
|
||||
queue.Enqueue(c)
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user