From 4d5a2736034b55ef4f1c3014b0790265aab5e80d Mon Sep 17 00:00:00 2001 From: David Archer <16766645+davidaustinarcher@users.noreply.github.com> Date: Mon, 12 Sep 2022 18:04:04 +0100 Subject: [PATCH] Separating Assess/Protect tests --- Jenkinsfile | 6 +-- e2e/{ => assess}/account.spec.ts | 0 e2e/{ => assess}/other.spec.ts | 0 e2e/{ => assess}/owner.spec.ts | 0 e2e/{ => protect}/attack.spec.ts | 0 exercise.js | 78 -------------------------------- 6 files changed, 3 insertions(+), 81 deletions(-) rename e2e/{ => assess}/account.spec.ts (100%) rename e2e/{ => assess}/other.spec.ts (100%) rename e2e/{ => assess}/owner.spec.ts (100%) rename e2e/{ => protect}/attack.spec.ts (100%) delete mode 100644 exercise.js diff --git a/Jenkinsfile b/Jenkinsfile index 3e11352..7c01168 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -76,7 +76,7 @@ pipeline { timeout(5) { sh """ FQDN=\$(terraform output fqdn) - BASEURL=\$FQDN npx playwright test + BASEURL=\$FQDN npx playwright test e2e/assess/*.ts """ } } @@ -118,7 +118,7 @@ pipeline { timeout(5) { sh """ FQDN=\$(terraform output fqdn) - BASEURL=\$FQDN npx playwright test + BASEURL=\$FQDN npx playwright test e2e/assess/*.ts """ } } @@ -158,7 +158,7 @@ pipeline { timeout(5) { sh """ FQDN=\$(terraform output fqdn) - BASEURL=\$FQDN npx playwright test e2e/attack.spec.ts + BASEURL=\$FQDN npx playwright test e2e/protect/*.ts """ } } diff --git a/e2e/account.spec.ts b/e2e/assess/account.spec.ts similarity index 100% rename from e2e/account.spec.ts rename to e2e/assess/account.spec.ts diff --git a/e2e/other.spec.ts b/e2e/assess/other.spec.ts similarity index 100% rename from e2e/other.spec.ts rename to e2e/assess/other.spec.ts diff --git a/e2e/owner.spec.ts b/e2e/assess/owner.spec.ts similarity index 100% rename from e2e/owner.spec.ts rename to e2e/assess/owner.spec.ts diff --git a/e2e/attack.spec.ts b/e2e/protect/attack.spec.ts similarity index 100% rename from e2e/attack.spec.ts rename to e2e/protect/attack.spec.ts diff --git a/exercise.js b/exercise.js deleted file mode 100644 index b796faf..0000000 --- a/exercise.js +++ /dev/null @@ -1,78 +0,0 @@ -const puppeteer = require('puppeteer'); - -(async () => { - if (!process.env.BASEURL) { - console.log('Please specify a base url. E.g. `BASEURL=http://example.org node exercise.js`'); - } else { - var browser; - - if (process.env.DEBUG) { - browser = await puppeteer.launch({ - headless: false, - executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' - }); - } else { - browser = await puppeteer.launch(); - } - - const sqliPayload = "D' OR '1%'='1" - - //home page - - console.log('visiting home page') - const page = await browser.newPage() - await page.goto(process.env.BASEURL) - await page.waitFor(2000) - - //exercising sqli vulnerability - console.log('exercising sqli vulnerability') - const page2 = await browser.newPage() - await page2.goto(process.env.BASEURL + '/owners/find') - await page2.waitFor(2000) - await page2.focus('#lastName.form-control') - await page2.keyboard.type('Davis'); - await page2.waitFor(2000) - await page2.click('button.btn.btn-default') - await page2.waitFor(2000) - - //attacking sqli vulnerability - - console.log('attacking sqli vulnerability') - const page3 = await browser.newPage() - await page3.goto(process.env.BASEURL + '/owners/find') - await page3.waitFor(2000) - await page3.focus('#lastName.form-control') - await page3.keyboard.type(sqliPayload); - await page3.waitFor(2000) - await page3.click('button.btn.btn-default') - await page3.waitFor(2000) - - //vets - console.log('visiting vets') - const page4 = await browser.newPage() - await page4.goto(process.env.BASEURL + '/vets.html') - await page4.waitFor(2000) - - //owners - console.log('visiting owners') - const page5 = await browser.newPage() - await page5.goto(process.env.BASEURL + '/owners') - await page5.waitFor(2000) - - // edit owner - - console.log('editing an owner') - const page6 = await browser.newPage() - await page6.goto(process.env.BASEURL + '/owners/1/edit') - await page6.waitFor(2000) - await page6.evaluate( () => document.getElementById("firstName").value = "David") - await page6.waitFor(2000) - await page6.click('button.btn.btn-default') - await page6.waitFor(2000) - - - - browser.close() - console.log('End') - } -})()