From 1cba5476a84ae313b226078ae99bda2eac5a5301 Mon Sep 17 00:00:00 2001 From: JamesCullum Date: Thu, 26 Mar 2020 13:27:32 +0100 Subject: [PATCH] =?UTF-8?q?-=20Fixed=20all=20absolute=20paths=20I=20could?= =?UTF-8?q?=20find=20-=20Fixed=20SSTI=20test,=20which=20failed=20because?= =?UTF-8?q?=20it=20didn=C3=84t=20trigger=20the=20serverside=20scoring=20-?= =?UTF-8?q?=20Fixed=20timing=20issues=20in=20registerSpec=20and=20contactS?= =?UTF-8?q?pec,=20where=20the=20XSS=20didn't=20work=20if=20the=20browser?= =?UTF-8?q?=20was=20too=20fast=20-=20Added=20code=20way=20to=20simulate=20?= =?UTF-8?q?a=20proxy=20environment=20ina=20=20subfolder.=20Run=20via=20"no?= =?UTF-8?q?de=20test/e2eSubfolder.js"=20-=20Added=20e2e=20test=20for=20sub?= =?UTF-8?q?folder.=20Run=20via=20"npm=20run=20e2e=20--=20subfolder"=20-=20?= =?UTF-8?q?Added=20e2e=20test=20for=20subfolder=20to=20travis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: JamesCullum --- .travis.yml | 8 +++- .../src/app/Services/socket-io.service.ts | 4 +- .../src/app/payment/payment.component.html | 8 ++-- .../src/app/payment/payment.component.spec.ts | 6 +-- frontend/src/app/payment/payment.component.ts | 6 +-- .../src/app/sidenav/sidenav.component.html | 2 +- .../app/token-sale/token-sale.component.html | 2 +- frontend/src/assets/private/threejs-demo.html | 28 ++++++------ lib/startup/customizeEasterEgg.js | 2 +- lib/startup/registerWebsocketEvents.js | 2 +- protractor.conf.js | 9 +++- protractor.subfolder.conf.js | 9 ++++ routes/profileImageFileUpload.js | 4 +- routes/profileImageUrlUpload.js | 4 +- routes/updateUserProfile.js | 4 +- server.js | 14 +++++- test/e2e/_sharedSpec.js | 9 +++- test/e2e/administrationSpec.js | 4 +- test/e2e/b2bOrderSpec.js | 4 +- test/e2e/basketSpec.js | 22 +++++----- test/e2e/changePasswordSpec.js | 6 +-- test/e2e/complainSpec.js | 18 ++++---- test/e2e/contactSpec.js | 19 ++++---- test/e2e/dataExportSpec.js | 4 +- test/e2e/deluxeSpec.js | 2 +- test/e2e/forgedJwtSpec.js | 4 +- test/e2e/forgotPasswordSpec.js | 2 +- test/e2e/loginSpec.js | 4 +- test/e2e/metricsSpec.js | 2 +- test/e2e/noSqlSpec.js | 32 +++++++------- test/e2e/privacyPolicySpec.js | 2 +- test/e2e/profileSpec.js | 14 +++--- test/e2e/registerSpec.js | 26 ++++++----- test/e2e/restApiSpec.js | 33 +++++++++----- test/e2e/scoreBoardSpec.js | 8 ++-- test/e2e/searchSpec.js | 10 ++--- test/e2e/tokenSaleSpec.js | 2 +- test/e2e/totpSetupSpec.js | 4 +- test/e2e/trackingOrderSpec.js | 4 +- test/e2eSubfolder.js | 44 +++++++++++++++++++ test/e2eTests.js | 12 ++++- views/promotionVideo.pug | 12 ++--- views/userProfile.pug | 18 ++++---- 43 files changed, 271 insertions(+), 162 deletions(-) create mode 100644 protractor.subfolder.conf.js create mode 100644 test/e2eSubfolder.js diff --git a/.travis.yml b/.travis.yml index 7a08979733a..19eadcf1030 100644 --- a/.travis.yml +++ b/.travis.yml @@ -76,7 +76,13 @@ jobs: os: linux script: - export NODE_ENV=test - - npm run protractor + - npm run e2e + - stage: e2e + if: tag IS blank + os: linux + script: + - export NODE_ENV=test + - npm run e2e -- subfolder - stage: smoke if: tag IS blank os: linux diff --git a/frontend/src/app/Services/socket-io.service.ts b/frontend/src/app/Services/socket-io.service.ts index 8ae13727a29..b61421cdc1f 100644 --- a/frontend/src/app/Services/socket-io.service.ts +++ b/frontend/src/app/Services/socket-io.service.ts @@ -18,8 +18,8 @@ export class SocketIoService { constructor (private ngZone: NgZone) { this.ngZone.runOutsideAngular(() => { if (environment.hostServer === '.') { - this._socket = this.io.connect(window.location.href, { - path: (window.location.pathname === '/' ? '/' : window.location.pathname + '/') + 'socket.io' + this._socket = this.io.connect(window.location.origin, { + path: (window.location.pathname.endsWith('/') ? window.location.pathname : window.location.pathname + '/') + 'socket.io' }) } else { this._socket = this.io.connect(environment.hostServer) diff --git a/frontend/src/app/payment/payment.component.html b/frontend/src/app/payment/payment.component.html index 43fe949d595..3a89e26f6d9 100644 --- a/frontend/src/app/payment/payment.component.html +++ b/frontend/src/app/payment/payment.component.html @@ -106,16 +106,16 @@ ) diff --git a/frontend/src/app/payment/payment.component.spec.ts b/frontend/src/app/payment/payment.component.spec.ts index 8029375d302..68e11bb28b5 100644 --- a/frontend/src/app/payment/payment.component.spec.ts +++ b/frontend/src/app/payment/payment.component.spec.ts @@ -226,7 +226,7 @@ describe('PaymentComponent', () => { const data = { data: { data: 'bitcoin:1AbKfgvw9psQ41NbLi8kufDQTezwG8DRZm', - url: '/redirect?to=https://blockchain.info/address/1AbKfgvw9psQ41NbLi8kufDQTezwG8DRZm', + url: './redirect?to=https://blockchain.info/address/1AbKfgvw9psQ41NbLi8kufDQTezwG8DRZm', address: '1AbKfgvw9psQ41NbLi8kufDQTezwG8DRZm', title: 'TITLE_BITCOIN_ADDRESS' } @@ -239,7 +239,7 @@ describe('PaymentComponent', () => { const data = { data: { data: 'dash:Xr556RzuwX6hg5EGpkybbv5RanJoZN17kW', - url: '/redirect?to=https://explorer.dash.org/address/Xr556RzuwX6hg5EGpkybbv5RanJoZN17kW', + url: './redirect?to=https://explorer.dash.org/address/Xr556RzuwX6hg5EGpkybbv5RanJoZN17kW', address: 'Xr556RzuwX6hg5EGpkybbv5RanJoZN17kW', title: 'TITLE_DASH_ADDRESS' } @@ -252,7 +252,7 @@ describe('PaymentComponent', () => { const data = { data: { data: '0x0f933ab9fCAAA782D0279C300D73750e1311EAE6', - url: '/redirect?to=https://etherscan.io/address/0x0f933ab9fcaaa782d0279c300d73750e1311eae6', + url: './redirect?to=https://etherscan.io/address/0x0f933ab9fcaaa782d0279c300d73750e1311eae6', address: '0x0f933ab9fCAAA782D0279C300D73750e1311EAE6', title: 'TITLE_ETHER_ADDRESS' } diff --git a/frontend/src/app/payment/payment.component.ts b/frontend/src/app/payment/payment.component.ts index f6fd01a8078..ef0bfde530d 100644 --- a/frontend/src/app/payment/payment.component.ts +++ b/frontend/src/app/payment/payment.component.ts @@ -215,7 +215,7 @@ export class PaymentComponent implements OnInit { this.dialog.open(QrCodeComponent, { data: { data: 'bitcoin:1AbKfgvw9psQ41NbLi8kufDQTezwG8DRZm', - url: '/redirect?to=https://blockchain.info/address/1AbKfgvw9psQ41NbLi8kufDQTezwG8DRZm', + url: './redirect?to=https://blockchain.info/address/1AbKfgvw9psQ41NbLi8kufDQTezwG8DRZm', address: '1AbKfgvw9psQ41NbLi8kufDQTezwG8DRZm', title: 'TITLE_BITCOIN_ADDRESS' } @@ -226,7 +226,7 @@ export class PaymentComponent implements OnInit { this.dialog.open(QrCodeComponent, { data: { data: 'dash:Xr556RzuwX6hg5EGpkybbv5RanJoZN17kW', - url: '/redirect?to=https://explorer.dash.org/address/Xr556RzuwX6hg5EGpkybbv5RanJoZN17kW', + url: './redirect?to=https://explorer.dash.org/address/Xr556RzuwX6hg5EGpkybbv5RanJoZN17kW', address: 'Xr556RzuwX6hg5EGpkybbv5RanJoZN17kW', title: 'TITLE_DASH_ADDRESS' } @@ -237,7 +237,7 @@ export class PaymentComponent implements OnInit { this.dialog.open(QrCodeComponent, { data: { data: '0x0f933ab9fCAAA782D0279C300D73750e1311EAE6', - url: '/redirect?to=https://etherscan.io/address/0x0f933ab9fcaaa782d0279c300d73750e1311eae6', + url: './redirect?to=https://etherscan.io/address/0x0f933ab9fcaaa782d0279c300d73750e1311eae6', address: '0x0f933ab9fCAAA782D0279C300D73750e1311EAE6', title: 'TITLE_ETHER_ADDRESS' } diff --git a/frontend/src/app/sidenav/sidenav.component.html b/frontend/src/app/sidenav/sidenav.component.html index 27ea8883f0f..d73c05b4820 100644 --- a/frontend/src/app/sidenav/sidenav.component.html +++ b/frontend/src/app/sidenav/sidenav.component.html @@ -232,7 +232,7 @@

COMPANY

- diff --git a/frontend/src/app/token-sale/token-sale.component.html b/frontend/src/app/token-sale/token-sale.component.html index c0b5bbe7d53..0e6e9a95e40 100644 --- a/frontend/src/app/token-sale/token-sale.component.html +++ b/frontend/src/app/token-sale/token-sale.component.html @@ -88,7 +88,7 @@
- + diff --git a/frontend/src/assets/private/threejs-demo.html b/frontend/src/assets/private/threejs-demo.html index 582c7d8347e..45c1663956d 100644 --- a/frontend/src/assets/private/threejs-demo.html +++ b/frontend/src/assets/private/threejs-demo.html @@ -2,15 +2,15 @@ Welcome to Planet Orangeuze - - - - - - - - - + + + + + + + + +