8
8
// in a happy-path scenario
9
9
'use strict' ;
10
10
11
+ var rewire = require ( 'rewire' ) ;
11
12
var utils = require ( 'fabric-client/lib/utils.js' ) ;
12
13
var logger = utils . getLogger ( 'install' ) ;
13
14
@@ -51,33 +52,33 @@ test('\n\n** Test chaincode install using chaincodePath to create chaincodePacka
51
52
t . end ( ) ;
52
53
}
53
54
} ,
54
- ( err ) => {
55
- t . fail ( 'install reject: ' + err ) ;
56
- t . end ( ) ;
57
- } ) . catch ( ( err ) => {
58
- t . fail ( 'install error. ' + err . stack ? err . stack : err ) ;
59
- t . end ( ) ;
60
- } ) . then ( ( ) => {
61
- params . channelName = params . channelName + '0' ;
62
- params . testDesc = params . testDesc + '0' ;
63
- installChaincode ( params , t )
64
- . then ( ( info ) => {
65
- if ( info && info instanceof Error && info . message . includes ( 'install.' + params . chaincodeVersion + ' exists' ) ) {
66
- t . pass ( 'passed check for exists on install again' ) ;
67
- t . end ( ) ;
68
- } else {
69
- t . fail ( 'failed check for exists on install again' ) ;
70
- t . end ( ) ;
71
- }
72
- } ,
73
- ( err ) => {
74
- t . fail ( 'install reject: ' + err ) ;
75
- t . end ( ) ;
76
- } ) . catch ( ( err ) => {
77
- t . fail ( 'install error. ' + err . stack ? err . stack : err ) ;
78
- t . end ( ) ;
79
- } ) ;
80
- } ) ;
55
+ ( err ) => {
56
+ t . fail ( 'install reject: ' + err ) ;
57
+ t . end ( ) ;
58
+ } ) . catch ( ( err ) => {
59
+ t . fail ( 'install error. ' + err . stack ? err . stack : err ) ;
60
+ t . end ( ) ;
61
+ } ) . then ( ( ) => {
62
+ params . channelName = params . channelName + '0' ;
63
+ params . testDesc = params . testDesc + '0' ;
64
+ installChaincode ( params , t )
65
+ . then ( ( info ) => {
66
+ if ( info && info instanceof Error && info . message . includes ( 'install.' + params . chaincodeVersion + ' exists' ) ) {
67
+ t . pass ( 'passed check for exists on install again' ) ;
68
+ t . end ( ) ;
69
+ } else {
70
+ t . fail ( 'failed check for exists on install again' ) ;
71
+ t . end ( ) ;
72
+ }
73
+ } ,
74
+ ( err ) => {
75
+ t . fail ( 'install reject: ' + err ) ;
76
+ t . end ( ) ;
77
+ } ) . catch ( ( err ) => {
78
+ t . fail ( 'install error. ' + err . stack ? err . stack : err ) ;
79
+ t . end ( ) ;
80
+ } ) ;
81
+ } ) ;
81
82
} ) ;
82
83
83
84
test ( '\n\n** Test chaincode install using chaincodePackage[byte] **\n\n' , ( t ) => {
@@ -86,54 +87,57 @@ test('\n\n** Test chaincode install using chaincodePackage[byte] **\n\n', (t) =>
86
87
testDesc : 'using chaincodePackage' ,
87
88
channelName : 'test-install-package' ,
88
89
chaincodeId : 'install-package' ,
89
- chaincodePath : testUtil . CHAINCODE_PATH + '_pkg' , //not an existing path
90
+ chaincodePath : testUtil . CHAINCODE_PATH ,
90
91
chaincodeVersion : testUtil . getUniqueVersion ( )
91
92
} ;
92
93
93
- Packager . package ( testUtil . CHAINCODE_PATH , null , false ) //use good path here to get data
94
- . then ( ( data ) => {
95
- params . chaincodePackage = data ;
94
+ let _getChaincodeDeploymentSpec = rewire ( 'fabric-client/lib/Client.js' ) . __get__ ( '_getChaincodeDeploymentSpec' ) ;
96
95
96
+ // install from source
97
+ let p = _getChaincodeDeploymentSpec ( params , false )
98
+ . then ( ( cdsBytes ) => {
99
+ params . chaincodePackage = cdsBytes ;
97
100
installChaincode ( params , t )
98
101
. then ( ( info ) => {
99
102
if ( info === 'success' ) {
100
- t . pass ( params . testDesc + ' - success' ) ;
103
+ t . pass ( params . testDesc + ' - success' ) ;
101
104
return true ;
102
105
} else {
103
- t . fail ( params . testDesc + ' - ' + info ) ;
106
+ t . fail ( params . testDesc + ' - ' + info ) ;
104
107
t . end ( ) ;
105
108
}
106
109
} ,
107
- ( err ) => {
108
- t . fail ( params . testDesc + ' - install reject: ' + err ) ;
109
- t . end ( ) ;
110
- } ) . catch ( ( err ) => {
111
- t . fail ( params . testDesc + ' - install error. ' + err . stack ? err . stack : err ) ;
112
- t . end ( ) ;
113
- } ) . then ( ( ) => {
114
- params . channelName = params . channelName + '0' ;
115
- params . testDesc = params . testDesc + '0' ;
116
- installChaincode ( params , t )
117
- . then ( ( info ) => {
118
- if ( info && info instanceof Error && info . message . includes ( 'install-package.' + params . chaincodeVersion + ' exists' ) ) {
119
- t . pass ( 'passed check for exists same code again' ) ;
120
- t . end ( ) ;
121
- } else {
122
- t . fail ( 'failed check for exists same code again' ) ;
123
- t . end ( ) ;
124
- }
125
- } ,
126
- ( err ) => {
127
- t . fail ( params . testDesc + ' - install same chaincode again - reject, error' ) ;
128
- logger . error ( err . stack ? err . stack : err ) ;
129
- t . end ( ) ;
130
- } ) . catch ( ( err ) => {
131
- t . fail ( params . testDesc + ' - install same chaincode again - error' ) ;
132
- logger . error ( err . stack ? err . stack : err ) ;
133
- t . end ( ) ;
134
- } ) ;
135
- } ) ;
110
+ ( err ) => {
111
+ t . fail ( params . testDesc + ' - install reject: ' + err ) ;
112
+ t . end ( ) ;
113
+ } ) . catch ( ( err ) => {
114
+ t . fail ( params . testDesc + ' - install error. ' + err . stack ? err . stack : err ) ;
115
+ t . end ( ) ;
116
+ } ) . then ( ( ) => {
117
+ params . channelName = params . channelName + '0' ;
118
+ params . testDesc = params . testDesc + '0' ;
119
+ installChaincode ( params , t )
120
+ . then ( ( info ) => {
121
+ if ( info && info instanceof Error && info . message . includes ( 'install-package.' + params . chaincodeVersion + ' exists' ) ) {
122
+ t . pass ( 'passed check for exists same code again' ) ;
123
+ t . end ( ) ;
124
+ } else {
125
+ t . fail ( 'failed check for exists same code again' ) ;
126
+ t . end ( ) ;
127
+ }
128
+ } ,
129
+ ( err ) => {
130
+ t . fail ( params . testDesc + ' - install same chaincode again - reject, error' ) ;
131
+ logger . error ( err . stack ? err . stack : err ) ;
132
+ t . end ( ) ;
133
+ } ) . catch ( ( err ) => {
134
+ t . fail ( params . testDesc + ' - install same chaincode again - error' ) ;
135
+ logger . error ( err . stack ? err . stack : err ) ;
136
+ t . end ( ) ;
137
+ } ) ;
138
+ } ) ;
136
139
} ) ;
140
+ t . end ( ) ;
137
141
} ) ;
138
142
139
143
function installChaincode ( params , t ) {
@@ -153,14 +157,14 @@ function installChaincode(params, t) {
153
157
t . pass ( 'Successfully retrieved TLS certificate' ) ;
154
158
tlsInfo = enrollment ;
155
159
client . setTlsClientCertAndKey ( tlsInfo . certificate , tlsInfo . key ) ;
156
- return Client . newDefaultKeyValueStore ( { path : testUtil . storePathForOrg ( orgName ) } ) ;
160
+ return Client . newDefaultKeyValueStore ( { path : testUtil . storePathForOrg ( orgName ) } ) ;
157
161
} ) . then ( ( store ) => {
158
162
client . setStateStore ( store ) ;
159
163
160
164
// get the peer org's admin required to send install chaincode requests
161
165
return testUtil . getSubmitter ( client , t , true /* get peer org admin */ , org ) ;
162
166
} ) . then ( ( ) => {
163
- t . pass ( params . testDesc + ' - Successfully enrolled user \'admin\'' ) ;
167
+ t . pass ( params . testDesc + ' - Successfully enrolled user \'admin\'' ) ;
164
168
165
169
channel . addOrderer (
166
170
client . newOrderer (
@@ -204,38 +208,38 @@ function installChaincode(params, t) {
204
208
205
209
return client . installChaincode ( request ) ;
206
210
} ,
207
- ( err ) => {
208
- t . fail ( params . testDesc + ' - Failed to enroll user \'admin\'. ' + err ) ;
209
- throw new Error ( params . testDesc + ' - Failed to enroll user \'admin\'. ' + err ) ;
210
- } ) . then ( ( results ) => {
211
- var proposalResponses = results [ 0 ] ;
212
-
213
- //var proposal = results[1];
214
- var all_good = true ;
215
- var error = null ;
216
- for ( var i in proposalResponses ) {
217
- let one_good = false ;
218
- if ( proposalResponses && proposalResponses [ i ] . response && proposalResponses [ i ] . response . status === 200 ) {
219
- one_good = true ;
220
- logger . info ( params . testDesc + ' - install proposal was good' ) ;
221
- } else {
222
- logger . error ( params . testDesc + ' - install proposal was bad' ) ;
223
- error = proposalResponses [ i ] ;
211
+ ( err ) => {
212
+ t . fail ( params . testDesc + ' - Failed to enroll user \'admin\'. ' + err ) ;
213
+ throw new Error ( params . testDesc + ' - Failed to enroll user \'admin\'. ' + err ) ;
214
+ } ) . then ( ( results ) => {
215
+ var proposalResponses = results [ 0 ] ;
216
+
217
+ //var proposal = results[1];
218
+ var all_good = true ;
219
+ var error = null ;
220
+ for ( var i in proposalResponses ) {
221
+ let one_good = false ;
222
+ if ( proposalResponses && proposalResponses [ i ] . response && proposalResponses [ i ] . response . status === 200 ) {
223
+ one_good = true ;
224
+ logger . info ( params . testDesc + ' - install proposal was good' ) ;
225
+ } else {
226
+ logger . error ( params . testDesc + ' - install proposal was bad' ) ;
227
+ error = proposalResponses [ i ] ;
228
+ }
229
+ all_good = all_good & one_good ;
224
230
}
225
- all_good = all_good & one_good ;
226
- }
227
- if ( all_good ) {
228
- return 'success' ;
229
- } else {
230
- if ( error ) {
231
- return error ;
231
+ if ( all_good ) {
232
+ return 'success' ;
233
+ } else {
234
+ if ( error ) {
235
+ return error ;
236
+ }
237
+ else return 'fail' ;
232
238
}
233
- else return 'fail' ;
234
- }
235
- } ,
236
- ( err ) => {
237
- return new Error ( err . stack ? err . stack : err ) ;
238
- } ) ;
239
+ } ,
240
+ ( err ) => {
241
+ return new Error ( err . stack ? err . stack : err ) ;
242
+ } ) ;
239
243
} catch ( err ) {
240
244
return Promise . reject ( new Error ( err . stack ? err . stack : err ) ) ;
241
245
}
0 commit comments