@@ -17,7 +17,7 @@ describe("buildStop", () => {
17
17
let body = testObjects . buildStopSampleBody ;
18
18
let bsConfig = testObjects . sampleBsConfig ;
19
19
20
- describe ( "Handle API deprecated " , ( ) => {
20
+ describe ( "Handle API success " , ( ) => {
21
21
var sandbox ;
22
22
23
23
beforeEach ( ( ) => {
@@ -34,296 +34,36 @@ describe("buildStop", () => {
34
34
} ) ;
35
35
getErrorCodeFromErrStub = sandbox . stub ( ) . returns ( "random-error" ) ;
36
36
setDefaultsStub = sandbox . stub ( ) ;
37
+ stopBrowserStackBuildStub = sandbox . stub ( ) . returns ( Promise . reject ( true ) ) ;
37
38
} ) ;
38
39
39
40
afterEach ( ( ) => {
40
41
sandbox . restore ( ) ;
41
42
sinon . restore ( ) ;
42
43
} ) ;
43
44
44
- it ( "message thrown if API deprecated" , ( ) => {
45
- let message = Constants . userMessages . API_DEPRECATED ;
46
- let messageType = Constants . messageTypes . INFO ;
47
- let errorCode = "api_deprecated" ;
48
-
49
- let requestStub = sandbox
50
- . stub ( request , "post" )
51
- . yields ( null , { statusCode : 299 } , null ) ;
52
-
53
- const stop = proxyquire ( '../../../../bin/commands/stop' , {
54
- '../helpers/utils' : {
55
- validateBstackJson : validateBstackJsonStub ,
56
- setUsername : setUsernameStub ,
57
- setAccessKey : setAccessKeyStub ,
58
- getErrorCodeFromErr : getErrorCodeFromErrStub ,
59
- sendUsageReport : sendUsageReportStub ,
60
- setUsageReportingFlag : setUsageReportingFlagStub ,
61
- setCypressConfigFilename : setCypressConfigFilenameStub ,
62
- getUserAgent : getUserAgentStub ,
63
- getConfigPath : getConfigPathStub ,
64
- setDefaults : setDefaultsStub
65
- } ,
66
- request : { post : requestStub } ,
67
- } ) ;
68
-
69
- validateBstackJsonStub . returns ( Promise . resolve ( bsConfig ) ) ;
70
-
71
- return stop ( args )
72
- . then ( function ( _bsConfig ) {
73
- sinon . assert . calledOnce ( requestStub ) ;
74
- sinon . assert . calledOnce ( getUserAgentStub ) ;
75
- sinon . assert . calledOnceWithExactly ( sendUsageReportStub , bsConfig , args , message , messageType , errorCode ) ;
76
- } )
77
- . catch ( ( error ) => {
78
- chai . assert . isNotOk ( error , "Promise error" ) ;
79
- } ) ;
80
- } ) ;
81
-
82
- it ( "message thrown if build returned" , ( ) => {
83
- let message = body . message ;
84
- let messageType = Constants . messageTypes . INFO ;
85
- let errorCode = "api_deprecated" ;
86
-
87
- let requestStub = sandbox
88
- . stub ( request , "post" )
89
- . yields ( null , { statusCode : 299 } , JSON . stringify ( body ) ) ;
90
-
91
- const stop = proxyquire ( '../../../../bin/commands/stop' , {
92
- '../helpers/utils' : {
93
- validateBstackJson : validateBstackJsonStub ,
94
- getErrorCodeFromErr : getErrorCodeFromErrStub ,
95
- setUsername : setUsernameStub ,
96
- setAccessKey : setAccessKeyStub ,
97
- sendUsageReport : sendUsageReportStub ,
98
- setUsageReportingFlag : setUsageReportingFlagStub ,
99
- setCypressConfigFilename : setCypressConfigFilenameStub ,
100
- getUserAgent : getUserAgentStub ,
101
- getConfigPath : getConfigPathStub ,
102
- setDefaults : setDefaultsStub
103
- } ,
104
- request : { post : requestStub } ,
105
- } ) ;
106
-
107
- validateBstackJsonStub . returns ( Promise . resolve ( bsConfig ) ) ;
108
-
109
- return stop ( args )
110
- . then ( function ( _bsConfig ) {
111
- sinon . assert . calledOnce ( requestStub ) ;
112
- sinon . assert . calledOnce ( getUserAgentStub ) ;
113
- sinon . assert . calledOnceWithExactly ( sendUsageReportStub , bsConfig , args , message , messageType , errorCode ) ;
114
- } )
115
- . catch ( ( error ) => {
116
- chai . assert . isNotOk ( error , "Promise error" ) ;
117
- } ) ;
118
- } ) ;
119
- } ) ;
120
-
121
- describe ( "Handle statusCode != 200" , ( ) => {
122
- beforeEach ( ( ) => {
123
- sandbox = sinon . createSandbox ( ) ;
124
- setUsernameStub = sandbox . stub ( ) ;
125
- setAccessKeyStub = sandbox . stub ( ) ;
126
- validateBstackJsonStub = sandbox . stub ( ) ;
127
- getConfigPathStub = sandbox . stub ( ) ;
128
- setUsageReportingFlagStub = sandbox . stub ( ) . returns ( undefined ) ;
129
- setCypressConfigFilenameStub = sandbox . stub ( ) . returns ( undefined ) ;
130
- getUserAgentStub = sandbox . stub ( ) . returns ( "random user-agent" ) ;
131
- sendUsageReportStub = sandbox . stub ( ) . callsFake ( function ( ) {
132
- return "end" ;
133
- } ) ;
134
- getErrorCodeFromErrStub = sandbox . stub ( ) . returns ( "random-error" ) ;
135
- setDefaultsStub = sandbox . stub ( ) ;
136
- } ) ;
137
-
138
- afterEach ( ( ) => {
139
- sandbox . restore ( ) ;
140
- sinon . restore ( ) ;
141
- } ) ;
142
-
143
- it ( "message thrown if statusCode != 200" , ( ) => {
144
- let message = Constants . userMessages . BUILD_STOP_FAILED ;
145
- let messageType = Constants . messageTypes . ERROR ;
146
- let errorCode = "api_failed_build_stop" ;
147
-
148
- let requestStub = sinon
149
- . stub ( request , "post" )
150
- . yields ( null , { statusCode : 400 } , null ) ;
151
-
152
- const stop = proxyquire ( '../../../../bin/commands/stop' , {
153
- '../helpers/utils' : {
154
- validateBstackJson : validateBstackJsonStub ,
155
- getErrorCodeFromErr : getErrorCodeFromErrStub ,
156
- sendUsageReport : sendUsageReportStub ,
157
- setUsername : setUsernameStub ,
158
- setAccessKey : setAccessKeyStub ,
159
- setUsageReportingFlag : setUsageReportingFlagStub ,
160
- setCypressConfigFilename : setCypressConfigFilenameStub ,
161
- getUserAgent : getUserAgentStub ,
162
- getConfigPath : getConfigPathStub ,
163
- setDefaults : setDefaultsStub
164
- } ,
165
- request : { post : requestStub } ,
166
- } ) ;
167
-
168
- validateBstackJsonStub . returns ( Promise . resolve ( bsConfig ) ) ;
169
-
170
- return stop ( args )
171
- . then ( function ( _bsConfig ) {
172
- sinon . assert . calledOnce ( requestStub ) ;
173
- sinon . assert . calledOnce ( getUserAgentStub ) ;
174
- sinon . assert . calledOnceWithExactly ( sendUsageReportStub , bsConfig , args , message , messageType , errorCode ) ;
175
- } )
176
- . catch ( ( error ) => {
177
- chai . assert . isNotOk ( error , "Promise error" ) ;
178
- } ) ;
179
- } ) ;
180
-
181
- it ( "message thrown if statusCode != 200 and user unauthorized" , ( ) => {
182
- let body_with_message = {
183
- ...body ,
184
- message : "Unauthorized" ,
185
- } ;
186
-
187
- let message = `${
188
- Constants . userMessages . BUILD_STOP_FAILED
189
- } with error: \n${ JSON . stringify ( body_with_message , null , 2 ) } `;
190
- let messageType = Constants . messageTypes . ERROR ;
191
- let errorCode = "api_auth_failed" ;
192
-
193
- let requestStub = sinon
194
- . stub ( request , "post" )
195
- . yields ( null , { statusCode : 401 } , JSON . stringify ( body_with_message ) ) ;
196
-
45
+ it ( "should call stopBrowserStackBuild method" , ( ) => {
197
46
const stop = proxyquire ( '../../../../bin/commands/stop' , {
198
47
'../helpers/utils' : {
199
48
validateBstackJson : validateBstackJsonStub ,
200
- getErrorCodeFromErr : getErrorCodeFromErrStub ,
201
- sendUsageReport : sendUsageReportStub ,
202
49
setUsername : setUsernameStub ,
203
50
setAccessKey : setAccessKeyStub ,
204
- setUsageReportingFlag : setUsageReportingFlagStub ,
205
- setCypressConfigFilename : setCypressConfigFilenameStub ,
206
- getUserAgent : getUserAgentStub ,
207
- getConfigPath : getConfigPathStub ,
208
- setDefaults : setDefaultsStub
209
- } ,
210
- request : { post : requestStub } ,
211
- } ) ;
212
-
213
- validateBstackJsonStub . returns ( Promise . resolve ( bsConfig ) ) ;
214
-
215
- return stop ( args )
216
- . then ( function ( _bsConfig ) {
217
- sinon . assert . calledOnce ( requestStub ) ;
218
- sinon . assert . calledOnce ( getUserAgentStub ) ;
219
- sinon . assert . calledOnceWithExactly ( sendUsageReportStub , bsConfig , args , message , messageType , errorCode ) ;
220
- } )
221
- . catch ( ( error ) => {
222
- chai . assert . isNotOk ( error , "Promise error" ) ;
223
- } ) ;
224
- } ) ;
225
-
226
- it ( "message thrown if statusCode != 200 and build is present" , ( ) => {
227
- let message = `${
228
- Constants . userMessages . BUILD_STOP_FAILED
229
- } with error: \n${ JSON . stringify ( body , null , 2 ) } `;
230
- let messageType = Constants . messageTypes . ERROR ;
231
- let errorCode = "api_failed_build_stop" ;
232
-
233
- let requestStub = sinon
234
- . stub ( request , "post" )
235
- . yields ( null , { statusCode : 402 } , JSON . stringify ( body ) ) ;
236
-
237
- const stop = proxyquire ( '../../../../bin/commands/stop' , {
238
- '../helpers/utils' : {
239
- validateBstackJson : validateBstackJsonStub ,
240
- getErrorCodeFromErr : getErrorCodeFromErrStub ,
241
- sendUsageReport : sendUsageReportStub ,
242
- setUsername : setUsernameStub ,
243
- setAccessKey : setAccessKeyStub ,
244
- setUsageReportingFlag : setUsageReportingFlagStub ,
245
- setCypressConfigFilename : setCypressConfigFilenameStub ,
246
- getUserAgent : getUserAgentStub ,
247
- getConfigPath : getConfigPathStub ,
248
- setDefaults : setDefaultsStub
249
- } ,
250
- request : { post : requestStub } ,
251
- } ) ;
252
-
253
- validateBstackJsonStub . returns ( Promise . resolve ( bsConfig ) ) ;
254
-
255
- return stop ( args )
256
- . then ( function ( _bsConfig ) {
257
- sinon . assert . calledOnce ( requestStub ) ;
258
- sinon . assert . calledOnce ( getUserAgentStub ) ;
259
- sinon . assert . calledOnceWithExactly ( sendUsageReportStub , bsConfig , args , message , messageType , errorCode ) ;
260
- } )
261
- . catch ( ( error ) => {
262
- chai . assert . isNotOk ( error , "Promise error" ) ;
263
- } ) ;
264
- } ) ;
265
- } ) ;
266
-
267
- describe ( "Handle API success" , ( ) => {
268
- var sandbox ;
269
-
270
- beforeEach ( ( ) => {
271
- sandbox = sinon . createSandbox ( ) ;
272
- setUsernameStub = sandbox . stub ( ) ;
273
- setAccessKeyStub = sandbox . stub ( ) ;
274
- validateBstackJsonStub = sandbox . stub ( ) ;
275
- getConfigPathStub = sandbox . stub ( ) ;
276
- setUsageReportingFlagStub = sandbox . stub ( ) . returns ( undefined ) ;
277
- setCypressConfigFilenameStub = sandbox . stub ( ) . returns ( undefined ) ;
278
- getUserAgentStub = sandbox . stub ( ) . returns ( "random user-agent" ) ;
279
- sendUsageReportStub = sandbox . stub ( ) . callsFake ( function ( ) {
280
- return "end" ;
281
- } ) ;
282
- getErrorCodeFromErrStub = sandbox . stub ( ) . returns ( "random-error" ) ;
283
- setDefaultsStub = sandbox . stub ( ) ;
284
- } ) ;
285
-
286
- afterEach ( ( ) => {
287
- sandbox . restore ( ) ;
288
- sinon . restore ( ) ;
289
- } ) ;
290
-
291
- it ( "message thrown if API success" , ( ) => {
292
- let message = `${ JSON . stringify ( body , null , 2 ) } ` ;
293
- let messageType = Constants . messageTypes . SUCCESS ;
294
- let errorCode = null ;
295
-
296
- let requestStub = sandbox
297
- . stub ( request , "post" )
298
- . yields ( null , { statusCode : 200 } , JSON . stringify ( body ) ) ;
299
-
300
- const stop = proxyquire ( '../../../../bin/commands/stop' , {
301
- '../helpers/utils' : {
302
- validateBstackJson : validateBstackJsonStub ,
303
51
getErrorCodeFromErr : getErrorCodeFromErrStub ,
304
52
sendUsageReport : sendUsageReportStub ,
305
- setUsername : setUsernameStub ,
306
- setAccessKey : setAccessKeyStub ,
307
53
setUsageReportingFlag : setUsageReportingFlagStub ,
308
54
setCypressConfigFilename : setCypressConfigFilenameStub ,
309
- getUserAgent : getUserAgentStub ,
310
55
getConfigPath : getConfigPathStub ,
311
- setDefaults : setDefaultsStub
312
- } ,
313
- request : { post : requestStub } ,
56
+ setDefaults : setDefaultsStub ,
57
+ stopBrowserStackBuild : stopBrowserStackBuildStub
58
+ }
314
59
} ) ;
315
60
316
61
validateBstackJsonStub . returns ( Promise . resolve ( bsConfig ) ) ;
317
62
318
63
return stop ( args )
319
64
. then ( function ( _bsConfig ) {
320
- sinon . assert . calledOnce ( requestStub ) ;
321
- sinon . assert . calledOnce ( getUserAgentStub ) ;
322
- sinon . assert . calledOnceWithExactly ( sendUsageReportStub , bsConfig , args , message , messageType , errorCode ) ;
65
+ sinon . assert . calledOnce ( stopBrowserStackBuildStub ) ;
323
66
} )
324
- . catch ( ( error ) => {
325
- chai . assert . isNotOk ( error , "Promise error" ) ;
326
- } ) ;
327
67
} ) ;
328
68
} ) ;
329
69
0 commit comments