From 7528a30949634db1b1695849bac78aac84b3b45d Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Fri, 14 Nov 2025 12:18:12 -0600 Subject: [PATCH 01/22] Added monitors for cbioportal --- monitoring/FNL-Monitoring-List.csv | 82 ++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index 64fcbb43..bbae8042 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -818,3 +818,85 @@ $http.get('https://cbioportal-api-qa.ccdi.cancer.gov/api/cancer-types', } );",,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Portal,https://cbioportal-stage.ccdi.cancer.gov,,cBioPortal,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Content,https://cbioportal-stage-content.ccdi.cancer.gov,,,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,About,https://cbioportal-stage-about.ccdi.cancer.gov,"var assert = require('assert'); + +$http.get('https://cbioportal-stage-about.ccdi.cancer.gov/version.json', + + function (err, response, body) { + + if (err) { + throw new Error(err); + } + + console.log('Response:', body); + console.log('Response:', response.statusCode); + + assert.equal(response.statusCode, 200, 'Expected a 200 OK response.'); + + assert.ok('version' in body, 'Expected object to have version key'); + } +);",,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,API,https://cbioportal-api-stage.ccdi.cancer.gov,"var assert = require('assert'); + +$http.get('https://cbioportal-api-stage.ccdi.cancer.gov/api/cancer-types', + + function (err, response, body) { + + if (err) { + throw new Error(err); + } + + console.log('Response:', body); + console.log('Response:', response.statusCode); + + assert.equal(response.statusCode, 200, 'Expected a 200 OK response.'); + assert.ok(Array.isArray(body), 'Expected response body to be an array.'); + + const firstObj = body[0]; + assert.ok('cancerTypeId' in firstObj, 'Expected object to have cancerTypeId key'); + + } +);",,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Portal,https://cbioportal.ccdi.cancer.gov,,cBioPortal,TRUE,C09TVCQB108,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Content,https://cbioportal-content.ccdi.cancer.gov,,,TRUE,C09TVCQB108,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,About,https://cbioportal-about.ccdi.cancer.gov,"var assert = require('assert'); + +$http.get('https://cbioportal-about.ccdi.cancer.gov/version.json', + + function (err, response, body) { + + if (err) { + throw new Error(err); + } + + console.log('Response:', body); + console.log('Response:', response.statusCode); + + assert.equal(response.statusCode, 200, 'Expected a 200 OK response.'); + + assert.ok('version' in body, 'Expected object to have version key'); + } +);",,TRUE,C09TVCQB108,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,API,https://cbioportal-api.ccdi.cancer.gov,"var assert = require('assert'); + +$http.get('https://cbioportal-api.ccdi.cancer.gov/api/cancer-types', + + function (err, response, body) { + + if (err) { + throw new Error(err); + } + + console.log('Response:', body); + console.log('Response:', response.statusCode); + + assert.equal(response.statusCode, 200, 'Expected a 200 OK response.'); + assert.ok(Array.isArray(body), 'Expected response body to be an array.'); + + const firstObj = body[0]; + assert.ok('cancerTypeId' in firstObj, 'Expected object to have cancerTypeId key'); + + } +);",,TRUE,C09TVCQB108,, \ No newline at end of file From 206dd5d367f288caea4f40857a3657f179c8b77e Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Mon, 17 Nov 2025 12:41:57 -0600 Subject: [PATCH 02/22] Changed the validation word fro cbioportal --- monitoring/FNL-Monitoring-List.csv | 52 +++++------------------------- 1 file changed, 8 insertions(+), 44 deletions(-) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index bbae8042..099d0a48 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -737,8 +737,8 @@ $http.post('https://populationsciences-qa.datacommons.cancer.gov/v1/graphql/', } );",,TRUE,C07E28M8R7T,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,cBioPortal,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,About,https://cbioportal-dev-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-dev-about.ccdi.cancer.gov/version.json', @@ -777,8 +777,8 @@ $http.get('https://cbioportal-api-dev.ccdi.cancer.gov/api/cancer-types', assert.ok('cancerTypeId' in firstObj, 'Expected object to have cancerTypeId key'); } );",,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Portal,https://cbioportal-qa.ccdi.cancer.gov,,cBioPortal,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Content,https://cbioportal-qa-content.ccdi.cancer.gov,,,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Portal,https://cbioportal-qa.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Content,https://cbioportal-qa-content.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,About,https://cbioportal-qa-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-qa-about.ccdi.cancer.gov/version.json', @@ -818,26 +818,8 @@ $http.get('https://cbioportal-api-qa.ccdi.cancer.gov/api/cancer-types', } );",,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Portal,https://cbioportal-stage.ccdi.cancer.gov,,cBioPortal,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Content,https://cbioportal-stage-content.ccdi.cancer.gov,,,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,About,https://cbioportal-stage-about.ccdi.cancer.gov,"var assert = require('assert'); - -$http.get('https://cbioportal-stage-about.ccdi.cancer.gov/version.json', - - function (err, response, body) { - - if (err) { - throw new Error(err); - } - - console.log('Response:', body); - console.log('Response:', response.statusCode); - - assert.equal(response.statusCode, 200, 'Expected a 200 OK response.'); - - assert.ok('version' in body, 'Expected object to have version key'); - } -);",,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Portal,https://cbioportal-stage.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Content,https://cbioportal-stage-content.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,API,https://cbioportal-api-stage.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-api-stage.ccdi.cancer.gov/api/cancer-types', @@ -859,26 +841,8 @@ $http.get('https://cbioportal-api-stage.ccdi.cancer.gov/api/cancer-types', } );",,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Portal,https://cbioportal.ccdi.cancer.gov,,cBioPortal,TRUE,C09TVCQB108,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Content,https://cbioportal-content.ccdi.cancer.gov,,,TRUE,C09TVCQB108,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,About,https://cbioportal-about.ccdi.cancer.gov,"var assert = require('assert'); - -$http.get('https://cbioportal-about.ccdi.cancer.gov/version.json', - - function (err, response, body) { - - if (err) { - throw new Error(err); - } - - console.log('Response:', body); - console.log('Response:', response.statusCode); - - assert.equal(response.statusCode, 200, 'Expected a 200 OK response.'); - - assert.ok('version' in body, 'Expected object to have version key'); - } -);",,TRUE,C09TVCQB108,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Portal,https://cbioportal.ccdi.cancer.gov,,Visualization,TRUE,C09TVCQB108,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Content,https://cbioportal-content.ccdi.cancer.gov,,Visualization,TRUE,C09TVCQB108,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,API,https://cbioportal-api.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-api.ccdi.cancer.gov/api/cancer-types', From e7d014e723090afa6d3441c690e47808d508f217 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Mon, 17 Nov 2025 14:16:05 -0600 Subject: [PATCH 03/22] Changed the validation word for cbioportal --- monitoring/FNL-Monitoring-List.csv | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index 099d0a48..b0b3d1aa 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -737,8 +737,8 @@ $http.post('https://populationsciences-qa.datacommons.cancer.gov/v1/graphql/', } );",,TRUE,C07E28M8R7T,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,Studies,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,Studies,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,About,https://cbioportal-dev-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-dev-about.ccdi.cancer.gov/version.json', @@ -777,8 +777,8 @@ $http.get('https://cbioportal-api-dev.ccdi.cancer.gov/api/cancer-types', assert.ok('cancerTypeId' in firstObj, 'Expected object to have cancerTypeId key'); } );",,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Portal,https://cbioportal-qa.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Content,https://cbioportal-qa-content.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Portal,https://cbioportal-qa.ccdi.cancer.gov,,Studies,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Content,https://cbioportal-qa-content.ccdi.cancer.gov,,Studies,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,About,https://cbioportal-qa-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-qa-about.ccdi.cancer.gov/version.json', @@ -818,8 +818,8 @@ $http.get('https://cbioportal-api-qa.ccdi.cancer.gov/api/cancer-types', } );",,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Portal,https://cbioportal-stage.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Content,https://cbioportal-stage-content.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Portal,https://cbioportal-stage.ccdi.cancer.gov,,Studies,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Content,https://cbioportal-stage-content.ccdi.cancer.gov,,Studies,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,API,https://cbioportal-api-stage.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-api-stage.ccdi.cancer.gov/api/cancer-types', @@ -841,8 +841,8 @@ $http.get('https://cbioportal-api-stage.ccdi.cancer.gov/api/cancer-types', } );",,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Portal,https://cbioportal.ccdi.cancer.gov,,Visualization,TRUE,C09TVCQB108,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Content,https://cbioportal-content.ccdi.cancer.gov,,Visualization,TRUE,C09TVCQB108,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Portal,https://cbioportal.ccdi.cancer.gov,,Studies,TRUE,C09TVCQB108,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Content,https://cbioportal-content.ccdi.cancer.gov,,Studies,TRUE,C09TVCQB108,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,API,https://cbioportal-api.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-api.ccdi.cancer.gov/api/cancer-types', From a423ad93de31339f8f7655c7b260b6007ecb2d82 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Mon, 17 Nov 2025 15:03:26 -0600 Subject: [PATCH 04/22] Changed the validation word for cbioportal --- monitoring/FNL-Monitoring-List.csv | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index b0b3d1aa..eec36561 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -737,8 +737,8 @@ $http.post('https://populationsciences-qa.datacommons.cancer.gov/v1/graphql/', } );",,TRUE,C07E28M8R7T,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,Studies,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,Studies,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,Query,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,Query,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,About,https://cbioportal-dev-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-dev-about.ccdi.cancer.gov/version.json', @@ -777,8 +777,8 @@ $http.get('https://cbioportal-api-dev.ccdi.cancer.gov/api/cancer-types', assert.ok('cancerTypeId' in firstObj, 'Expected object to have cancerTypeId key'); } );",,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Portal,https://cbioportal-qa.ccdi.cancer.gov,,Studies,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Content,https://cbioportal-qa-content.ccdi.cancer.gov,,Studies,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Portal,https://cbioportal-qa.ccdi.cancer.gov,,Query,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Content,https://cbioportal-qa-content.ccdi.cancer.gov,,Query,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,About,https://cbioportal-qa-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-qa-about.ccdi.cancer.gov/version.json', @@ -818,8 +818,8 @@ $http.get('https://cbioportal-api-qa.ccdi.cancer.gov/api/cancer-types', } );",,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Portal,https://cbioportal-stage.ccdi.cancer.gov,,Studies,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Content,https://cbioportal-stage-content.ccdi.cancer.gov,,Studies,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Portal,https://cbioportal-stage.ccdi.cancer.gov,,Query,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Content,https://cbioportal-stage-content.ccdi.cancer.gov,,Query,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,API,https://cbioportal-api-stage.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-api-stage.ccdi.cancer.gov/api/cancer-types', @@ -841,8 +841,8 @@ $http.get('https://cbioportal-api-stage.ccdi.cancer.gov/api/cancer-types', } );",,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Portal,https://cbioportal.ccdi.cancer.gov,,Studies,TRUE,C09TVCQB108,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Content,https://cbioportal-content.ccdi.cancer.gov,,Studies,TRUE,C09TVCQB108,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Portal,https://cbioportal.ccdi.cancer.gov,,Query,TRUE,C09TVCQB108,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Content,https://cbioportal-content.ccdi.cancer.gov,,Query,TRUE,C09TVCQB108,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,API,https://cbioportal-api.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-api.ccdi.cancer.gov/api/cancer-types', From a86c312c80ecc8c18ee40dc78550c8754ec4e51e Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Mon, 17 Nov 2025 15:45:58 -0600 Subject: [PATCH 05/22] Reverted cbioportal changes --- monitoring/FNL-Monitoring-List.csv | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index eec36561..de29997a 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -737,8 +737,8 @@ $http.post('https://populationsciences-qa.datacommons.cancer.gov/v1/graphql/', } );",,TRUE,C07E28M8R7T,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,Query,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,Query,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,cBioPortal,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,About,https://cbioportal-dev-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-dev-about.ccdi.cancer.gov/version.json', @@ -777,8 +777,8 @@ $http.get('https://cbioportal-api-dev.ccdi.cancer.gov/api/cancer-types', assert.ok('cancerTypeId' in firstObj, 'Expected object to have cancerTypeId key'); } );",,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Portal,https://cbioportal-qa.ccdi.cancer.gov,,Query,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Content,https://cbioportal-qa-content.ccdi.cancer.gov,,Query,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Portal,https://cbioportal-qa.ccdi.cancer.gov,,cBioPortal,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Content,https://cbioportal-qa-content.ccdi.cancer.gov,,,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,About,https://cbioportal-qa-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-qa-about.ccdi.cancer.gov/version.json', @@ -818,8 +818,8 @@ $http.get('https://cbioportal-api-qa.ccdi.cancer.gov/api/cancer-types', } );",,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Portal,https://cbioportal-stage.ccdi.cancer.gov,,Query,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Content,https://cbioportal-stage-content.ccdi.cancer.gov,,Query,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Portal,https://cbioportal-stage.ccdi.cancer.gov,,cBioPortal,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Content,https://cbioportal-stage-content.ccdi.cancer.gov,,,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,API,https://cbioportal-api-stage.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-api-stage.ccdi.cancer.gov/api/cancer-types', @@ -841,8 +841,8 @@ $http.get('https://cbioportal-api-stage.ccdi.cancer.gov/api/cancer-types', } );",,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Portal,https://cbioportal.ccdi.cancer.gov,,Query,TRUE,C09TVCQB108,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Content,https://cbioportal-content.ccdi.cancer.gov,,Query,TRUE,C09TVCQB108,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Portal,https://cbioportal.ccdi.cancer.gov,,cBioPortal,TRUE,C09TVCQB108,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Content,https://cbioportal-content.ccdi.cancer.gov,,,TRUE,C09TVCQB108,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,API,https://cbioportal-api.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-api.ccdi.cancer.gov/api/cancer-types', From 7888f0319f3929ee245b281c3a725588cba9ce80 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Tue, 18 Nov 2025 12:15:29 -0600 Subject: [PATCH 06/22] Changed the validation for cbioportal dev --- monitoring/FNL-Monitoring-List.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index de29997a..e5cb4748 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -738,7 +738,7 @@ $http.post('https://populationsciences-qa.datacommons.cancer.gov/v1/graphql/', } );",,TRUE,C07E28M8R7T,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,cBioPortal,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,Please,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,About,https://cbioportal-dev-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-dev-about.ccdi.cancer.gov/version.json', From 0d2fe115bdf194fa38a1c726683ad658b06e8553 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Tue, 18 Nov 2025 14:35:17 -0600 Subject: [PATCH 07/22] changed the validation text for cbioportal dev --- monitoring/FNL-Monitoring-List.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index e5cb4748..dc598c48 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -738,7 +738,7 @@ $http.post('https://populationsciences-qa.datacommons.cancer.gov/v1/graphql/', } );",,TRUE,C07E28M8R7T,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,cBioPortal,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,Please,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,studies available,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,About,https://cbioportal-dev-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-dev-about.ccdi.cancer.gov/version.json', From 0bb1f06539c9368c9b3b80778d06507b1ef353ac Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Thu, 20 Nov 2025 13:13:38 -0600 Subject: [PATCH 08/22] Added script validator for cbio dev frontend --- monitoring/FNL-Monitoring-List.csv | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index dc598c48..42bed62c 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -738,7 +738,32 @@ $http.post('https://populationsciences-qa.datacommons.cancer.gov/v1/graphql/', } );",,TRUE,C07E28M8R7T,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,cBioPortal,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,studies available,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,"var assert = require('assert'); + +var WEBSITE_URL='https://cbioportal-dev-content.ccdi.cancer.gov/'; +var QUERY_TEXT_LOCATOR = $selenium.By.xpath('//h2[contains(normalize-space(.), ""Visualization & Analysis"")]'); + +async function waitForElementToContainText(locator, expectedText, timeoutMs) { + const element = await $webDriver.wait( + $selenium.until.elementLocated(locator), + timeoutMs, + 'Timed out waiting for element to be located: ' + locator.toString() + ); + await $webDriver.wait( + $selenium.until.elementTextContains(element, expectedText), + timeoutMs, + 'Timed out waiting for element to contain text: ' + expectedText + ); + return element; +} +await $webDriver.get(WEBSITE_URL); +console.log('Waiting for the dynamic text Visualization & Analysis to appear...'); +var queryElement = await waitForElementToContainText( + QUERY_TEXT_LOCATOR, + 'Query', + 45000 +); +console.log('Successfully found element containing Visualization & Analysis. Monitor is successful.');",,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,About,https://cbioportal-dev-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-dev-about.ccdi.cancer.gov/version.json', From 19f681f95a656b3ff8e99022240508e3496df857 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Fri, 21 Nov 2025 10:36:43 -0600 Subject: [PATCH 09/22] cbioportal dev fixes --- monitoring/FNL-Monitoring-List.csv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index 42bed62c..f92b6cbe 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -741,16 +741,16 @@ cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,"var assert = require('assert'); var WEBSITE_URL='https://cbioportal-dev-content.ccdi.cancer.gov/'; -var QUERY_TEXT_LOCATOR = $selenium.By.xpath('//h2[contains(normalize-space(.), ""Visualization & Analysis"")]'); +var QUERY_TEXT_LOCATOR = $webDriver.By.xpath('//h2[contains(normalize-space(.), ""Visualization & Analysis"")]'); async function waitForElementToContainText(locator, expectedText, timeoutMs) { const element = await $webDriver.wait( - $selenium.until.elementLocated(locator), + $webDriver.until.elementLocated(locator), timeoutMs, 'Timed out waiting for element to be located: ' + locator.toString() ); await $webDriver.wait( - $selenium.until.elementTextContains(element, expectedText), + $webDriver.until.elementTextContains(element, expectedText), timeoutMs, 'Timed out waiting for element to contain text: ' + expectedText ); From a3cba631ecc0bb9fff7f4f232aad33f73570b5ff Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Fri, 21 Nov 2025 10:47:45 -0600 Subject: [PATCH 10/22] cbioportal dev update --- monitoring/FNL-Monitoring-List.csv | 50 ++++++++++++++++++------------ 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index f92b6cbe..d26ec6d8 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -741,29 +741,39 @@ cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,"var assert = require('assert'); var WEBSITE_URL='https://cbioportal-dev-content.ccdi.cancer.gov/'; -var QUERY_TEXT_LOCATOR = $webDriver.By.xpath('//h2[contains(normalize-space(.), ""Visualization & Analysis"")]'); -async function waitForElementToContainText(locator, expectedText, timeoutMs) { - const element = await $webDriver.wait( - $webDriver.until.elementLocated(locator), - timeoutMs, - 'Timed out waiting for element to be located: ' + locator.toString() +var QUERY_TEXT_LOCATOR = $driver.By.xpath('//h2[contains(normalize-space(.), "Visualization & Analysis")]'); + +// Define timeout (in milliseconds) +var TIMEOUT = 45000; + +// Start the promise chain with $browser +$browser.get(WEBSITE_URL) +.then(function() { + console.log('Successfully navigated to the URL.'); + + // 2. Wait for the element to be located and visible + return $browser.waitForAndFindElement( + QUERY_TEXT_LOCATOR, + TIMEOUT ); - await $webDriver.wait( - $webDriver.until.elementTextContains(element, expectedText), - timeoutMs, - 'Timed out waiting for element to contain text: ' + expectedText +}) +.then(function(element) { + // 3. Get the text of the element + return element.getText(); +}) +.then(function(text) { + // 4. Assert that the text contains the required phrase + assert.ok( + text.includes("Visualization & Analysis"), + 'Validation failed: Text "Visualization & Analysis" not found in element.' ); - return element; -} -await $webDriver.get(WEBSITE_URL); -console.log('Waiting for the dynamic text Visualization & Analysis to appear...'); -var queryElement = await waitForElementToContainText( - QUERY_TEXT_LOCATOR, - 'Query', - 45000 -); -console.log('Successfully found element containing Visualization & Analysis. Monitor is successful.');",,TRUE,C09KQ60AGRY,, + console.log('Successfully validated text: ' + text); +}) +.catch(function(err) { + // If any step fails, catch the error and throw a clear message + throw new Error('Monitor failed: ' + err.message); +});",,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,About,https://cbioportal-dev-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-dev-about.ccdi.cancer.gov/version.json', From 516553a81f617942711a62b783975989cbc4bab6 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Fri, 21 Nov 2025 10:52:11 -0600 Subject: [PATCH 11/22] cbioportal dev fix --- monitoring/FNL-Monitoring-List.csv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index d26ec6d8..6013d2f2 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -742,7 +742,7 @@ cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-de var WEBSITE_URL='https://cbioportal-dev-content.ccdi.cancer.gov/'; -var QUERY_TEXT_LOCATOR = $driver.By.xpath('//h2[contains(normalize-space(.), "Visualization & Analysis")]'); +var QUERY_TEXT_LOCATOR = $driver.By.xpath('//h2[contains(normalize-space(.), ""Visualization & Analysis"")]'); // Define timeout (in milliseconds) var TIMEOUT = 45000; @@ -765,8 +765,8 @@ $browser.get(WEBSITE_URL) .then(function(text) { // 4. Assert that the text contains the required phrase assert.ok( - text.includes("Visualization & Analysis"), - 'Validation failed: Text "Visualization & Analysis" not found in element.' + text.includes('Visualization & Analysis'), + 'Validation failed: Text Visualization & Analysis not found in element.' ); console.log('Successfully validated text: ' + text); }) From 01ace5eed994acb1020956d0c8294bd877f13de9 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Tue, 25 Nov 2025 11:41:50 -0600 Subject: [PATCH 12/22] cbioportal dev fix --- monitoring/FNL-Monitoring-List.csv | 39 ++---------------------------- 1 file changed, 2 insertions(+), 37 deletions(-) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index 6013d2f2..5417f750 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -737,43 +737,8 @@ $http.post('https://populationsciences-qa.datacommons.cancer.gov/v1/graphql/', } );",,TRUE,C07E28M8R7T,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,cBioPortal,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,"var assert = require('assert'); - -var WEBSITE_URL='https://cbioportal-dev-content.ccdi.cancer.gov/'; - -var QUERY_TEXT_LOCATOR = $driver.By.xpath('//h2[contains(normalize-space(.), ""Visualization & Analysis"")]'); - -// Define timeout (in milliseconds) -var TIMEOUT = 45000; - -// Start the promise chain with $browser -$browser.get(WEBSITE_URL) -.then(function() { - console.log('Successfully navigated to the URL.'); - - // 2. Wait for the element to be located and visible - return $browser.waitForAndFindElement( - QUERY_TEXT_LOCATOR, - TIMEOUT - ); -}) -.then(function(element) { - // 3. Get the text of the element - return element.getText(); -}) -.then(function(text) { - // 4. Assert that the text contains the required phrase - assert.ok( - text.includes('Visualization & Analysis'), - 'Validation failed: Text Visualization & Analysis not found in element.' - ); - console.log('Successfully validated text: ' + text); -}) -.catch(function(err) { - // If any step fails, catch the error and throw a clear message - throw new Error('Monitor failed: ' + err.message); -});",,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,About,https://cbioportal-dev-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-dev-about.ccdi.cancer.gov/version.json', From d892770ee29197de35f512db10478e44d97fb7eb Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Wed, 26 Nov 2025 12:51:35 -0600 Subject: [PATCH 13/22] Added scripted monitor for cbio dev and qa content site --- monitoring/FNL-Monitoring-List.csv | 62 ++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 4 deletions(-) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index 5417f750..35f7132f 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -737,8 +737,35 @@ $http.post('https://populationsciences-qa.datacommons.cancer.gov/v1/graphql/', } );",,TRUE,C07E28M8R7T,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,Visualization,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,Datasets,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,"const assert = require('assert'); + +const URL_TO_TEST = "https://cbioportal-dev-content.ccdi.cancer.gov/"; + +const locator = $driver.By.xpath("//h2[contains(text(), 'Visualization')]"); + +$browser.get(URL_TO_TEST) + .then(() => $browser.sleep(3000)) // initial render wait + .then(() => { + + // Wait up to 20 seconds for the element to exist + return $browser.waitForAndFindElement(locator, 20000); + }) + .then(element => { + + // Wait until the element's text actually contains 'Visualization' + return $browser.wait(() => + element.getText().then(text => text.toLowerCase().includes('visualization')) + , 15000, "Timed out waiting for 'Visualization' text to appear"); + }) + .then(() => { + console.log("✔ 'Visualization' text is present!"); + }) + .catch(err => { + console.log("❌ Monitor failed:", err.message); + throw err; + }); +",,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,About,https://cbioportal-dev-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-dev-about.ccdi.cancer.gov/version.json', @@ -777,8 +804,35 @@ $http.get('https://cbioportal-api-dev.ccdi.cancer.gov/api/cancer-types', assert.ok('cancerTypeId' in firstObj, 'Expected object to have cancerTypeId key'); } );",,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Portal,https://cbioportal-qa.ccdi.cancer.gov,,cBioPortal,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Content,https://cbioportal-qa-content.ccdi.cancer.gov,,,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Portal,https://cbioportal-qa.ccdi.cancer.gov,,Datasets,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Content,https://cbioportal-qa-content.ccdi.cancer.gov,"const assert = require('assert'); + +const URL_TO_TEST = "https://cbioportal-qa-content.ccdi.cancer.gov/"; + +const locator = $driver.By.xpath("//h2[contains(text(), 'Visualization')]"); + +$browser.get(URL_TO_TEST) + .then(() => $browser.sleep(3000)) // initial render wait + .then(() => { + + // Wait up to 20 seconds for the element to exist + return $browser.waitForAndFindElement(locator, 20000); + }) + .then(element => { + + // Wait until the element's text actually contains 'Visualization' + return $browser.wait(() => + element.getText().then(text => text.toLowerCase().includes('visualization')) + , 15000, "Timed out waiting for 'Visualization' text to appear"); + }) + .then(() => { + console.log("✔ 'Visualization' text is present!"); + }) + .catch(err => { + console.log("❌ Monitor failed:", err.message); + throw err; + }); +",,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,About,https://cbioportal-qa-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-qa-about.ccdi.cancer.gov/version.json', From 4d66cab7305eb6bcbddc36077ed43ca6023dea67 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Wed, 26 Nov 2025 13:53:12 -0600 Subject: [PATCH 14/22] Fix syntax error for cbio dev and qa --- monitoring/FNL-Monitoring-List.csv | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index 35f7132f..b08b4313 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -740,9 +740,9 @@ $http.post('https://populationsciences-qa.datacommons.cancer.gov/v1/graphql/', cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,Datasets,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,"const assert = require('assert'); -const URL_TO_TEST = "https://cbioportal-dev-content.ccdi.cancer.gov/"; +const URL_TO_TEST = ""https://cbioportal-dev-content.ccdi.cancer.gov/""; -const locator = $driver.By.xpath("//h2[contains(text(), 'Visualization')]"); +const locator = $driver.By.xpath(""//h2[contains(text(), 'Visualization')]""); $browser.get(URL_TO_TEST) .then(() => $browser.sleep(3000)) // initial render wait @@ -756,13 +756,13 @@ $browser.get(URL_TO_TEST) // Wait until the element's text actually contains 'Visualization' return $browser.wait(() => element.getText().then(text => text.toLowerCase().includes('visualization')) - , 15000, "Timed out waiting for 'Visualization' text to appear"); + , 15000, ""Timed out waiting for 'Visualization' text to appear""); }) .then(() => { - console.log("✔ 'Visualization' text is present!"); + console.log(""✔ 'Visualization' text is present!""); }) .catch(err => { - console.log("❌ Monitor failed:", err.message); + console.log('❌ Monitor failed:', err.message); throw err; }); ",,TRUE,C09KQ60AGRY,, @@ -807,9 +807,9 @@ $http.get('https://cbioportal-api-dev.ccdi.cancer.gov/api/cancer-types', cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Portal,https://cbioportal-qa.ccdi.cancer.gov,,Datasets,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Content,https://cbioportal-qa-content.ccdi.cancer.gov,"const assert = require('assert'); -const URL_TO_TEST = "https://cbioportal-qa-content.ccdi.cancer.gov/"; +const URL_TO_TEST = 'https://cbioportal-qa-content.ccdi.cancer.gov/'; -const locator = $driver.By.xpath("//h2[contains(text(), 'Visualization')]"); +const locator = $driver.By.xpath(""//h2[contains(text(), 'Visualization')]""); $browser.get(URL_TO_TEST) .then(() => $browser.sleep(3000)) // initial render wait @@ -823,13 +823,13 @@ $browser.get(URL_TO_TEST) // Wait until the element's text actually contains 'Visualization' return $browser.wait(() => element.getText().then(text => text.toLowerCase().includes('visualization')) - , 15000, "Timed out waiting for 'Visualization' text to appear"); + , 15000, ""Timed out waiting for 'Visualization' text to appear""); }) .then(() => { - console.log("✔ 'Visualization' text is present!"); + console.log(""✔ 'Visualization' text is present!""); }) .catch(err => { - console.log("❌ Monitor failed:", err.message); + console.log(""❌ Monitor failed:"", err.message); throw err; }); ",,TRUE,C09KQ60AGRY,, From 1f2986df766d3b6f30a4cbf6085cbf8509f26ee7 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Mon, 22 Dec 2025 14:34:13 -0600 Subject: [PATCH 15/22] Added scripted browser monitor file --- monitoring/FNL-Monitoring-List.csv | 94 +++++++++- monitoring/scripts/monitor_update_csv.py | 5 +- ...set_synthetics_monitor_scripted_browser.py | 172 ++++++++++++++++++ 3 files changed, 269 insertions(+), 2 deletions(-) create mode 100644 monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index b08b4313..b5f95510 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -917,4 +917,96 @@ $http.get('https://cbioportal-api.ccdi.cancer.gov/api/cancer-types', assert.ok('cancerTypeId' in firstObj, 'Expected object to have cancerTypeId key'); } -);",,TRUE,C09TVCQB108,, \ No newline at end of file +);",,TRUE,C09TVCQB108,, +Cancer Data Aggregator,CDA,CRDC,Dev,API,https://cda-dev.datacommons.cancer.gov/,"var assert = require('assert'); + +$http.get('https://cda-dev.datacommons.cancer.gov/columns/', + + function (err, response, body) { + + if (err) { + throw new Error(err); + } + + console.log('Response:', body); + console.log('Response:', response.statusCode); + + assert.equal(response.statusCode, 200, 'Expected a 200 OK response.'); + + const firstObj = body.result[0]; + assert.ok('table' in firstObj, 'Expected object to have table key.'); + assert.ok('column' in firstObj, 'Expected object to have column key.'); + assert.ok('data_type' in firstObj, 'Expected object to have data_type key.'); + assert.ok('nullable' in firstObj, 'Expected object to have nullable key.'); + assert.ok('description' in firstObj, 'Expected object to have description key.'); + } +);",,TRUE,C0A1NM8PRAP,, +Cancer Data Aggregator,CDA,CRDC,Qa,API,https://cda-qa.datacommons.cancer.gov/,"var assert = require('assert'); + +$http.get('https://cda-qa.datacommons.cancer.gov/columns/', + + function (err, response, body) { + + if (err) { + throw new Error(err); + } + + console.log('Response:', body); + console.log('Response:', response.statusCode); + + assert.equal(response.statusCode, 200, 'Expected a 200 OK response.'); + + const firstObj = body.result[0]; + assert.ok('table' in firstObj, 'Expected object to have table key.'); + assert.ok('column' in firstObj, 'Expected object to have column key.'); + assert.ok('data_type' in firstObj, 'Expected object to have data_type key.'); + assert.ok('nullable' in firstObj, 'Expected object to have nullable key.'); + assert.ok('description' in firstObj, 'Expected object to have description key.'); + } +);",,TRUE,C0A1NM8PRAP,, +Cancer Data Aggregator,CDA,CRDC,Stage,API,https://cda-stage.datacommons.cancer.gov/,"var assert = require('assert'); + +$http.get('https://cda-stage.datacommons.cancer.gov/columns/', + + function (err, response, body) { + + if (err) { + throw new Error(err); + } + + console.log('Response:', body); + console.log('Response:', response.statusCode); + + assert.equal(response.statusCode, 200, 'Expected a 200 OK response.'); + + const firstObj = body.result[0]; + assert.ok('table' in firstObj, 'Expected object to have table key.'); + assert.ok('column' in firstObj, 'Expected object to have column key.'); + assert.ok('data_type' in firstObj, 'Expected object to have data_type key.'); + assert.ok('nullable' in firstObj, 'Expected object to have nullable key.'); + assert.ok('description' in firstObj, 'Expected object to have description key.'); + } +);",,TRUE,C0A1NM8PRAP,, +Cancer Data Aggregator,CDA,CRDC,Prod,API,https://cda.datacommons.cancer.gov/,"var assert = require('assert'); + +$http.get('https://cda.datacommons.cancer.gov/columns/', + + function (err, response, body) { + + if (err) { + throw new Error(err); + } + + console.log('Response:', body); + console.log('Response:', response.statusCode); + + assert.equal(response.statusCode, 200, 'Expected a 200 OK response.'); + + const firstObj = body.result[0]; + assert.ok('table' in firstObj, 'Expected object to have table key.'); + assert.ok('column' in firstObj, 'Expected object to have column key.'); + assert.ok('data_type' in firstObj, 'Expected object to have data_type key.'); + assert.ok('nullable' in firstObj, 'Expected object to have nullable key.'); + assert.ok('description' in firstObj, 'Expected object to have description key.'); + } +);",,TRUE,C0A1RL83C05,, \ No newline at end of file diff --git a/monitoring/scripts/monitor_update_csv.py b/monitoring/scripts/monitor_update_csv.py index b8b38dc0..58591586 100644 --- a/monitoring/scripts/monitor_update_csv.py +++ b/monitoring/scripts/monitor_update_csv.py @@ -2,7 +2,7 @@ import sys, getopt, json, os, csv, codecs, requests, contextlib from monitors.alerts.policies import set_fargate_policy, set_alb_policy, set_opensearch_policy, set_synthetics_policy -from monitors.synthetics import set_synthetics_monitor_simple_browser, set_synthetics_monitor_scripted_api, set_synthetics_monitor_cert_expiration +from monitors.synthetics import set_synthetics_monitor_simple_browser, set_synthetics_monitor_scripted_api, set_synthetics_monitor_scripted_browser, set_synthetics_monitor_cert_expiration from monitors.alerts.destinations import set_email_destination, set_slack_destination from monitors.alerts.workflows import set_workflow @@ -132,10 +132,13 @@ def setSynthetics(input_url, policyList): api = json.loads(json.dumps(api_data)) api.update({"location": row["Private_Location"]}) api.update({"query": row["Endpoint_Query"]}) + api.update({"browser_query": row["Browser_Query"]}) api.update({"text": row["Validation_Text"]}) if api['query']: set_synthetics_monitor_scripted_api.setsyntheticsmonitor(project, tier, key, api, synthetics_policy_id) + elif api['browser_query']: + set_synthetics_monitor_scripted_browser.setsyntheticsmonitor(project, tier, key, api, synthetics_policy_id) elif tier.lower() == 'prod' and api['name'].lower() == 'portal': set_synthetics_monitor_simple_browser.setsyntheticsmonitor(project, tier, key, api, synthetics_policy_id) set_synthetics_monitor_cert_expiration.setsyntheticsmonitor(project, tier, key, api, synthetics_policy_id) diff --git a/monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py b/monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py new file mode 100644 index 00000000..7fb2f685 --- /dev/null +++ b/monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py @@ -0,0 +1,172 @@ +#!/usr/bin/python + +import os +import json +import requests +import time +from monitors.alerts.conditions.synthetics import set_synthetics_condition + +def setsyntheticsmonitor(project, tier, key, api, policy_id): + API_ENDPOINT = 'https://api.newrelic.com/graphql' + NR_ACCT_ID = os.getenv('NR_ACCT_ID') + monitor_name = '{} {} {} Monitor'.format(project, tier, api['name']) + + if tier.lower() == 'prod': + freq = 'EVERY_10_MINUTES' + else: + freq = 'EVERY_30_MINUTES' + + if api['location'].lower() in ['true']: + location = '''private: {{ + guid: "{guid}", + vsePassword: "{password}" + }}'''.format(guid=os.getenv('LOCATION'), password=os.getenv('LOCATION_KEY')) + else: + location = "public: [\"AWS_US_EAST_1\"]" + + monitor_found = False + headers = { + "Api-Key": key, + "Content-Type": "application/json" + } + + entityQuery = {"query":"{" + "actor {" + "entitySearch(query: \"domain = 'SYNTH' AND type = 'MONITOR'\") {" + "results {" + "entities {" + "... on SyntheticMonitorEntityOutline {" + "name\n" + "guid\n" + "monitorID" + "}" + "}" + "}" + "}" + "}" + "}", "variables":""} + + try: + response = requests.post(API_ENDPOINT, headers=headers, data=json.dumps(entityQuery), allow_redirects=False) + if 'errors' in response.json(): raise ValueError('{} Script Error: {}'.format(monitor_name, response.json()['errors'])) + except (requests.exceptions.RequestException, ValueError) as e: + raise SystemExit(e) + + def find_by_key(data, target): + for key, value in data.items(): + if isinstance(value, dict): + yield from find_by_key(value, target) + elif key == target: + yield value + + for x in find_by_key(response.json(), 'entities'): + entities = x + + for x in entities: + if monitor_name in x.get("name", "none"): + monitor_found = True + monitor_guid = x.get('guid') + monitor_id = x.get('monitorID') + print('{} already exists, updating with the latest configuration.'.format(monitor_name)) + + data = {"query":"mutation {" + "syntheticsUpdateScriptBrowserMonitor (" + "guid: \"" + monitor_guid + "\"," + "monitor: {" + "locations: {" + "" + location + "" + "}," + "name: \"" + monitor_name + "\"," + "period: " + freq + "," + "runtime: {" + "runtimeType: \"CHROME_BROWSER\"," + "runtimeTypeVersion: \"100\"," + "scriptLanguage: \"JAVASCRIPT\"" + "}" + "script: " + json.dumps(api['browser_query']) + "," + "status: ENABLED," + "tags: [" + "{" + "key: \"Project\"," + "values: [\"" + project + "\"]" + "}," + "{" + "key: \"Tier\"," + "values: [\"" + tier + "\"]" + "}," + "]" + "} ) {" + "errors {" + "description\n" + "type" + "}" + "}" + "}", "variables":""} + + try: + response = requests.post(API_ENDPOINT, headers=headers, data=json.dumps(data), allow_redirects=False) + if 'errors' in response.json(): raise ValueError('{} Script Error: {}'.format(monitor_name, response.json()['errors'])) + except (requests.exceptions.RequestException, ValueError) as e: + raise SystemExit(e) + + if not monitor_found: + data = {"query":"mutation {" + "syntheticsCreateScriptBrowserMonitor (" + "accountId: " + NR_ACCT_ID + "," + "monitor: {" + "locations: {" + "" + location + "" + "}," + "name: \"" + monitor_name + "\"," + "period: " + freq + "," + "runtime: {" + "runtimeType: \"CHROME_BROWSER\"," + "runtimeTypeVersion: \"100\"," + "scriptLanguage: \"JAVASCRIPT\"" + "}" + "script: " + json.dumps(api['browser_query']) + "," + "status: ENABLED," + "tags: [" + "{" + "key: \"Project\"," + "values: [\"" + project + "\"]" + "}," + "{" + "key: \"Tier\"," + "values: [\"" + tier + "\"]" + "}," + "]" + "} ) {" + "errors {" + "description\n" + "type" + "}" + "}" + "}", "variables":""} + + try: + response = requests.post('{}'.format(API_ENDPOINT), headers=headers, data=json.dumps(data), allow_redirects=False) + print(response.json()) + if 'errors' in response.json(): raise ValueError('{} Script Error: {}'.format(monitor_name, response.json()['errors'])) + except (requests.exceptions.RequestException, ValueError) as e: + raise SystemExit(e) + print("{} was created".format(monitor_name)) + + # get the newly created monitor + # pause to allow it to be created + time.sleep(15) + try: + response = requests.post(API_ENDPOINT, headers=headers, data=json.dumps(entityQuery), allow_redirects=False) + if 'errors' in response.json(): raise ValueError('{} Script Error: {}'.format(monitor_name, response.json()['errors'])) + except (requests.exceptions.RequestException, ValueError) as e: + raise SystemExit(e) + + for x in find_by_key(response.json(), 'entities'): + entities = x + + for x in entities: + if monitor_name in x.get("name", "none"): + monitor_id = x.get('monitorID') + + # add synthetics condition + set_synthetics_condition.setcondition(project, tier, key, api['name'], monitor_id, policy_id) \ No newline at end of file From 035d01e9f1f292a1190bc516e79b5346a23b3243 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Tue, 23 Dec 2025 13:09:59 -0600 Subject: [PATCH 16/22] Added script for scripted browser for cbioportal --- monitoring/FNL-Monitoring-List.csv | 208 +++++++++++++++++++++-------- 1 file changed, 149 insertions(+), 59 deletions(-) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index df7a1db5..b59c0dbe 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -1,4 +1,4 @@ -Project_Name,Project_Acronym,Program,Tier,Endpoint_Name,URL,Endpoint_Query,Validation_Text,Private_Location,Slack_Channel,Alert_Email,Monitored_Resources +Project_Name,Project_Acronym,Program,Tier,Endpoint_Name,URL,Endpoint_Query,Validation_Text,Private_Location,Slack_Channel,Alert_Email,Monitored_Resources,Browser_Query Clinical Trial Data Commons,ctdc,CRDC,Dev,Portal,https://clinical-dev.datacommons.cancer.gov,,,TRUE,C051XGDRQG6,,opensearch Clinical Trial Data Commons,ctdc,CRDC,Dev,API,https://clinical-dev.datacommons.cancer.gov/v1/graphql,"var assert = require('assert'); @@ -738,34 +738,34 @@ $http.post('https://populationsciences-qa.datacommons.cancer.gov/v1/graphql/', } );",,TRUE,C07E28M8R7T,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Portal,https://cbioportal-dev.ccdi.cancer.gov,,Datasets,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,"const assert = require('assert'); - -const URL_TO_TEST = ""https://cbioportal-dev-content.ccdi.cancer.gov/""; - -const locator = $driver.By.xpath(""//h2[contains(text(), 'Visualization')]""); - -$browser.get(URL_TO_TEST) - .then(() => $browser.sleep(3000)) // initial render wait - .then(() => { - - // Wait up to 20 seconds for the element to exist - return $browser.waitForAndFindElement(locator, 20000); - }) - .then(element => { - - // Wait until the element's text actually contains 'Visualization' - return $browser.wait(() => - element.getText().then(text => text.toLowerCase().includes('visualization')) - , 15000, ""Timed out waiting for 'Visualization' text to appear""); - }) - .then(() => { - console.log(""✔ 'Visualization' text is present!""); - }) - .catch(err => { - console.log('❌ Monitor failed:', err.message); +cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-dev-content.ccdi.cancer.gov,,,TRUE,C09KQ60AGRY,,,"const assert = require('assert'); + +const CONFIG = { + URL: 'https://cbioportal-dev-content.ccdi.cancer.gov/', + XPATH: ""//h2[contains(text(), 'Visualization')]"", + EXPECTED_TEXT: 'visualization' // Lowercase for easier comparison +}; + +async function runMonitor() { + console.log(`Starting monitor for: ${CONFIG.URL}`); + await $browser.get(CONFIG.URL); + + console.log(`Waiting for element: ${CONFIG.XPATH}`); + const element = await $browser.waitForAndFindElement($driver.By.xpath(CONFIG.XPATH), 20000); + + const actualText = await element.getText(); + console.log(`Found text: ${actualText}`); + + assert.ok( + actualText.toLowerCase().includes(CONFIG.EXPECTED_TEXT), + `Verification Failed: Expected ${CONFIG.EXPECTED_TEXT} but found ${actualText}` + ); +} + +runMonitor().catch(err => { + console.error('Monitor Failed:'', err.message); throw err; - }); -",,TRUE,C09KQ60AGRY,, +});" cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,About,https://cbioportal-dev-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-dev-about.ccdi.cancer.gov/version.json', @@ -805,34 +805,34 @@ $http.get('https://cbioportal-api-dev.ccdi.cancer.gov/api/cancer-types', } );",,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Portal,https://cbioportal-qa.ccdi.cancer.gov,,Datasets,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Content,https://cbioportal-qa-content.ccdi.cancer.gov,"const assert = require('assert'); - -const URL_TO_TEST = 'https://cbioportal-qa-content.ccdi.cancer.gov/'; - -const locator = $driver.By.xpath(""//h2[contains(text(), 'Visualization')]""); - -$browser.get(URL_TO_TEST) - .then(() => $browser.sleep(3000)) // initial render wait - .then(() => { - - // Wait up to 20 seconds for the element to exist - return $browser.waitForAndFindElement(locator, 20000); - }) - .then(element => { - - // Wait until the element's text actually contains 'Visualization' - return $browser.wait(() => - element.getText().then(text => text.toLowerCase().includes('visualization')) - , 15000, ""Timed out waiting for 'Visualization' text to appear""); - }) - .then(() => { - console.log(""✔ 'Visualization' text is present!""); - }) - .catch(err => { - console.log(""❌ Monitor failed:"", err.message); +cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Content,https://cbioportal-qa-content.ccdi.cancer.gov,,,TRUE,C09KQ60AGRY,,,"const assert = require('assert'); + +const CONFIG = { + URL: 'https://cbioportal-qa-content.ccdi.cancer.gov/', + XPATH: ""//h2[contains(text(), 'Visualization')]"", + EXPECTED_TEXT: 'visualization' // Lowercase for easier comparison +}; + +async function runMonitor() { + console.log(`Starting monitor for: ${CONFIG.URL}`); + await $browser.get(CONFIG.URL); + + console.log(`Waiting for element: ${CONFIG.XPATH}`); + const element = await $browser.waitForAndFindElement($driver.By.xpath(CONFIG.XPATH), 20000); + + const actualText = await element.getText(); + console.log(`Found text: ${actualText}`); + + assert.ok( + actualText.toLowerCase().includes(CONFIG.EXPECTED_TEXT), + `Verification Failed: Expected ${CONFIG.EXPECTED_TEXT} but found ${actualText}` + ); +} + +runMonitor().catch(err => { + console.error('Monitor Failed:'', err.message); throw err; - }); -",,TRUE,C09KQ60AGRY,, +});" cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,About,https://cbioportal-qa-about.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-qa-about.ccdi.cancer.gov/version.json', @@ -872,8 +872,53 @@ $http.get('https://cbioportal-api-qa.ccdi.cancer.gov/api/cancer-types', } );",,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Portal,https://cbioportal-stage.ccdi.cancer.gov,,cBioPortal,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Content,https://cbioportal-stage-content.ccdi.cancer.gov,,,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Portal,https://cbioportal-stage.ccdi.cancer.gov,,Datasets,TRUE,C09KQ60AGRY,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Content,https://cbioportal-stage-content.ccdi.cancer.gov,,,TRUE,C09KQ60AGRY,,,"const assert = require('assert'); + +const CONFIG = { + URL: 'https://cbioportal-stage-content.ccdi.cancer.gov/', + XPATH: ""//h2[contains(text(), 'Visualization')]"", + EXPECTED_TEXT: 'visualization' // Lowercase for easier comparison +}; + +async function runMonitor() { + console.log(`Starting monitor for: ${CONFIG.URL}`); + await $browser.get(CONFIG.URL); + + console.log(`Waiting for element: ${CONFIG.XPATH}`); + const element = await $browser.waitForAndFindElement($driver.By.xpath(CONFIG.XPATH), 20000); + + const actualText = await element.getText(); + console.log(`Found text: ${actualText}`); + + assert.ok( + actualText.toLowerCase().includes(CONFIG.EXPECTED_TEXT), + `Verification Failed: Expected ${CONFIG.EXPECTED_TEXT} but found ${actualText}` + ); +} + +runMonitor().catch(err => { + console.error('Monitor Failed:'', err.message); + throw err; +});" +cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,About,https://cbioportal-stage-about.ccdi.cancer.gov,"var assert = require('assert'); + +$http.get('https://cbioportal-stage-about.ccdi.cancer.gov/version.json', + + function (err, response, body) { + + if (err) { + throw new Error(err); + } + + console.log('Response:', body); + console.log('Response:', response.statusCode); + + assert.equal(response.statusCode, 200, 'Expected a 200 OK response.'); + + assert.ok('version' in body, 'Expected object to have version key'); + } +);",,TRUE,C09KQ60AGRY,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,API,https://cbioportal-api-stage.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-api-stage.ccdi.cancer.gov/api/cancer-types', @@ -895,8 +940,53 @@ $http.get('https://cbioportal-api-stage.ccdi.cancer.gov/api/cancer-types', } );",,TRUE,C09KQ60AGRY,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Portal,https://cbioportal.ccdi.cancer.gov,,cBioPortal,TRUE,C09TVCQB108,, -cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Content,https://cbioportal-content.ccdi.cancer.gov,,,TRUE,C09TVCQB108,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Portal,https://cbioportal.ccdi.cancer.gov,,Datasets,TRUE,C09TVCQB108,, +cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Content,https://cbioportal-content.ccdi.cancer.gov,,,TRUE,C09TVCQB108,,,"const assert = require('assert'); + +const CONFIG = { + URL: 'https://cbioportal-content.ccdi.cancer.gov/', + XPATH: ""//h2[contains(text(), 'Visualization')]"", + EXPECTED_TEXT: 'visualization' // Lowercase for easier comparison +}; + +async function runMonitor() { + console.log(`Starting monitor for: ${CONFIG.URL}`); + await $browser.get(CONFIG.URL); + + console.log(`Waiting for element: ${CONFIG.XPATH}`); + const element = await $browser.waitForAndFindElement($driver.By.xpath(CONFIG.XPATH), 20000); + + const actualText = await element.getText(); + console.log(`Found text: ${actualText}`); + + assert.ok( + actualText.toLowerCase().includes(CONFIG.EXPECTED_TEXT), + `Verification Failed: Expected ${CONFIG.EXPECTED_TEXT} but found ${actualText}` + ); +} + +runMonitor().catch(err => { + console.error('Monitor Failed:'', err.message); + throw err; +});" +cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,About,https://cbioportal-about.ccdi.cancer.gov,"var assert = require('assert'); + +$http.get('https://cbioportal-about.ccdi.cancer.gov/version.json', + + function (err, response, body) { + + if (err) { + throw new Error(err); + } + + console.log('Response:', body); + console.log('Response:', response.statusCode); + + assert.equal(response.statusCode, 200, 'Expected a 200 OK response.'); + + assert.ok('version' in body, 'Expected object to have version key'); + } +);",,TRUE,C09TVCQB108,, cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,API,https://cbioportal-api.ccdi.cancer.gov,"var assert = require('assert'); $http.get('https://cbioportal-api.ccdi.cancer.gov/api/cancer-types', From b539271996a1a2c08304f3884b7c3ed3b34d4db2 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Tue, 23 Dec 2025 16:46:13 -0600 Subject: [PATCH 17/22] Improved code quality --- monitoring/scripts/monitor_update_csv.py | 2 +- .../synthetics/set_synthetics_monitor_scripted_browser.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/monitoring/scripts/monitor_update_csv.py b/monitoring/scripts/monitor_update_csv.py index 58591586..fa9ad558 100644 --- a/monitoring/scripts/monitor_update_csv.py +++ b/monitoring/scripts/monitor_update_csv.py @@ -138,7 +138,7 @@ def setSynthetics(input_url, policyList): if api['query']: set_synthetics_monitor_scripted_api.setsyntheticsmonitor(project, tier, key, api, synthetics_policy_id) elif api['browser_query']: - set_synthetics_monitor_scripted_browser.setsyntheticsmonitor(project, tier, key, api, synthetics_policy_id) + set_synthetics_monitor_scripted_browser.setSyntheticsMonitor(project, tier, key, api, synthetics_policy_id) elif tier.lower() == 'prod' and api['name'].lower() == 'portal': set_synthetics_monitor_simple_browser.setsyntheticsmonitor(project, tier, key, api, synthetics_policy_id) set_synthetics_monitor_cert_expiration.setsyntheticsmonitor(project, tier, key, api, synthetics_policy_id) diff --git a/monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py b/monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py index 7fb2f685..8d6dced2 100644 --- a/monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py +++ b/monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py @@ -6,7 +6,7 @@ import time from monitors.alerts.conditions.synthetics import set_synthetics_condition -def setsyntheticsmonitor(project, tier, key, api, policy_id): +def setSyntheticsMonitor(project, tier, key, api, policy_id): API_ENDPOINT = 'https://api.newrelic.com/graphql' NR_ACCT_ID = os.getenv('NR_ACCT_ID') monitor_name = '{} {} {} Monitor'.format(project, tier, api['name']) @@ -58,7 +58,7 @@ def find_by_key(data, target): yield from find_by_key(value, target) elif key == target: yield value - + for x in find_by_key(response.json(), 'entities'): entities = x From d2e0aadc9557c9c4908168942142476b5aea7801 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Tue, 30 Dec 2025 12:25:23 -0600 Subject: [PATCH 18/22] Minor fixes --- .../synthetics/set_synthetics_monitor_scripted_browser.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py b/monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py index 8d6dced2..99629ef2 100644 --- a/monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py +++ b/monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py @@ -70,7 +70,7 @@ def find_by_key(data, target): print('{} already exists, updating with the latest configuration.'.format(monitor_name)) data = {"query":"mutation {" - "syntheticsUpdateScriptBrowserMonitor (" + "syntheticsUpdateScriptedBrowserMonitor (" "guid: \"" + monitor_guid + "\"," "monitor: {" "locations: {" @@ -111,7 +111,7 @@ def find_by_key(data, target): if not monitor_found: data = {"query":"mutation {" - "syntheticsCreateScriptBrowserMonitor (" + "syntheticsCreateScriptedBrowserMonitor (" "accountId: " + NR_ACCT_ID + "," "monitor: {" "locations: {" From dd40e625eacd55a77541974555d0f5a53df9cf94 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Tue, 30 Dec 2025 13:02:09 -0600 Subject: [PATCH 19/22] Updated the branch in jenkins file --- monitoring/UpdateNewrelic.jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitoring/UpdateNewrelic.jenkinsfile b/monitoring/UpdateNewrelic.jenkinsfile index 576bdbb2..0582772d 100644 --- a/monitoring/UpdateNewrelic.jenkinsfile +++ b/monitoring/UpdateNewrelic.jenkinsfile @@ -34,7 +34,7 @@ pipeline { steps { checkout([$class: 'GitSCM', - branches: [[name: '*/main']], + branches: [[name: '*/cbioportal-synthetic-monitors']], userRemoteConfigs: [[url: 'https://github.com/CBIIT/datacommons-devops']]]) From fc4f86906cfb76eafcffa09a5a3a294953ad4e09 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Tue, 30 Dec 2025 13:10:27 -0600 Subject: [PATCH 20/22] Reverted scripted browser change --- .../synthetics/set_synthetics_monitor_scripted_browser.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py b/monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py index 99629ef2..8d6dced2 100644 --- a/monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py +++ b/monitoring/scripts/monitors/synthetics/set_synthetics_monitor_scripted_browser.py @@ -70,7 +70,7 @@ def find_by_key(data, target): print('{} already exists, updating with the latest configuration.'.format(monitor_name)) data = {"query":"mutation {" - "syntheticsUpdateScriptedBrowserMonitor (" + "syntheticsUpdateScriptBrowserMonitor (" "guid: \"" + monitor_guid + "\"," "monitor: {" "locations: {" @@ -111,7 +111,7 @@ def find_by_key(data, target): if not monitor_found: data = {"query":"mutation {" - "syntheticsCreateScriptedBrowserMonitor (" + "syntheticsCreateScriptBrowserMonitor (" "accountId: " + NR_ACCT_ID + "," "monitor: {" "locations: {" From 9cd5ef9bff00aa63c1a93b82573ffb35087513c4 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Wed, 31 Dec 2025 10:30:06 -0600 Subject: [PATCH 21/22] Fixed typo and removed comments --- monitoring/FNL-Monitoring-List.csv | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/monitoring/FNL-Monitoring-List.csv b/monitoring/FNL-Monitoring-List.csv index b59c0dbe..3b0249d5 100644 --- a/monitoring/FNL-Monitoring-List.csv +++ b/monitoring/FNL-Monitoring-List.csv @@ -743,7 +743,7 @@ cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,Content,https://cbioportal-de const CONFIG = { URL: 'https://cbioportal-dev-content.ccdi.cancer.gov/', XPATH: ""//h2[contains(text(), 'Visualization')]"", - EXPECTED_TEXT: 'visualization' // Lowercase for easier comparison + EXPECTED_TEXT: 'visualization' }; async function runMonitor() { @@ -763,7 +763,7 @@ async function runMonitor() { } runMonitor().catch(err => { - console.error('Monitor Failed:'', err.message); + console.error('Monitor Failed:', err.message); throw err; });" cBioPortal for Cancer Genomics,cbioportal,CCDI,Dev,About,https://cbioportal-dev-about.ccdi.cancer.gov,"var assert = require('assert'); @@ -810,7 +810,7 @@ cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,Content,https://cbioportal-qa- const CONFIG = { URL: 'https://cbioportal-qa-content.ccdi.cancer.gov/', XPATH: ""//h2[contains(text(), 'Visualization')]"", - EXPECTED_TEXT: 'visualization' // Lowercase for easier comparison + EXPECTED_TEXT: 'visualization' }; async function runMonitor() { @@ -830,7 +830,7 @@ async function runMonitor() { } runMonitor().catch(err => { - console.error('Monitor Failed:'', err.message); + console.error('Monitor Failed:', err.message); throw err; });" cBioPortal for Cancer Genomics,cbioportal,CCDI,Qa,About,https://cbioportal-qa-about.ccdi.cancer.gov,"var assert = require('assert'); @@ -878,7 +878,7 @@ cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,Content,https://cbioportal- const CONFIG = { URL: 'https://cbioportal-stage-content.ccdi.cancer.gov/', XPATH: ""//h2[contains(text(), 'Visualization')]"", - EXPECTED_TEXT: 'visualization' // Lowercase for easier comparison + EXPECTED_TEXT: 'visualization' }; async function runMonitor() { @@ -898,7 +898,7 @@ async function runMonitor() { } runMonitor().catch(err => { - console.error('Monitor Failed:'', err.message); + console.error('Monitor Failed:', err.message); throw err; });" cBioPortal for Cancer Genomics,cbioportal,CCDI,Stage,About,https://cbioportal-stage-about.ccdi.cancer.gov,"var assert = require('assert'); @@ -946,7 +946,7 @@ cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,Content,https://cbioportal-c const CONFIG = { URL: 'https://cbioportal-content.ccdi.cancer.gov/', XPATH: ""//h2[contains(text(), 'Visualization')]"", - EXPECTED_TEXT: 'visualization' // Lowercase for easier comparison + EXPECTED_TEXT: 'visualization' }; async function runMonitor() { @@ -966,7 +966,7 @@ async function runMonitor() { } runMonitor().catch(err => { - console.error('Monitor Failed:'', err.message); + console.error('Monitor Failed:', err.message); throw err; });" cBioPortal for Cancer Genomics,cbioportal,CCDI,Prod,About,https://cbioportal-about.ccdi.cancer.gov,"var assert = require('assert'); From d18cb925605cf97c86208d5cb4a3cb6726d051e6 Mon Sep 17 00:00:00 2001 From: cawohnjing Date: Wed, 31 Dec 2025 12:24:24 -0600 Subject: [PATCH 22/22] Reverted the branch in jenkins file --- monitoring/UpdateNewrelic.jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitoring/UpdateNewrelic.jenkinsfile b/monitoring/UpdateNewrelic.jenkinsfile index 0582772d..576bdbb2 100644 --- a/monitoring/UpdateNewrelic.jenkinsfile +++ b/monitoring/UpdateNewrelic.jenkinsfile @@ -34,7 +34,7 @@ pipeline { steps { checkout([$class: 'GitSCM', - branches: [[name: '*/cbioportal-synthetic-monitors']], + branches: [[name: '*/main']], userRemoteConfigs: [[url: 'https://github.com/CBIIT/datacommons-devops']]])