forked from snowplow/snowplow-javascript-tracker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcookies.test.ts
More file actions
49 lines (44 loc) · 2.42 KB
/
Copy pathcookies.test.ts
File metadata and controls
49 lines (44 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
describe('Tracker created domain cookies', () => {
it('contain the expected cookie names', async () => {
await browser.url('/cookies.html');
await browser.waitUntil(async () => (await $('#init').getText()) === 'true', {
timeout: 5000,
timeoutMsg: 'expected init after 5s',
interval: 250,
});
await browser.waitUntil(async () => (await $('#cookies').getText()) !== '', {
timeout: 5000,
timeoutMsg: 'expected cookie to be set after 5s',
interval: 250,
});
const cookies = await $('#cookies').getText();
expect(cookies).not.toContain('_sp_0ses.'); // Missing as tests are not HTTPS and `cookieSecure: true` by default
expect(cookies).not.toContain('_sp_0id.');
// skipping the test for the sp_3 cookies being dropped since it is very flaky on Chrome
// expect(cookies).not.toContain('_sp_3ses.'); // Missing as cookie lifetime is too short (1)
// expect(cookies).not.toContain('_sp_3id.');
expect(cookies).not.toContain('_sp_4ses.'); // Missing as anonymous tracking enabled
expect(cookies).not.toContain('_sp_4id.');
expect(cookies).not.toContain('_sp_5ses.'); // Missing as only using local storage
expect(cookies).not.toContain('_sp_5id.');
expect(cookies).not.toContain('_sp_7ses.'); // Can't set a cookie for another domain
expect(cookies).not.toContain('_sp_7id.');
expect(cookies).toContain('_sp_1ses.');
expect(cookies).toContain('_sp_1id.');
expect(cookies).toContain('_sp_2ses.');
expect(cookies).toContain('_sp_2id.');
expect(cookies).toContain('_sp_6ses.');
expect(cookies).toContain('_sp_6id.');
expect(await $('#getDomainUserId').getText()).toMatch(
/\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b/i
);
expect(await $('#getDomainUserInfo').getText()).toMatch(
/\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b.[0-9]+.[0-9].[0-9]+.[0-9]*.\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b.(\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b)?.(\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b)?.[0-9]*.[0-9]+/i
);
expect(await $('#getUserId').getText()).toBe('Dave');
expect(await $('#getCookieName').getText()).toMatch(/_sp_1id.[0-9a-z]{4}/i);
expect(await $('#getPageViewId').getText()).toMatch(
/\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b/i
);
});
});