@@ -8,46 +8,33 @@ const URLsToVerify = [
88 'https://sonarwhal-staging.azurewebsites.net/docs/user-guide/hints/'
99] ;
1010
11- puppeteer . launch ( )
12- . then ( ( browser ) => {
13- const responseCollection = new Promise ( ( resolve ) => {
14- const responses = new Map ( ) ;
15-
16- URLsToVerify . forEach ( ( url , index ) => {
17- browser . newPage ( )
18- . then ( ( page ) => {
19- page . goto ( url )
20- . then ( ( response ) => {
21- responses . set ( url , response . status ( ) ) ;
22- } )
23- . catch ( ( error ) => {
24- responses . set ( url , `❌ ${ error } ` ) ;
25- } )
26- . finally ( ( ) => {
27- if ( index === ( URLsToVerify . length - 1 ) ) {
28- resolve ( responses ) ;
29- browser . close ( ) ;
30- }
31- } ) ;
32- } )
33- . catch ( ( err ) => {
34- console . log ( `Error on Puppeteer's newPage() function. Info: ${ err } ` ) ;
35- } ) ;
36- } ) ;
37- } ) ;
38-
39- responseCollection . then ( ( responses ) => {
40- for ( const [ url , response ] of responses ) {
41- if ( response !== 200 ) {
42- const error = typeof response === 'number' ? `RESPONSE STATUS => ${ response } ` : response ;
43-
44- throw new Error ( `❌ Test failed! A request to the URL ${ url } has returned the following error: ${ error } ` ) ;
45- }
46-
47- console . log ( `✅ Success! ${ url } => Status: ${ response } ` ) ;
48- }
49- } ) ;
50- } )
51- . catch ( ( err ) => {
52- console . log ( `Error on launching Puppeteer. Info: ${ err } ` ) ;
53- } ) ;
11+ const runPuppeteer = async ( url ) => {
12+ const browser = await puppeteer . launch ( ) ;
13+ const page = await browser . newPage ( ) ;
14+ const response = await page . goto ( url ) ;
15+
16+ console . log (
17+ `${
18+ response . status ( ) === 200 ? '✅ Success' : '❌ Failure'
19+ } ! ${ url } => Status: ${ response . status ( ) } `
20+ ) ;
21+
22+ await browser . close ( ) ;
23+
24+ return response . status ( ) ;
25+ } ;
26+
27+ console . log ( '⏳ Integration tests are running...' ) ;
28+
29+ URLsToVerify . forEach ( async ( url , index ) => {
30+ let errorFound = false ;
31+ const resultStatus = await runPuppeteer ( url ) ;
32+
33+ if ( resultStatus !== 200 ) {
34+ errorFound = true ;
35+ }
36+
37+ if ( index === URLsToVerify . length - 1 && errorFound ) {
38+ throw new Error ( '🚨 Integration test has failed!' ) ;
39+ }
40+ } ) ;
0 commit comments