From dc3c67086d2e5655330e7c336fbb2706dbcf602f Mon Sep 17 00:00:00 2001 From: SamMayWork Date: Fri, 20 Sep 2024 09:42:55 +0100 Subject: [PATCH] fix: UTs and patch another hole Signed-off-by: SamMayWork --- internal/contracts/manager_test.go | 27 +++++++++++++++++++++++++++ internal/definitions/sender.go | 6 +++++- internal/definitions/sender_test.go | 20 ++++++++++++++++++++ 3 files changed, 52 insertions(+), 1 deletion(-) diff --git a/internal/contracts/manager_test.go b/internal/contracts/manager_test.go index d022d3157..4455f1368 100644 --- a/internal/contracts/manager_test.go +++ b/internal/contracts/manager_test.go @@ -98,6 +98,33 @@ func TestName(t *testing.T) { assert.Equal(t, "ContractManager", cm.Name()) } +func TestNewContractManagerVerifyListenersFails(t *testing.T) { + mdi := &databasemocks.Plugin{} + mdm := &datamocks.Manager{} + mbm := &broadcastmocks.Manager{} + mpm := &privatemessagingmocks.Manager{} + mbp := &batchmocks.Manager{} + mim := &identitymanagermocks.Manager{} + mbi := &blockchainmocks.Plugin{} + mom := &operationmocks.Manager{} + txw := &txwritermocks.Writer{} + cmi := &cachemocks.Manager{} + msa := &syncasyncmocks.Bridge{} + + ctx := context.Background() + + cmi.On("GetCache", mock.Anything).Return(cache.NewUmanagedCache(ctx, 100, 5*time.Minute), nil) + txHelper, _ := txcommon.NewTransactionHelper(ctx, "ns1", mdi, mdm, cmi) + mbi.On("GetFFIParamValidator", mock.Anything).Return(nil, nil) + mom.On("RegisterHandler", mock.Anything, mock.Anything, mock.Anything) + mbi.On("Name").Return("mockblockchain").Maybe() + mdi.On("GetContractListeners", mock.Anything, "ns1", mock.Anything).Return(nil, nil, fmt.Errorf("KABOOM!")).Once() + + cm, err := NewContractManager(context.Background(), "ns1", mdi, mbi, mdm, mbm, mpm, mbp, mim, mom, txHelper, txw, msa, cmi) + assert.Nil(t, cm) + assert.NotNil(t, err) +} + func TestNewContractManagerFFISchemaLoaderFail(t *testing.T) { mdi := &databasemocks.Plugin{} mdm := &datamocks.Manager{} diff --git a/internal/definitions/sender.go b/internal/definitions/sender.go index 3d998c3a8..7423d2006 100644 --- a/internal/definitions/sender.go +++ b/internal/definitions/sender.go @@ -93,8 +93,12 @@ func NewDefinitionSender(ctx context.Context, ns *core.Namespace, multiparty boo tokenBroadcastNames: tokenBroadcastNames, } dh, err := newDefinitionHandler(ctx, ns, multiparty, di, bi, dx, dm, im, am, cm, reverseMap(tokenBroadcastNames)) + if err != nil { + return nil, nil, err + } + ds.handler = dh - return ds, dh, err + return ds, dh, nil } // reverseMap reverses the key/values of a given map diff --git a/internal/definitions/sender_test.go b/internal/definitions/sender_test.go index b7a8f4149..8eb0bc587 100644 --- a/internal/definitions/sender_test.go +++ b/internal/definitions/sender_test.go @@ -105,6 +105,26 @@ func TestInitSenderFail(t *testing.T) { assert.Regexp(t, "FF10128", err) } +func TestNewDefinitionSenderHandlerThrows(t *testing.T) { + mdi := &databasemocks.Plugin{} + mbi := &blockchainmocks.Plugin{} + mdx := &dataexchangemocks.Plugin{} + mbm := &broadcastmocks.Manager{} + mim := &identitymanagermocks.Manager{} + mdm := &datamocks.Manager{} + mcm := &contractmocks.Manager{} + + tokenBroadcastNames := make(map[string]string) + tokenBroadcastNames["connector1"] = "remote1" + + ctx := context.Background() + ns := &core.Namespace{Name: "ns1", NetworkName: "ns1"} + ds, dh, err := NewDefinitionSender(ctx, ns, false, mdi, mbi, mdx, mbm, mim, mdm, nil, mcm, tokenBroadcastNames) + assert.Nil(t, ds) + assert.Nil(t, dh) + assert.NotNil(t, err) +} + func TestName(t *testing.T) { ds := newTestDefinitionSender(t) defer ds.cleanup(t)