33 lines
1.2 KiB
Go
33 lines
1.2 KiB
Go
package client
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
"github.com/ucan-wg/go-ucan/did/didtest"
|
|
"github.com/ucan-wg/go-ucan/pkg/command"
|
|
"github.com/ucan-wg/go-ucan/token/delegation/delegationtest"
|
|
)
|
|
|
|
func TestFindProof(t *testing.T) {
|
|
p := NewPool()
|
|
|
|
for _, bundle := range delegationtest.AllBundles {
|
|
p.AddBundle(bundle)
|
|
}
|
|
|
|
require.Equal(t, delegationtest.ProofAliceBob,
|
|
p.FindProof(delegationtest.NominalCommand, didtest.PersonaBob.DID(), didtest.PersonaAlice.DID()))
|
|
require.Equal(t, delegationtest.ProofAliceBobCarol,
|
|
p.FindProof(delegationtest.NominalCommand, didtest.PersonaCarol.DID(), didtest.PersonaAlice.DID()))
|
|
require.Equal(t, delegationtest.ProofAliceBobCarolDan,
|
|
p.FindProof(delegationtest.NominalCommand, didtest.PersonaDan.DID(), didtest.PersonaAlice.DID()))
|
|
require.Equal(t, delegationtest.ProofAliceBobCarolDanErin,
|
|
p.FindProof(delegationtest.NominalCommand, didtest.PersonaErin.DID(), didtest.PersonaAlice.DID()))
|
|
require.Equal(t, delegationtest.ProofAliceBobCarolDanErinFrank,
|
|
p.FindProof(delegationtest.NominalCommand, didtest.PersonaFrank.DID(), didtest.PersonaAlice.DID()))
|
|
|
|
// wrong command
|
|
require.Empty(t, p.FindProof(command.New("foo"), didtest.PersonaBob.DID(), didtest.PersonaAlice.DID()))
|
|
}
|