Skip to content

Commit 3e3d3cd

Browse files
committed
test fix
Signed-off-by: Angelo De Caro <adc@zurich.ibm.com>
1 parent f984524 commit 3e3d3cd

File tree

4 files changed

+42
-2
lines changed

4 files changed

+42
-2
lines changed

token/sdk/dig/sdk.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,8 @@ func (p *SDK) Install() error {
175175
// ttx service
176176
p.Container().Provide(wrapper2.NewTokenManagementServiceProvider, dig.As(new(dep.TokenManagementServiceProvider))),
177177
p.Container().Provide(wrapper2.NewNetworkProvider, dig.As(new(dep.NetworkProvider))),
178-
p.Container().Provide(wrapper2.NewNetworkIdentityProvider, dig.As(new(dep.NetworkIdentityProvider))),
178+
p.Container().Provide(wrapper2.NewNetworkIdentityProvider),
179+
p.Container().Provide(digutils.Identity[*wrapper2.NetworkIdentityProvider](), dig.As(new(dep.NetworkIdentityProvider))),
179180
p.Container().Provide(wrapper2.NewStorageProvider),
180181
p.Container().Provide(digutils.Identity[*tokens.ServiceManager](), dig.As(new(ttx.TokensServiceManager))),
181182
p.Container().Provide(digutils.Identity[*db.OwnerCheckServiceProvider](), dig.As(new(ttx.CheckServiceProvider))),

token/services/ttx/collectendorsements.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ package ttx
88

99
import (
1010
"context"
11+
"encoding/json"
1112
"time"
1213

1314
"github.com/hyperledger-labs/fabric-smart-client/pkg/utils/errors"
@@ -49,6 +50,11 @@ func (sr *SignatureRequest) MessageToSign() []byte {
4950
return sr.Request
5051
}
5152

53+
// Bytes returns the serialization of this struct
54+
func (sr *SignatureRequest) Bytes() ([]byte, error) {
55+
return json.Marshal(sr)
56+
}
57+
5258
type CollectEndorsementsView struct {
5359
tx *Transaction
5460
Opts *EndorsementsOpts

token/services/ttx/endorse_test.go

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import (
1313
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/endpoint"
1414
"github.com/hyperledger-labs/fabric-smart-client/platform/view/view"
1515
"github.com/hyperledger-labs/fabric-token-sdk/token"
16+
"github.com/hyperledger-labs/fabric-token-sdk/token/driver"
17+
"github.com/hyperledger-labs/fabric-token-sdk/token/driver/mock"
1618
"github.com/hyperledger-labs/fabric-token-sdk/token/services/ttx"
1719
mock2 "github.com/hyperledger-labs/fabric-token-sdk/token/services/ttx/dep/mock"
1820
"github.com/hyperledger-labs/fabric-token-sdk/token/services/ttx/dep/tokenapi"
@@ -31,7 +33,7 @@ type TestEndorseViewContext struct {
3133
func newTestEndorseViewContext(t *testing.T) *TestEndorseViewContext {
3234
t.Helper()
3335
session := &mock2.Session{}
34-
ch := make(chan *view.Message, 1)
36+
ch := make(chan *view.Message, 2)
3537
session.ReceiveReturns(ch)
3638
ctx := &mock2.Context{}
3739
ctx.SessionReturns(session)
@@ -45,7 +47,22 @@ func newTestEndorseViewContext(t *testing.T) *TestEndorseViewContext {
4547
Namespace: "a_namespace",
4648
}
4749
tms.IDReturns(tmsID)
50+
51+
tokenDes := &mock.Deserializer{}
52+
tokenIP := &mock.IdentityProvider{}
53+
tokenIP.IsMeReturns(true)
54+
tokenSigner := &mock.Signer{}
55+
tokenSigner.SignReturns([]byte("a_token_sigma"), nil)
56+
tokenIP.GetSignerReturns(tokenSigner, nil)
57+
tms.SigServiceReturns(token.NewSignatureService(tokenDes, tokenIP))
4858
req := token.NewRequest(nil, "an_anchor")
59+
req.Metadata.Issues = []*driver.IssueMetadata{
60+
{
61+
Issuer: driver.AuditableIdentity{
62+
Identity: []byte("an_issuer"),
63+
},
64+
},
65+
}
4966
tms.NewRequestReturns(req, nil)
5067
tokenAPITMS := tokenapi.NewMockedManagementService(t, tmsID)
5168
tms.SetTokenManagementServiceStub = func(arg1 *token.Request) error {
@@ -75,6 +92,7 @@ func newTestEndorseViewContext(t *testing.T) *TestEndorseViewContext {
7592

7693
networkIdentityProvider := &mock2.NetworkIdentityProvider{}
7794
nis := &mock2.NetworkIdentitySigner{}
95+
nis.SignReturns([]byte("a_signature"), nil)
7896
networkIdentityProvider.GetSignerReturns(nis, nil)
7997

8098
ctx = &mock2.Context{}
@@ -89,6 +107,16 @@ func newTestEndorseViewContext(t *testing.T) *TestEndorseViewContext {
89107
txRaw, err := tx.Bytes()
90108
require.NoError(t, err)
91109

110+
// first the signature request
111+
signatureRequest := &ttx.SignatureRequest{
112+
Signer: []byte("an_issuer"),
113+
}
114+
signatureRequestRaw, err := signatureRequest.Bytes()
115+
require.NoError(t, err)
116+
ch <- &view.Message{
117+
Payload: signatureRequestRaw,
118+
}
119+
// then the transaction
92120
ch <- &view.Message{
93121
Payload: txRaw,
94122
}

token/sig.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ type SignatureService struct {
2929
identityProvider driver.IdentityProvider
3030
}
3131

32+
// NewSignatureService returns a instance of SignatureService
33+
func NewSignatureService(deserializer driver.Deserializer, identityProvider driver.IdentityProvider) *SignatureService {
34+
return &SignatureService{deserializer: deserializer, identityProvider: identityProvider}
35+
}
36+
3237
// AuditorVerifier returns a signature verifier for the given auditor identity
3338
func (s *SignatureService) AuditorVerifier(ctx context.Context, id Identity) (Verifier, error) {
3439
return s.deserializer.GetAuditorVerifier(ctx, id)

0 commit comments

Comments
 (0)