Skip to content
This repository was archived by the owner on Sep 28, 2022. It is now read-only.

Commit 8c0ab29

Browse files
author
Simon Biggs
authored
Merge pull request #293 from SimonBiggs/make-tests-have-no-telemetry
remove telemetry from tests with ?telemetry=0 flag
2 parents aaacc52 + 825c6f2 commit 8c0ab29

4 files changed

Lines changed: 21 additions & 11 deletions

File tree

scriptedforms/e2e/src/utilities/before-and-after.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,14 @@ export function waitForSpinner() {
3434
browser.wait(ExpectedConditions.stalenessOf(spinner))
3535
}
3636

37+
export function customGet(url: string) {
38+
browser.get(`${url}?telemetry=0`)
39+
}
40+
3741
export function before(url: string) {
3842
return () => {
3943
browser.waitForAngularEnabled(false)
40-
browser.get(url);
44+
customGet(url);
4145
browser.wait(ExpectedConditions.presenceOf(
4246
element(by.tagName('app-form'))
4347
))

scriptedforms/e2e/src/watchdog-test.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import {
3030
} from 'protractor';
3131

3232
import {
33-
beforeFromFile, after, waitForSpinner, makeUrlFromFile
33+
beforeFromFile, after, waitForSpinner, makeUrlFromFile, customGet
3434
} from './utilities/before-and-after'
3535

3636
describe('watchdog-test.md', () => {
@@ -43,7 +43,7 @@ describe('watchdog-test.md', () => {
4343
createButton.click()
4444

4545
waitForSpinner()
46-
browser.get(makeUrlFromFile('watchdog-test.md'))
46+
customGet(makeUrlFromFile('watchdog-test.md'))
4747
waitForSpinner()
4848

4949
let writeInMe = element(by.css('.write-in-me textarea'))
@@ -61,7 +61,7 @@ describe('watchdog-test.md', () => {
6161
expect(newHeader.getText()).toEqual(testTextHeading)
6262

6363
waitForSpinner()
64-
browser.get(makeUrlFromFile('watchdog-manage.md'))
64+
customGet(makeUrlFromFile('watchdog-manage.md'))
6565
waitForSpinner()
6666

6767
let deleteButton = element(by.css('.delete-watchdog-test button'))

scriptedforms/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@simonbiggs/scriptedforms",
3-
"version": "0.10.0-dev4",
3+
"version": "0.10.0-dev5",
44
"license": "AGPL-3.0+",
55
"repository": {
66
"type": "git",

scriptedforms/src/app/form-builder-module/form-builder.component.ts

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,18 @@ export class FormBuilderComponent implements OnInit, AfterViewInit {
9494
// https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest
9595
private _setUsageStatistics(string: string) {
9696
if (string) {
97-
crypto.subtle.digest('SHA-256', Buffer.from(string)).then((hash) => {
98-
const intArrayHash = new Uint8Array(hash);
99-
const base64String = btoa(String.fromCharCode.apply(null, intArrayHash));
100-
const uriEncoded = encodeURIComponent(base64String);
101-
this.telemetry.nativeElement.src = `https://scriptedforms.com.au/telemetry?hash=${uriEncoded}`;
102-
});
97+
const url = new URL(location.href);
98+
const telemetry = url.searchParams.get('telemetry');
99+
if (telemetry !== '0') {
100+
crypto.subtle.digest('SHA-256', Buffer.from(string)).then((hash) => {
101+
const intArrayHash = new Uint8Array(hash);
102+
const base64String = btoa(String.fromCharCode.apply(null, intArrayHash));
103+
const uriEncoded = encodeURIComponent(base64String);
104+
this.telemetry.nativeElement.src = `https://scriptedforms.com.au/telemetry?hash=${uriEncoded}`;
105+
});
106+
} else {
107+
console.log('telemetry blocked using ?telemetry=0');
108+
}
103109
}
104110
}
105111

0 commit comments

Comments
 (0)