f8ff9883b0
License: MIT Signed-off-by: Hector Sanjuan <code@hector.link>
77 lines
1.4 KiB
Go
77 lines
1.4 KiB
Go
package adder
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/ipfs/ipfs-cluster/api"
|
|
"github.com/ipfs/ipfs-cluster/test"
|
|
)
|
|
|
|
func TestImporter(t *testing.T) {
|
|
f := test.GetShardingDirSerial(t)
|
|
p := DefaultParams()
|
|
|
|
imp, err := NewImporter(f, p)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
expectedCids := test.ShardingDirCids[:]
|
|
resultCids := make(map[string]struct{})
|
|
|
|
blockHandler := func(ctx context.Context, n *api.NodeWithMeta) (string, error) {
|
|
resultCids[n.Cid] = struct{}{}
|
|
return n.Cid, nil
|
|
}
|
|
|
|
_, err = imp.Run(context.Background(), blockHandler)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
// for i, c := range expectedCids {
|
|
// fmt.Printf("%d: %s\n", i, c)
|
|
// }
|
|
|
|
// for c := range resultCids {
|
|
// fmt.Printf("%s\n", c)
|
|
// }
|
|
|
|
if len(expectedCids) != len(resultCids) {
|
|
t.Fatal("unexpected number of blocks imported")
|
|
}
|
|
|
|
for _, c := range expectedCids {
|
|
_, ok := resultCids[c]
|
|
if !ok {
|
|
t.Fatal("unexpected block emitted:", c)
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
func TestImporter_DoubleStart(t *testing.T) {
|
|
f := test.GetShardingDirSerial(t)
|
|
p := DefaultParams()
|
|
|
|
imp, err := NewImporter(f, p)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
blockHandler := func(ctx context.Context, n *api.NodeWithMeta) (string, error) {
|
|
return "", nil
|
|
}
|
|
|
|
_, err = imp.Run(context.Background(), blockHandler)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
_, err = imp.Run(context.Background(), blockHandler)
|
|
if err == nil {
|
|
t.Fatal("expected an error: cannot run importer twice")
|
|
}
|
|
}
|