5d0816430f
* rename pkg/linksharing to linksharing * rename pkg/httpserver to linksharing/httpserver * rename pkg/eestream to uplink/eestream * rename pkg/stream to uplink/stream * rename pkg/metainfo/kvmetainfo to uplink/metainfo/kvmetainfo * rename pkg/auth/signing to pkg/signing * rename pkg/storage to uplink/storage * rename pkg/accounting to satellite/accounting * rename pkg/audit to satellite/audit * rename pkg/certdb to satellite/certdb * rename pkg/discovery to satellite/discovery * rename pkg/overlay to satellite/overlay * rename pkg/datarepair to satellite/repair
47 lines
1.4 KiB
Go
47 lines
1.4 KiB
Go
// Copyright (C) 2019 Storj Labs, Inc.
|
|
// See LICENSE for copying information.
|
|
|
|
package ecclient
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"storj.io/storj/internal/teststorj"
|
|
"storj.io/storj/pkg/pb"
|
|
)
|
|
|
|
func TestUnique(t *testing.T) {
|
|
limits := make([]*pb.AddressedOrderLimit, 4)
|
|
for i := 0; i < len(limits); i++ {
|
|
limits[i] = &pb.AddressedOrderLimit{
|
|
Limit: &pb.OrderLimit{
|
|
StorageNodeId: teststorj.NodeIDFromString(fmt.Sprintf("node-%d", i)),
|
|
},
|
|
}
|
|
}
|
|
|
|
for i, tt := range []struct {
|
|
limits []*pb.AddressedOrderLimit
|
|
unique bool
|
|
}{
|
|
{nil, true},
|
|
{[]*pb.AddressedOrderLimit{}, true},
|
|
{[]*pb.AddressedOrderLimit{limits[0]}, true},
|
|
{[]*pb.AddressedOrderLimit{limits[0], limits[1]}, true},
|
|
{[]*pb.AddressedOrderLimit{limits[0], limits[0]}, false},
|
|
{[]*pb.AddressedOrderLimit{limits[0], limits[1], limits[0]}, false},
|
|
{[]*pb.AddressedOrderLimit{limits[1], limits[0], limits[0]}, false},
|
|
{[]*pb.AddressedOrderLimit{limits[0], limits[0], limits[1]}, false},
|
|
{[]*pb.AddressedOrderLimit{limits[2], limits[0], limits[1]}, true},
|
|
{[]*pb.AddressedOrderLimit{limits[2], limits[0], limits[3], limits[1]}, true},
|
|
{[]*pb.AddressedOrderLimit{limits[2], limits[0], limits[2], limits[1]}, false},
|
|
{[]*pb.AddressedOrderLimit{limits[1], limits[0], limits[3], limits[1]}, false},
|
|
} {
|
|
errTag := fmt.Sprintf("Test case #%d", i)
|
|
assert.Equal(t, tt.unique, unique(tt.limits), errTag)
|
|
}
|
|
}
|