Skip to content

Commit

Permalink
unit tests for get current multi signer fail
Browse files Browse the repository at this point in the history
  • Loading branch information
ssd04 committed Aug 2, 2022
1 parent aac70c1 commit 67ed8dd
Showing 1 changed file with 84 additions and 2 deletions.
86 changes: 84 additions & 2 deletions consensus/signing/signing_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"testing"

"github.com/ElrondNetwork/elrond-go-core/core/check"
crypto "github.com/ElrondNetwork/elrond-go-crypto"
"github.com/ElrondNetwork/elrond-go/consensus/signing"
"github.com/ElrondNetwork/elrond-go/testscommon/cryptoMocks"
"github.com/stretchr/testify/require"
Expand Down Expand Up @@ -241,7 +242,26 @@ func TestSignatureHolder_VerifySignatureShare(t *testing.T) {
require.Equal(t, expectedErr, err)
})

t.Run("signature share verification failed", func(t *testing.T) {
t.Run("failed to get current multi signer", func(t *testing.T) {
t.Parallel()

args := createMockArgsSignatureHolder()
args.PubKeys = []string{"pk1", "pk2"}

expectedErr := errors.New("expected error")
args.MultiSignerContainer = &cryptoMocks.MultiSignerContainerStub{
GetMultiSignerCalled: func(epoch uint32) (crypto.MultiSigner, error) {
return nil, expectedErr
},
}

signer, _ := signing.NewSignatureHolder(args)

err := signer.VerifySignatureShare(uint16(1), []byte("sigShare"), msg, epoch)
require.Equal(t, expectedErr, err)
})

t.Run("should work", func(t *testing.T) {
t.Parallel()

args := createMockArgsSignatureHolder()
Expand Down Expand Up @@ -276,6 +296,25 @@ func TestSignatureHolder_StoreSignatureShare(t *testing.T) {
require.Equal(t, signing.ErrIndexOutOfBounds, err)
})

t.Run("failed to get current multi signer", func(t *testing.T) {
t.Parallel()

args := createMockArgsSignatureHolder()

expectedErr := errors.New("expected error")
args.MultiSignerContainer = &cryptoMocks.MultiSignerContainerStub{
GetMultiSignerCalled: func(epoch uint32) (crypto.MultiSigner, error) {
return nil, expectedErr
},
}

signer, _ := signing.NewSignatureHolder(args)

sigShare, err := signer.CreateSignatureShare(msg, uint16(0), epoch)
require.Nil(t, sigShare)
require.Equal(t, expectedErr, err)
})

t.Run("should work", func(t *testing.T) {
t.Parallel()

Expand Down Expand Up @@ -394,7 +433,7 @@ func TestSignatureHolder_AggregateSigs(t *testing.T) {
require.Equal(t, signing.ErrBitmapMismatch, err)
})

t.Run("should work", func(t *testing.T) {
t.Run("failed to get aggregated sig", func(t *testing.T) {
t.Parallel()

bitmap := make([]byte, 1)
Expand Down Expand Up @@ -422,6 +461,28 @@ func TestSignatureHolder_AggregateSigs(t *testing.T) {
require.Equal(t, expectedErr, err)
})

t.Run("failed to get current multi signer", func(t *testing.T) {
t.Parallel()

bitmap := make([]byte, 1)
bitmap[0] = 0x07

args := createMockArgsSignatureHolder()

expectedErr := errors.New("expected error")
args.MultiSignerContainer = &cryptoMocks.MultiSignerContainerStub{
GetMultiSignerCalled: func(epoch uint32) (crypto.MultiSigner, error) {
return nil, expectedErr
},
}

signer, _ := signing.NewSignatureHolder(args)

aggSig, err := signer.AggregateSigs(bitmap, epoch)
require.Nil(t, aggSig)
require.Equal(t, expectedErr, err)
})

t.Run("should work", func(t *testing.T) {
t.Parallel()

Expand Down Expand Up @@ -510,6 +571,27 @@ func TestSignatureHolder_Verify(t *testing.T) {
require.Equal(t, expectedErr, err)
})

t.Run("failed to get current multi signer", func(t *testing.T) {
t.Parallel()

bitmap := make([]byte, 1)
bitmap[0] = 0x07

args := createMockArgsSignatureHolder()

expectedErr := errors.New("expected error")
args.MultiSignerContainer = &cryptoMocks.MultiSignerContainerStub{
GetMultiSignerCalled: func(epoch uint32) (crypto.MultiSigner, error) {
return nil, expectedErr
},
}

signer, _ := signing.NewSignatureHolder(args)

err := signer.Verify(message, bitmap, epoch)
require.Equal(t, expectedErr, err)
})

t.Run("should work", func(t *testing.T) {
t.Parallel()

Expand Down

0 comments on commit 67ed8dd

Please sign in to comment.