Skip to content

Commit 8ea167a

Browse files
Fix tests
1 parent 9c2a423 commit 8ea167a

File tree

9 files changed

+18
-31
lines changed

9 files changed

+18
-31
lines changed

src/__tests__/browserSuites/evaluations-semver.spec.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ const config = {
2626
export default async function (fetchMock, assert) {
2727

2828
fetchMock.getOnce(config.urls.sdk + '/splitChanges?s=1.3&since=-1&rbSince=-1', { status: 200, body: splitChangesMock1 });
29-
fetchMock.getOnce(config.urls.sdk + '/splitChanges?s=1.3&since=1675259356568&rbSince=-1', { status: 200, body: { ff: { d: [], s: 1675259356568, t: 1675259356568 } } });
3029
fetchMock.getOnce(config.urls.sdk + '/memberships/emi%40split.io', { status: 200, body: { ms: {} } });
3130
fetchMock.getOnce(config.urls.sdk + '/memberships/2nd', { status: 200, body: { ms: {} } });
3231

src/__tests__/browserSuites/push-corner-cases.spec.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { getStorageHash } from '@splitsoftware/splitio-commons/src/storages/KeyBuilder';
22
import splitChangesMock1 from '../mocks/splitchanges.since.-1.json';
3+
import splitChangesMock2 from '../mocks/splitchanges.since.1457552620999.json';
34
import splitKillMessage from '../mocks/message.SPLIT_KILL.1457552650000.json';
45
import authPushEnabledNicolas from '../mocks/auth.pushEnabled.nicolas@split.io.json';
56
import { nearlyEqual, url } from '../testUtils';
@@ -77,7 +78,7 @@ export function testSplitKillOnReadyFromCache(fetchMock, assert) {
7778

7879
// 2 splitChanges request: initial sync and after SSE opened. Sync after SPLIT_KILL is not performed because SplitsSyncTask is "executing"
7980
fetchMock.getOnce(url(settings, '/splitChanges?s=1.3&since=25&rbSince=-1'), { status: 200, body: splitChangesMock1 }, { delay: MILLIS_SPLIT_CHANGES_RESPONSE, /* delay response */ });
80-
fetchMock.getOnce(url(settings, `/splitChanges?s=1.3&since=${splitChangesMock1.ff.t}&rbSince=-1`), { status: 200, body: { ff: { d: [], s: splitChangesMock1.ff.t, t: splitChangesMock1.ff.t } } }, { delay: MILLIS_SPLIT_CHANGES_RESPONSE - 100, /* delay response */ });
81+
fetchMock.getOnce(url(settings, '/splitChanges?s=1.3&since=1457552620999&rbSince=100'), { status: 200, body: splitChangesMock2 }, { delay: MILLIS_SPLIT_CHANGES_RESPONSE - 100, /* delay response */ });
8182

8283
fetchMock.get(new RegExp('.*'), function (url) {
8384
assert.fail('unexpected GET request with url: ' + url);

src/__tests__/browserSuites/push-fallback.spec.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
* Validate the handling of OCCUPANCY and CONTROL events
33
*/
44

5-
import splitChangesMock1 from '../mocks/splitchanges.real.withSegments.json'; // since: -1, till: 1457552620999 (for initial fetch)
6-
import splitChangesMock2 from '../mocks/splitchanges.real.updateWithSegments.json'; // since: 1457552620999, till: 1457552649999 (for SPLIT_UPDATE event)
7-
import splitChangesMock3 from '../mocks/splitchanges.real.updateWithoutSegments.json'; // since: 1457552649999, till: 1457552669999 (for second polling fetch)
5+
import splitChangesMockReal1 from '../mocks/splitchanges.real.withSegments.json'; // since: -1, till: 1457552620999 (for initial fetch)
6+
import splitChangesMockReal2 from '../mocks/splitchanges.real.updateWithSegments.json'; // since: 1457552620999, till: 1457552649999 (for SPLIT_UPDATE event)
7+
import splitChangesMockReal3 from '../mocks/splitchanges.real.updateWithoutSegments.json'; // since: 1457552649999, till: 1457552669999 (for second polling fetch)
88
import membershipsNicolasMock1 from '../mocks/memberships.nicolas@split.io.json';
99
import membershipsNicolasMock2 from '../mocks/memberships.nicolas@split.io.mock2.json';
1010
import membershipsMarcio from '../mocks/memberships.marcio@split.io.json';
@@ -213,7 +213,7 @@ export function testFallback(fetchMock, assert) {
213213
});
214214

215215
// initial split and memberships sync
216-
fetchMock.getOnce(url(settings, '/splitChanges?s=1.3&since=-1&rbSince=-1'), { status: 200, body: splitChangesMock1 });
216+
fetchMock.getOnce(url(settings, '/splitChanges?s=1.3&since=-1&rbSince=-1'), { status: 200, body: splitChangesMockReal1 });
217217
fetchMock.getOnce(url(settings, '/memberships/nicolas%40split.io'), { status: 200, body: membershipsNicolasMock1 });
218218

219219
// split and segment sync after SSE opened
@@ -249,7 +249,7 @@ export function testFallback(fetchMock, assert) {
249249
fetchMock.getOnce(url(settings, '/splitChanges?s=1.3&since=1457552620999&rbSince=-1'), function () {
250250
const lapse = Date.now() - start;
251251
assert.true(nearlyEqual(lapse, MILLIS_SPLIT_UPDATE_EVENT_DURING_PUSH), 'sync due to SPLIT_UPDATE event');
252-
return { status: 200, body: splitChangesMock2 };
252+
return { status: 200, body: splitChangesMockReal2 };
253253
});
254254

255255
// fetches due to second fallback to polling
@@ -288,7 +288,7 @@ export function testFallback(fetchMock, assert) {
288288
fetchMock.getOnce(url(settings, '/splitChanges?s=1.3&since=1457552649999&rbSince=-1'), function () {
289289
const lapse = Date.now() - start;
290290
assert.true(nearlyEqual(lapse, MILLIS_STREAMING_DISABLED_CONTROL + settings.scheduler.featuresRefreshRate, 100), 'fetch due to fourth fallback to polling');
291-
return { status: 200, body: splitChangesMock3 };
291+
return { status: 200, body: splitChangesMockReal3 };
292292
});
293293
fetchMock.getOnce(url(settings, '/splitChanges?s=1.3&since=1457552669999&rbSince=-1'), function () {
294294
const lapse = Date.now() - start;

src/__tests__/browserSuites/readiness.spec.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { SplitFactory } from '../../';
22

33
import splitChangesMock1 from '../mocks/splitchanges.since.-1.json';
4-
import splitChangesMock2 from '../mocks/splitchanges.since.1457552620999.json';
54
import membershipsNicolas from '../mocks/memberships.nicolas@split.io.json';
65

76
// mocks for memberships readiness tests
@@ -44,7 +43,6 @@ export default function (fetchMock, assert) {
4443
fetchMock.get(testUrls.sdk + '/memberships/nicolas%40split.io', function () {
4544
return new Promise((res) => { setTimeout(() => { res({ status: 200, body: membershipsNicolas, headers: {} }); }, requestTimeoutBeforeReady * 1000 - 50); });
4645
});
47-
fetchMock.get(testUrls.sdk + '/splitChanges?s=1.3&since=1457552620999&rbSince=-1', { status: 200, body: splitChangesMock2 });
4846

4947
const splitio = SplitFactory({
5048
...baseConfig, urls: testUrls
@@ -73,7 +71,6 @@ export default function (fetchMock, assert) {
7371
fetchMock.get(testUrls.sdk + '/memberships/nicolas%40split.io', function () {
7472
return new Promise((res) => { setTimeout(() => { res({ status: 200, body: membershipsNicolas, headers: {} }); }, requestTimeoutBeforeReady * 1000 + 50); });
7573
});
76-
fetchMock.get(testUrls.sdk + '/splitChanges?s=1.3&since=1457552620999&rbSince=-1', { status: 200, body: splitChangesMock2 });
7774

7875
const splitio = SplitFactory({ ...baseConfig, urls: testUrls });
7976
const client = splitio.client();
@@ -104,7 +101,6 @@ export default function (fetchMock, assert) {
104101
fetchMock.get(testUrls.sdk + '/memberships/nicolas%40split.io', function () {
105102
return new Promise((res) => { setTimeout(() => { res({ status: 200, body: membershipsNicolas, headers: {} }); }, requestTimeoutBeforeReady * 1000 - 50); });
106103
});
107-
fetchMock.get(testUrls.sdk + '/splitChanges?s=1.3&since=1457552620999&rbSince=-1', { status: 200, body: splitChangesMock2 });
108104

109105
const splitio = SplitFactory({ ...baseConfig, urls: testUrls });
110106
const client = splitio.client();
@@ -129,8 +125,6 @@ export default function (fetchMock, assert) {
129125
membershipsHits++;
130126
return new Promise((res) => { setTimeout(() => { res({ status: 200, body: { ms: {} } }); }, membershipsEndpointDelay); });
131127
});
132-
// Now mock the no more updates state
133-
134128

135129
if (startWithSegments) {
136130
// Adjust since and till so the order is inverted.

src/__tests__/browserSuites/ready-from-cache.spec.js

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ export default function (fetchMock, assert) {
9898
t.plan(4);
9999

100100
fetchMock.get(testUrls.sdk + '/splitChanges?s=1.3&since=-1&rbSince=-1', { status: 200, body: splitChangesMock1 });
101-
fetchMock.get(testUrls.sdk + '/splitChanges?s=1.3&since=1457552620999&rbSince=-1', { status: 200, body: splitChangesMock2 });
102101
fetchMock.get(testUrls.sdk + '/memberships/nicolas%40split.io', { status: 200, body: membershipsNicolas });
103102
fetchMock.get(testUrls.sdk + '/memberships/nicolas2%40split.io', { status: 200, body: { 'ms': {} } });
104103
fetchMock.get(testUrls.sdk + '/memberships/nicolas3%40split.io', { status: 200, body: { 'ms': {} } });
@@ -150,7 +149,6 @@ export default function (fetchMock, assert) {
150149
fetchMock.get(testUrls.sdk + '/splitChanges?s=1.3&since=25&rbSince=-1', () => {
151150
return new Promise(res => { setTimeout(() => res({ status: 200, body: { ff: { ...splitChangesMock1.ff, s: 25 } }, headers: {} }), 200); }); // 400ms is how long it'll take to reply with Splits, no SDK_READY should be emitted before that.
152151
});
153-
fetchMock.get(testUrls.sdk + '/splitChanges?s=1.3&since=1457552620999&rbSince=-1', { status: 200, body: splitChangesMock2 });
154152
fetchMock.get(testUrls.sdk + '/memberships/nicolas%40split.io', () => {
155153
return new Promise(res => { setTimeout(() => res({ status: 200, body: membershipsNicolas, headers: {} }), 400); }); // First client gets segments before splits. No segment cache loading (yet)
156154
});
@@ -258,7 +256,6 @@ export default function (fetchMock, assert) {
258256
t.equal(localStorage.getItem('readyFromCache_3.SPLITIO.split.always_on'), alwaysOnSplitInverted, 'feature flags must not be cleaned from cache');
259257
return new Promise(res => { setTimeout(() => res({ status: 200, body: { ff: { ...splitChangesMock1.ff, s: 25 } }, headers: {} }), 200); }); // 400ms is how long it'll take to reply with Splits, no SDK_READY should be emitted before that.
260258
});
261-
fetchMock.get(testUrls.sdk + '/splitChanges?s=1.3&since=1457552620999&rbSince=-1', { status: 200, body: splitChangesMock2 });
262259
fetchMock.get(testUrls.sdk + '/memberships/nicolas%40split.io', () => {
263260
return new Promise(res => { setTimeout(() => res({ status: 200, body: membershipsNicolas, headers: {} }), 400); }); // First client gets segments before splits. No segment cache loading (yet)
264261
});
@@ -379,7 +376,6 @@ export default function (fetchMock, assert) {
379376
t.equal(localStorage.length, 3, 'feature flags cache data must be cleaned from localStorage');
380377
return { status: 200, body: splitChangesMock1 };
381378
});
382-
fetchMock.get(testUrls.sdk + '/splitChanges?s=1.3&since=1457552620999&rbSince=-1', { status: 200, body: splitChangesMock2 });
383379
fetchMock.get(testUrls.sdk + '/memberships/nicolas%40split.io', () => {
384380
return new Promise(res => { setTimeout(() => res({ status: 200, body: membershipsNicolas, headers: {} }), CLIENT_READY_MS); }); // First client gets segments before splits. No segment cache loading (yet)
385381
});
@@ -808,7 +804,7 @@ export default function (fetchMock, assert) {
808804
localStorage.setItem('readyFromCache_10.SPLITIO.hash', expectedHashNullFilter);
809805

810806
fetchMock.getOnce(testUrls.sdk + '/splitChanges?s=1.3&since=-1&rbSince=-1', { status: 200, body: splitChangesMock1 });
811-
fetchMock.getOnce(testUrls.sdk + '/splitChanges?s=1.3&since=1457552620999&rbSince=-1', { status: 200, body: splitChangesMock2 });
807+
fetchMock.getOnce(testUrls.sdk + '/splitChanges?s=1.3&since=1457552620999&rbSince=100', { status: 200, body: splitChangesMock2 });
812808
fetchMock.get(testUrls.sdk + '/memberships/nicolas%40split.io', { status: 200, body: { ms: {} } });
813809

814810
let splitio = SplitFactory(clearOnInitConfig);
@@ -822,7 +818,7 @@ export default function (fetchMock, assert) {
822818
});
823819

824820
await client.ready();
825-
t.equal(manager.names().sort().length, 33, 'active splits should be present for evaluation');
821+
t.equal(manager.names().sort().length, 35, 'active splits should be present for evaluation');
826822

827823
await splitio.destroy();
828824
t.equal(localStorage.getItem('readyFromCache_10.SPLITIO.splits.till'), '1457552620999', 'splits.till must correspond to the till of the last successfully fetched Splits');
@@ -839,7 +835,7 @@ export default function (fetchMock, assert) {
839835

840836
await new Promise(res => client.once(client.Event.SDK_READY_FROM_CACHE, res));
841837

842-
t.equal(manager.names().sort().length, 33, 'active splits should be present for evaluation');
838+
t.equal(manager.names().sort().length, 35, 'active splits should be present for evaluation');
843839
t.false(console.log.calledWithMatch('clearOnInit was set and cache was not cleared in the last 24 hours. Cleaning up cache'), 'It should log a message about cleaning up cache');
844840

845841
await splitio.destroy();
@@ -860,7 +856,7 @@ export default function (fetchMock, assert) {
860856

861857
await new Promise(res => client.once(client.Event.SDK_READY, res));
862858

863-
t.equal(manager.names().sort().length, 33, 'active splits should be present for evaluation');
859+
t.equal(manager.names().sort().length, 35, 'active splits should be present for evaluation');
864860
t.true(console.log.calledWithMatch('clearOnInit was set and cache was not cleared in the last 24 hours. Cleaning up cache'), 'It should log a message about cleaning up cache');
865861

866862
await splitio.destroy();

src/__tests__/browserSuites/use-beacon-api.debug.spec.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ function beaconApiNotSendTestDebug(fetchMock, assert) {
6767

6868
// Mocking this specific route to make sure we only get the items we want to test from the handlers.
6969
fetchMock.get(url(settings, '/splitChanges?s=1.3&since=-1&rbSince=-1'), { status: 200, body: splitChangesMock1 });
70-
fetchMock.get(url(settings, '/splitChanges?s=1.3&since=1457552620999&rbSince=-1'), { status: 200, body: { ff: { d: [], s: 1457552620999, t: 1457552620999 } } });
7170
fetchMock.get(url(settings, '/memberships/facundo%40split.io'), { status: 200, body: membershipsFacundo });
7271

7372
// Init and run Split client

src/__tests__/browserSuites/use-beacon-api.spec.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ function beaconApiNotSendTest(fetchMock, assert) {
7979

8080
// Mocking this specific route to make sure we only get the items we want to test from the handlers.
8181
fetchMock.get(url(settings, '/splitChanges?s=1.3&since=-1&rbSince=-1'), { status: 200, body: splitChangesMock1 });
82-
fetchMock.get(url(settings, '/splitChanges?s=1.3&since=1457552620999&rbSince=-1'), { status: 200, body: { ff: { d: [], s: 1457552620999, t: 1457552620999 } } });
8382
fetchMock.get(url(settings, '/memberships/facundo%40split.io'), { status: 200, body: membershipsFacundo });
8483

8584
// Init and run Split client

src/__tests__/nodeSuites/ip-addresses-setting.debug.spec.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ export default function ipAddressesSettingAssertions(fetchMock, assert) {
7878

7979
// Mock GET endpoints to run client normally
8080
fetchMock.getOnce(url(settings, '/splitChanges?s=1.3&since=-1&rbSince=-1'), { status: 200, body: splitChangesMock1 });
81-
fetchMock.getOnce(url(settings, '/splitChanges?s=1.3&since=1457552620999&rbSince=-1'), { status: 200, body: { ff: { d: [], s: 1457552620999, t: 1457552620999 } } });
8281
fetchMock.get(new RegExp(`${url(settings, '/segmentChanges/')}.*`), { status: 200, body: { since: 10, till: 10, name: 'segmentName', added: [], removed: [] } });
8382

8483
// Mock and assert POST endpoints

src/__tests__/nodeSuites/push-fallback.spec.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
* Validate the handling of OCCUPANCY and CONTROL events
33
*/
44

5-
import splitChangesMock1 from '../mocks/splitchanges.real.withSegments.json'; // since: -1, till: 1457552620999 (for initial fetch)
6-
import splitChangesMock2 from '../mocks/splitchanges.real.updateWithSegments.json'; // since: 1457552620999, till: 1457552649999 (for SPLIT_UPDATE event)
7-
import splitChangesMock3 from '../mocks/splitchanges.real.updateWithoutSegments.json'; // since: 1457552649999, till: 1457552669999 (for second polling fetch)
5+
import splitChangesMockReal1 from '../mocks/splitchanges.real.withSegments.json'; // since: -1, till: 1457552620999 (for initial fetch)
6+
import splitChangesMockReal2 from '../mocks/splitchanges.real.updateWithSegments.json'; // since: 1457552620999, till: 1457552649999 (for SPLIT_UPDATE event)
7+
import splitChangesMockReal3 from '../mocks/splitchanges.real.updateWithoutSegments.json'; // since: 1457552649999, till: 1457552669999 (for second polling fetch)
88

99
import occupancy0ControlPriMessage from '../mocks/message.OCCUPANCY.0.control_pri.1586987434550.json';
1010
import occupancy1ControlPriMessage from '../mocks/message.OCCUPANCY.1.control_pri.1586987434450.json';
@@ -197,7 +197,7 @@ export function testFallback(fetchMock, assert) {
197197
});
198198

199199
// initial split and segment sync
200-
fetchMock.getOnce(url(settings, '/splitChanges?s=1.3&since=-1&rbSince=-1'), { status: 200, body: splitChangesMock1 });
200+
fetchMock.getOnce(url(settings, '/splitChanges?s=1.3&since=-1&rbSince=-1'), { status: 200, body: splitChangesMockReal1 });
201201
fetchMock.getOnce(url(settings, '/segmentChanges/employees?since=-1'), { status: 200, body: { since: -1, till: 1457552620999, name: 'employees', added: [key], removed: [] } });
202202
// extra retry due to double request (greedy fetch until since === till)
203203
fetchMock.getOnce(url(settings, '/segmentChanges/employees?since=1457552620999'), { status: 200, body: { since: 1457552620999, till: 1457552620999, name: 'employees', added: [], removed: [] } });
@@ -226,7 +226,7 @@ export function testFallback(fetchMock, assert) {
226226
fetchMock.getOnce(url(settings, '/splitChanges?s=1.3&since=1457552620999&rbSince=-1'), function () {
227227
const lapse = Date.now() - start;
228228
assert.true(nearlyEqual(lapse, MILLIS_SPLIT_UPDATE_EVENT_DURING_PUSH), 'sync due to SPLIT_UPDATE event');
229-
return { status: 200, body: splitChangesMock2 };
229+
return { status: 200, body: splitChangesMockReal2 };
230230
});
231231

232232
// fetches due to second fallback to polling
@@ -258,7 +258,7 @@ export function testFallback(fetchMock, assert) {
258258
fetchMock.getOnce(url(settings, '/splitChanges?s=1.3&since=1457552649999&rbSince=-1'), function () {
259259
const lapse = Date.now() - start;
260260
assert.true(nearlyEqual(lapse, MILLIS_STREAMING_DISABLED_CONTROL + settings.scheduler.featuresRefreshRate), 'fetch due to fourth fallback to polling');
261-
return { status: 200, body: splitChangesMock3 };
261+
return { status: 200, body: splitChangesMockReal3 };
262262
});
263263
fetchMock.getOnce(url(settings, '/segmentChanges/employees?since=1457552650000'), { status: 200, body: { since: 1457552650000, till: 1457552650000, name: 'employees', added: [], removed: [] } });
264264
fetchMock.getOnce(url(settings, '/splitChanges?s=1.3&since=1457552669999&rbSince=-1'), function () {

0 commit comments

Comments
 (0)