1
1
const request = require ( "request" ) ;
2
2
const constants = require ( "./utils/constants.js" ) ;
3
3
const process = require ( "process" ) ;
4
-
5
- function stop_build ( args ) {
4
+ const fs = require ( "fs" ) ;
5
+ function stop_session ( args ) {
6
6
return new Promise ( function ( resolve , reject ) {
7
7
var username = "" ;
8
8
var access_key = "" ;
@@ -25,13 +25,34 @@ function stop_build(args) {
25
25
} else {
26
26
reject ( "Access Key not provided" ) ;
27
27
}
28
-
29
- if (
30
- ! ( "buildId" in args ) ||
31
- args [ "buildid" ] == "" ||
32
- args [ "buildid" ] == undefined
33
- ) {
34
- reject ( "Please provide a build ID" ) ;
28
+ if ( "stop_last_session" in args ) {
29
+ const file_path = "lambdatest_run.json" ;
30
+ if ( fs . existsSync ( file_path ) ) {
31
+ let lambda_run = fs . readFileSync ( file_path ) ;
32
+ try {
33
+ let lambda_run_obj = JSON . parse ( lambda_run ) ;
34
+ if ( ! ( "session_id" in lambda_run_obj ) ) {
35
+ throw new Error ( "session_id is missing from the file" ) ;
36
+ }
37
+ args . session_id = lambda_run_obj . session_id ;
38
+ } catch ( e ) {
39
+ reject (
40
+ "Error!! lambdatest_run.json file is tempered Err: " + e . message
41
+ ) ;
42
+ }
43
+ } else {
44
+ reject (
45
+ "Error!! Last session details not found, lambdatest_run.json file not present!!"
46
+ ) ;
47
+ }
48
+ } else {
49
+ if (
50
+ ! ( "session_id" in args ) ||
51
+ args [ "session_id" ] == "" ||
52
+ args [ "session_id" ] == undefined
53
+ ) {
54
+ reject ( "Error!! Please provide a Session ID" ) ;
55
+ }
35
56
}
36
57
var env = "prod" ;
37
58
if ( "env" in args ) {
@@ -45,7 +66,7 @@ function stop_build(args) {
45
66
}
46
67
47
68
let options = {
48
- url : constants [ env ] . BUILD_STOP_URL + args . buildId ,
69
+ url : constants [ env ] . BUILD_STOP_URL + args . session_id ,
49
70
headers : {
50
71
Authorization : "Token " + access_key ,
51
72
Username : username ,
@@ -69,15 +90,21 @@ function stop_build(args) {
69
90
reject ( "error" , responseData ) ;
70
91
}
71
92
} else {
72
- resolve ( "Build Stopped successfully" ) ;
93
+ if ( responseData . length == 0 ) {
94
+ resolve ( "No tests to stop in session " + args . session_id ) ;
95
+ }
96
+ resolve (
97
+ "Session Stopped successfully, No. of tests stopped are: " +
98
+ responseData . length
99
+ ) ;
73
100
}
74
101
}
75
102
} ) ;
76
103
} ) ;
77
104
}
78
105
79
106
module . exports = function ( args ) {
80
- stop_build ( args )
107
+ stop_session ( args )
81
108
. then ( function ( resp ) {
82
109
console . log ( resp ) ;
83
110
} )
0 commit comments