@@ -55,7 +55,6 @@ const httpsScreenshotsKeepAliveAgent = new https.Agent({
55
55
} ) ;
56
56
57
57
const supportFileCleanup = ( ) => {
58
- return ;
59
58
Object . keys ( supportFileContentMap ) . forEach ( file => {
60
59
try {
61
60
fs . writeFileSync ( file , supportFileContentMap [ file ] , { encoding : 'utf-8' } ) ;
@@ -163,244 +162,6 @@ exports.getTestEnv = () => {
163
162
}
164
163
}
165
164
166
- exports . getFileSeparatorData = ( ) => {
167
- return / ^ w i n / . test ( process . platform ) ? "\\" : "/" ;
168
- }
169
-
170
- exports . findGitConfig = ( filePath ) => {
171
- const fileSeparator = exports . getFileSeparatorData ( ) ;
172
- if ( filePath == null || filePath == '' || filePath == fileSeparator ) {
173
- return null ;
174
- }
175
- try {
176
- fs . statSync ( filePath + fileSeparator + '.git' + fileSeparator + 'config' ) ;
177
- return filePath ;
178
- } catch ( e ) {
179
- let parentFilePath = filePath . split ( fileSeparator ) ;
180
- parentFilePath . pop ( ) ;
181
- return exports . findGitConfig ( parentFilePath . join ( fileSeparator ) ) ;
182
- }
183
- }
184
-
185
- const getGitMetaData = ( ) => {
186
- return new Promise ( async ( resolve , reject ) => {
187
- try {
188
- var info = getRepoInfo ( ) ;
189
- if ( ! info . commonGitDir ) {
190
- exports . debug ( `Unable to find a Git directory` ) ;
191
- resolve ( { } ) ;
192
- }
193
- if ( ! info . author && exports . findGitConfig ( process . cwd ( ) ) ) {
194
- /* commit objects are packed */
195
- gitLastCommit . getLastCommit ( async ( err , commit ) => {
196
- if ( err ) {
197
- exports . debug ( `Exception in populating Git Metadata with error : ${ err } ` , true , err ) ;
198
- return resolve ( { } ) ;
199
- }
200
- try {
201
- info [ "author" ] = info [ "author" ] || `${ commit [ "author" ] [ "name" ] . replace ( / [ “ ] + / g, '' ) } <${ commit [ "author" ] [ "email" ] . replace ( / [ “ ] + / g, '' ) } >` ;
202
- info [ "authorDate" ] = info [ "authorDate" ] || commit [ "authoredOn" ] ;
203
- info [ "committer" ] = info [ "committer" ] || `${ commit [ "committer" ] [ "name" ] . replace ( / [ “ ] + / g, '' ) } <${ commit [ "committer" ] [ "email" ] . replace ( / [ “ ] + / g, '' ) } >` ;
204
- info [ "committerDate" ] = info [ "committerDate" ] || commit [ "committedOn" ] ;
205
- info [ "commitMessage" ] = info [ "commitMessage" ] || commit [ "subject" ] ;
206
-
207
- const { remote } = await pGitconfig ( info . commonGitDir ) ;
208
- const remotes = Object . keys ( remote ) . map ( remoteName => ( { name : remoteName , url : remote [ remoteName ] [ 'url' ] } ) ) ;
209
- resolve ( {
210
- "name" : "git" ,
211
- "sha" : info [ "sha" ] ,
212
- "short_sha" : info [ "abbreviatedSha" ] ,
213
- "branch" : info [ "branch" ] ,
214
- "tag" : info [ "tag" ] ,
215
- "committer" : info [ "committer" ] ,
216
- "committer_date" : info [ "committerDate" ] ,
217
- "author" : info [ "author" ] ,
218
- "author_date" : info [ "authorDate" ] ,
219
- "commit_message" : info [ "commitMessage" ] ,
220
- "root" : info [ "root" ] ,
221
- "common_git_dir" : info [ "commonGitDir" ] ,
222
- "worktree_git_dir" : info [ "worktreeGitDir" ] ,
223
- "last_tag" : info [ "lastTag" ] ,
224
- "commits_since_last_tag" : info [ "commitsSinceLastTag" ] ,
225
- "remotes" : remotes
226
- } ) ;
227
- } catch ( e ) {
228
- exports . debug ( `Exception in populating Git Metadata with error : ${ e } ` , true , e ) ;
229
- return resolve ( { } ) ;
230
- }
231
- } , { dst : exports . findGitConfig ( process . cwd ( ) ) } ) ;
232
- } else {
233
- const { remote } = await pGitconfig ( info . commonGitDir ) ;
234
- const remotes = Object . keys ( remote ) . map ( remoteName => ( { name : remoteName , url : remote [ remoteName ] [ 'url' ] } ) ) ;
235
- resolve ( {
236
- "name" : "git" ,
237
- "sha" : info [ "sha" ] ,
238
- "short_sha" : info [ "abbreviatedSha" ] ,
239
- "branch" : info [ "branch" ] ,
240
- "tag" : info [ "tag" ] ,
241
- "committer" : info [ "committer" ] ,
242
- "committer_date" : info [ "committerDate" ] ,
243
- "author" : info [ "author" ] ,
244
- "author_date" : info [ "authorDate" ] ,
245
- "commit_message" : info [ "commitMessage" ] ,
246
- "root" : info [ "root" ] ,
247
- "common_git_dir" : info [ "commonGitDir" ] ,
248
- "worktree_git_dir" : info [ "worktreeGitDir" ] ,
249
- "last_tag" : info [ "lastTag" ] ,
250
- "commits_since_last_tag" : info [ "commitsSinceLastTag" ] ,
251
- "remotes" : remotes
252
- } ) ;
253
- }
254
- } catch ( err ) {
255
- exports . debug ( `Exception in populating Git metadata with error : ${ err } ` , true , err ) ;
256
- resolve ( { } ) ;
257
- }
258
- } )
259
- }
260
-
261
- const getCiInfo = ( ) => {
262
- var env = process . env ;
263
- // Jenkins
264
- if ( ( typeof env . JENKINS_URL === "string" && env . JENKINS_URL . length > 0 ) || ( typeof env . JENKINS_HOME === "string" && env . JENKINS_HOME . length > 0 ) ) {
265
- return {
266
- name : "Jenkins" ,
267
- build_url : env . BUILD_URL ,
268
- job_name : env . JOB_NAME ,
269
- build_number : env . BUILD_NUMBER
270
- }
271
- }
272
- // CircleCI
273
- if ( env . CI === "true" && env . CIRCLECI === "true" ) {
274
- return {
275
- name : "CircleCI" ,
276
- build_url : env . CIRCLE_BUILD_URL ,
277
- job_name : env . CIRCLE_JOB ,
278
- build_number : env . CIRCLE_BUILD_NUM
279
- }
280
- }
281
- // Travis CI
282
- if ( env . CI === "true" && env . TRAVIS === "true" ) {
283
- return {
284
- name : "Travis CI" ,
285
- build_url : env . TRAVIS_BUILD_WEB_URL ,
286
- job_name : env . TRAVIS_JOB_NAME ,
287
- build_number : env . TRAVIS_BUILD_NUMBER
288
- }
289
- }
290
- // Codeship
291
- if ( env . CI === "true" && env . CI_NAME === "codeship" ) {
292
- return {
293
- name : "Codeship" ,
294
- build_url : null ,
295
- job_name : null ,
296
- build_number : null
297
- }
298
- }
299
- // Bitbucket
300
- if ( env . BITBUCKET_BRANCH && env . BITBUCKET_COMMIT ) {
301
- return {
302
- name : "Bitbucket" ,
303
- build_url : env . BITBUCKET_GIT_HTTP_ORIGIN ,
304
- job_name : null ,
305
- build_number : env . BITBUCKET_BUILD_NUMBER
306
- }
307
- }
308
- // Drone
309
- if ( env . CI === "true" && env . DRONE === "true" ) {
310
- return {
311
- name : "Drone" ,
312
- build_url : env . DRONE_BUILD_LINK ,
313
- job_name : null ,
314
- build_number : env . DRONE_BUILD_NUMBER
315
- }
316
- }
317
- // Semaphore
318
- if ( env . CI === "true" && env . SEMAPHORE === "true" ) {
319
- return {
320
- name : "Semaphore" ,
321
- build_url : env . SEMAPHORE_ORGANIZATION_URL ,
322
- job_name : env . SEMAPHORE_JOB_NAME ,
323
- build_number : env . SEMAPHORE_JOB_ID
324
- }
325
- }
326
- // GitLab
327
- if ( env . CI === "true" && env . GITLAB_CI === "true" ) {
328
- return {
329
- name : "GitLab" ,
330
- build_url : env . CI_JOB_URL ,
331
- job_name : env . CI_JOB_NAME ,
332
- build_number : env . CI_JOB_ID
333
- }
334
- }
335
- // Buildkite
336
- if ( env . CI === "true" && env . BUILDKITE === "true" ) {
337
- return {
338
- name : "Buildkite" ,
339
- build_url : env . BUILDKITE_BUILD_URL ,
340
- job_name : env . BUILDKITE_LABEL || env . BUILDKITE_PIPELINE_NAME ,
341
- build_number : env . BUILDKITE_BUILD_NUMBER
342
- }
343
- }
344
- // Visual Studio Team Services
345
- if ( env . TF_BUILD === "True" ) {
346
- return {
347
- name : "Visual Studio Team Services" ,
348
- build_url : `${ env . SYSTEM_TEAMFOUNDATIONSERVERURI } ${ env . SYSTEM_TEAMPROJECTID } ` ,
349
- job_name : env . SYSTEM_DEFINITIONID ,
350
- build_number : env . BUILD_BUILDID
351
- }
352
- }
353
- // if no matches, return null
354
- return null ;
355
- }
356
-
357
- let packages = { } ;
358
-
359
- exports . getPackageVersion = ( package_ , bsConfig = null ) => {
360
- if ( packages [ package_ ] ) return packages [ package_ ] ;
361
- let packageVersion ;
362
- /* Try to find version from module path */
363
- try {
364
- packages [ package_ ] = this . requireModule ( `${ package_ } /package.json` ) . version ;
365
- logger . info ( `Getting ${ package_ } package version from module path = ${ packages [ package_ ] } ` ) ;
366
- packageVersion = packages [ package_ ] ;
367
- } catch ( e ) {
368
- exports . debug ( `Unable to find package ${ package_ } at module path with error ${ e } ` ) ;
369
- }
370
-
371
- /* Read package version from npm_dependencies in browserstack.json file if present */
372
- if ( utils . isUndefined ( packageVersion ) && bsConfig && ( process . env . BROWSERSTACK_AUTOMATION == "true" || process . env . BROWSERSTACK_AUTOMATION == "1" ) ) {
373
- const runSettings = bsConfig . run_settings ;
374
- if ( runSettings && runSettings . npm_dependencies !== undefined &&
375
- Object . keys ( runSettings . npm_dependencies ) . length !== 0 &&
376
- typeof runSettings . npm_dependencies === 'object' ) {
377
- if ( package_ in runSettings . npm_dependencies ) {
378
- packages [ package_ ] = runSettings . npm_dependencies [ package_ ] ;
379
- logger . info ( `Getting ${ package_ } package version from browserstack.json = ${ packages [ package_ ] } ` ) ;
380
- packageVersion = packages [ package_ ] ;
381
- }
382
- }
383
- }
384
-
385
- /* Read package version from project's package.json if present */
386
- const packageJSONPath = path . join ( process . cwd ( ) , 'package.json' ) ;
387
- if ( utils . isUndefined ( packageVersion ) && fs . existsSync ( packageJSONPath ) ) {
388
- const packageJSONContents = require ( packageJSONPath ) ;
389
- if ( packageJSONContents . devDependencies && ! utils . isUndefined ( packageJSONContents . devDependencies [ package_ ] ) ) packages [ package_ ] = packageJSONContents . devDependencies [ package_ ] ;
390
- if ( packageJSONContents . dependencies && ! utils . isUndefined ( packageJSONContents . dependencies [ package_ ] ) ) packages [ package_ ] = packageJSONContents . dependencies [ package_ ] ;
391
- logger . info ( `Getting ${ package_ } package version from package.json = ${ packages [ package_ ] } ` ) ;
392
- packageVersion = packages [ package_ ] ;
393
- }
394
-
395
- return packageVersion ;
396
- }
397
-
398
- exports . getAgentVersion = ( ) => {
399
- let _path = path . join ( __dirname , '../../../package.json' ) ;
400
- if ( fs . existsSync ( _path ) )
401
- return require ( _path ) . version ;
402
- }
403
-
404
165
const setEnvironmentVariablesForRemoteReporter = ( BS_TESTOPS_JWT , BS_TESTOPS_BUILD_HASHED_ID , BS_TESTOPS_ALLOW_SCREENSHOTS , OBSERVABILITY_LAUNCH_SDK_VERSION ) => {
405
166
process . env . BS_TESTOPS_JWT = BS_TESTOPS_JWT ;
406
167
process . env . BS_TESTOPS_BUILD_HASHED_ID = BS_TESTOPS_BUILD_HASHED_ID ;
@@ -483,7 +244,7 @@ const setBrowserstackCypressCliDependency = (bsConfig) => {
483
244
typeof runSettings . npm_dependencies === 'object' ) {
484
245
if ( ! ( "browserstack-cypress-cli" in runSettings . npm_dependencies ) ) {
485
246
logger . warn ( "Missing browserstack-cypress-cli not found in npm_dependencies" ) ;
486
- runSettings . npm_dependencies [ 'browserstack-cypress-cli' ] = exports . getAgentVersion ( ) || "latest" ;
247
+ runSettings . npm_dependencies [ 'browserstack-cypress-cli' ] = helper . getAgentVersion ( ) || "latest" ;
487
248
logger . warn ( `Adding browserstack-cypress-cli version ${ runSettings . npm_dependencies [ 'browserstack-cypress-cli' ] } in npm_dependencies` ) ;
488
249
}
489
250
}
@@ -567,14 +328,14 @@ exports.launchTestSession = async (user_config, bsConfigPath) => {
567
328
version : os . version ( ) ,
568
329
arch : os . arch ( )
569
330
} ,
570
- 'ci_info' : getCiInfo ( ) ,
331
+ 'ci_info' : helper . getCiInfo ( ) ,
571
332
'build_run_identifier' : process . env . BROWSERSTACK_BUILD_RUN_IDENTIFIER ,
572
333
'failed_tests_rerun' : process . env . BROWSERSTACK_RERUN || false ,
573
- 'version_control' : await getGitMetaData ( ) ,
334
+ 'version_control' : await helper . getGitMetaData ( ) ,
574
335
'observability_version' : {
575
336
frameworkName : "Cypress" ,
576
- frameworkVersion : exports . getPackageVersion ( 'cypress' , user_config ) ,
577
- sdkVersion : exports . getAgentVersion ( )
337
+ frameworkVersion : helper . getPackageVersion ( 'cypress' , user_config ) ,
338
+ sdkVersion : helper . getAgentVersion ( )
578
339
}
579
340
} ;
580
341
const config = {
@@ -592,7 +353,7 @@ exports.launchTestSession = async (user_config, bsConfigPath) => {
592
353
exports . debug ( 'Build creation successfull!' ) ;
593
354
process . env . BS_TESTOPS_BUILD_COMPLETED = true ;
594
355
setEnvironmentVariablesForRemoteReporter ( response . data . jwt , response . data . build_hashed_id , response . data . allow_screenshots , data . observability_version . sdkVersion ) ;
595
- setEventListeners ( ) ;
356
+ // setEventListeners();
596
357
if ( this . isBrowserstackInfra ( ) ) setBrowserstackCypressCliDependency ( user_config ) ;
597
358
} catch ( error ) {
598
359
if ( ! error . errorType ) {
0 commit comments