82 lines
2.0 KiB
Go
82 lines
2.0 KiB
Go
/*
|
|
Copyright IBM Corp. All Rights Reserved.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package api
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
|
|
"github.com/hyperledger/fabric/gossip/common"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestPeerIdentitySetByOrg(t *testing.T) {
|
|
p1 := PeerIdentityInfo{
|
|
Organization: OrgIdentityType("ORG1"),
|
|
Identity: PeerIdentityType("Peer1"),
|
|
}
|
|
p2 := PeerIdentityInfo{
|
|
Organization: OrgIdentityType("ORG2"),
|
|
Identity: PeerIdentityType("Peer2"),
|
|
}
|
|
is := PeerIdentitySet{
|
|
p1, p2,
|
|
}
|
|
m := is.ByOrg()
|
|
require.Len(t, m, 2)
|
|
require.Equal(t, PeerIdentitySet{p1}, m["ORG1"])
|
|
require.Equal(t, PeerIdentitySet{p2}, m["ORG2"])
|
|
}
|
|
|
|
func TestPeerIdentitySetByID(t *testing.T) {
|
|
p1 := PeerIdentityInfo{
|
|
Organization: OrgIdentityType("ORG1"),
|
|
PKIId: common.PKIidType("p1"),
|
|
}
|
|
p2 := PeerIdentityInfo{
|
|
Organization: OrgIdentityType("ORG2"),
|
|
PKIId: common.PKIidType("p2"),
|
|
}
|
|
is := PeerIdentitySet{
|
|
p1, p2,
|
|
}
|
|
require.Equal(t, map[string]PeerIdentityInfo{
|
|
"p1": p1,
|
|
"p2": p2,
|
|
}, is.ByID())
|
|
}
|
|
|
|
func TestPeerIdentitySetFilter(t *testing.T) {
|
|
p1 := PeerIdentityInfo{
|
|
Organization: OrgIdentityType("ORG1"),
|
|
PKIId: common.PKIidType("p1"),
|
|
}
|
|
p2 := PeerIdentityInfo{
|
|
Organization: OrgIdentityType("ORG2"),
|
|
PKIId: common.PKIidType("p2"),
|
|
}
|
|
p3 := PeerIdentityInfo{
|
|
Organization: OrgIdentityType("ORG2"),
|
|
PKIId: common.PKIidType("p3"),
|
|
}
|
|
is := PeerIdentitySet{
|
|
p1, p2, p3,
|
|
}
|
|
require.Equal(t, PeerIdentitySet{p1}, is.Filter(func(info PeerIdentityInfo) bool {
|
|
return bytes.Equal(info.Organization, OrgIdentityType("ORG1"))
|
|
}))
|
|
var emptySet PeerIdentitySet
|
|
require.Equal(t, emptySet, is.Filter(func(_ PeerIdentityInfo) bool {
|
|
return false
|
|
}))
|
|
require.Equal(t, PeerIdentitySet{p3}, is.Filter(func(info PeerIdentityInfo) bool {
|
|
return bytes.Equal(info.Organization, OrgIdentityType("ORG2"))
|
|
}).Filter(func(info PeerIdentityInfo) bool {
|
|
return bytes.Equal(info.PKIId, common.PKIidType("p3"))
|
|
}))
|
|
}
|