@@ -32,11 +32,12 @@ func clock() time.Time {
32
32
33
33
var _ = Describe ("Prover" , func () {
34
34
var (
35
- fakePolicyChecker * mock.PolicyChecker
36
- fakeMarshaler * mock.Marshaler
37
- fakeIssuer * mock.Issuer
38
- fakeTransactor * mock.Transactor
39
- fakeTMSManager * mock.TMSManager
35
+ fakeCapabilityChecker * mock.CapabilityChecker
36
+ fakePolicyChecker * mock.PolicyChecker
37
+ fakeMarshaler * mock.Marshaler
38
+ fakeIssuer * mock.Issuer
39
+ fakeTransactor * mock.Transactor
40
+ fakeTMSManager * mock.TMSManager
40
41
41
42
prover * server.Prover
42
43
@@ -59,6 +60,8 @@ var _ = Describe("Prover", func() {
59
60
)
60
61
61
62
BeforeEach (func () {
63
+ fakeCapabilityChecker = & mock.CapabilityChecker {}
64
+ fakeCapabilityChecker .FabTokenReturns (true , nil )
62
65
fakePolicyChecker = & mock.PolicyChecker {}
63
66
64
67
tokenTransaction = & token.TokenTransaction {
@@ -138,9 +141,10 @@ var _ = Describe("Prover", func() {
138
141
fakeMarshaler .MarshalCommandResponseReturns (marshaledResponse , nil )
139
142
140
143
prover = & server.Prover {
141
- PolicyChecker : fakePolicyChecker ,
142
- Marshaler : fakeMarshaler ,
143
- TMSManager : fakeTMSManager ,
144
+ CapabilityChecker : fakeCapabilityChecker ,
145
+ PolicyChecker : fakePolicyChecker ,
146
+ Marshaler : fakeMarshaler ,
147
+ TMSManager : fakeTMSManager ,
144
148
}
145
149
146
150
importRequest = & token.ImportRequest {
@@ -342,6 +346,25 @@ var _ = Describe("Prover", func() {
342
346
}))
343
347
})
344
348
})
349
+
350
+ Context ("when fabtoken capability is not enabled" , func () {
351
+ BeforeEach (func () {
352
+ fakeCapabilityChecker .FabTokenReturns (false , nil )
353
+ })
354
+
355
+ It ("returns a response with error" , func () {
356
+ resp , err := prover .ProcessCommand (context .Background (), signedCommand )
357
+ Expect (err ).NotTo (HaveOccurred ())
358
+ Expect (resp ).To (Equal (marshaledResponse ))
359
+
360
+ Expect (fakeMarshaler .MarshalCommandResponseCallCount ()).To (Equal (1 ))
361
+ cmd , payload := fakeMarshaler .MarshalCommandResponseArgsForCall (0 )
362
+ Expect (cmd ).To (Equal (ProtoMarshal (command )))
363
+ Expect (payload ).To (Equal (& token.CommandResponse_Err {
364
+ Err : & token.Error {Message : "FabToken capability not enabled for channel channel-id" },
365
+ }))
366
+ })
367
+ })
345
368
})
346
369
347
370
Describe ("ProcessCommand_RequestImport" , func () {
@@ -624,9 +647,10 @@ var _ = Describe("Prover", func() {
624
647
625
648
BeforeEach (func () {
626
649
prover = & server.Prover {
627
- PolicyChecker : fakePolicyChecker ,
628
- Marshaler : fakeMarshaler ,
629
- TMSManager : manager ,
650
+ CapabilityChecker : fakeCapabilityChecker ,
651
+ PolicyChecker : fakePolicyChecker ,
652
+ Marshaler : fakeMarshaler ,
653
+ TMSManager : manager ,
630
654
}
631
655
importRequest = & token.ImportRequest {
632
656
Credential : []byte ("credential" ),
@@ -726,11 +750,7 @@ var _ = Describe("Prover", func() {
726
750
fakeSignerIdentity .SignReturns ([]byte ("response_signature" ), nil )
727
751
marshaler , _ = server .NewResponseMarshaler (fakeSignerIdentity )
728
752
729
- prover = & server.Prover {
730
- PolicyChecker : fakePolicyChecker ,
731
- Marshaler : marshaler ,
732
- TMSManager : manager ,
733
- }
753
+ prover .Marshaler = marshaler
734
754
735
755
// start grpc server for prover
736
756
listener , err := net .Listen ("tcp" , "127.0.0.1:" )
@@ -846,6 +866,8 @@ var _ = Describe("ProverListUnspentTokens", func() {
846
866
fakeIterator := & mock2.ResultsIterator {}
847
867
fakePolicyChecker := & mock.PolicyChecker {}
848
868
fakeSigner := & mock.SignerIdentity {}
869
+ fakeCapabilityChecker := & mock.CapabilityChecker {}
870
+ fakeCapabilityChecker .FabTokenReturns (true , nil )
849
871
850
872
fakeLedgerReader := & mock2.LedgerReader {}
851
873
fakeLedgerManager := & mock2.LedgerManager {}
@@ -855,9 +877,10 @@ var _ = Describe("ProverListUnspentTokens", func() {
855
877
marshaler = & server.ResponseMarshaler {Signer : fakeSigner , Creator : []byte ("Alice" ), Time : clock }
856
878
857
879
prover = & server.Prover {
858
- Marshaler : marshaler ,
859
- PolicyChecker : fakePolicyChecker ,
860
- TMSManager : manager ,
880
+ CapabilityChecker : fakeCapabilityChecker ,
881
+ Marshaler : marshaler ,
882
+ PolicyChecker : fakePolicyChecker ,
883
+ TMSManager : manager ,
861
884
}
862
885
863
886
fakeLedgerReader .GetStateRangeScanIteratorReturns (fakeIterator , nil )
@@ -964,13 +987,14 @@ var _ = Describe("ProverListUnspentTokens", func() {
964
987
965
988
var _ = Describe ("Prover Transfer using TMS" , func () {
966
989
var (
967
- prover * server.Prover
968
- marshaler * server.ResponseMarshaler
969
- expectedResponse * token.CommandResponse_TokenTransaction
970
- command * token.Command
971
- signedCommand * token.SignedCommand
972
- marshaledCommand []byte
973
- transferRequest * token.TransferRequest
990
+ fakeCapabilityChecker * mock.CapabilityChecker
991
+ prover * server.Prover
992
+ marshaler * server.ResponseMarshaler
993
+ expectedResponse * token.CommandResponse_TokenTransaction
994
+ command * token.Command
995
+ signedCommand * token.SignedCommand
996
+ marshaledCommand []byte
997
+ transferRequest * token.TransferRequest
974
998
)
975
999
It ("initializes variables and expected responses" , func () {
976
1000
@@ -1036,6 +1060,8 @@ var _ = Describe("Prover Transfer using TMS", func() {
1036
1060
inTokens [1 ], err = proto .Marshal (& token.PlainOutput {Owner : []byte ("Alice" ), Type : "XYZ" , Quantity : 200 })
1037
1061
Expect (err ).NotTo (HaveOccurred ())
1038
1062
1063
+ fakeCapabilityChecker = & mock.CapabilityChecker {}
1064
+ fakeCapabilityChecker .FabTokenReturns (true , nil )
1039
1065
fakePolicyChecker := & mock.PolicyChecker {}
1040
1066
fakeSigner := & mock.SignerIdentity {}
1041
1067
fakeLedgerReader := & mock2.LedgerReader {}
@@ -1045,9 +1071,10 @@ var _ = Describe("Prover Transfer using TMS", func() {
1045
1071
marshaler = & server.ResponseMarshaler {Signer : fakeSigner , Creator : []byte ("creator" ), Time : clock }
1046
1072
1047
1073
prover = & server.Prover {
1048
- Marshaler : marshaler ,
1049
- PolicyChecker : fakePolicyChecker ,
1050
- TMSManager : manager ,
1074
+ CapabilityChecker : fakeCapabilityChecker ,
1075
+ Marshaler : marshaler ,
1076
+ PolicyChecker : fakePolicyChecker ,
1077
+ TMSManager : manager ,
1051
1078
}
1052
1079
1053
1080
fakeSigner .SignReturns ([]byte ("it is a signature" ), nil )
0 commit comments