@sprucelabs/mercury-client 42.0.557 → 42.0.559
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/esm/.spruce/errors/errors.types.d.ts +324 -0
- package/build/esm/.spruce/errors/errors.types.js +1 -0
- package/build/esm/.spruce/errors/options.types.d.ts +40 -0
- package/build/esm/.spruce/errors/options.types.js +1 -0
- package/build/esm/clients/MercuryClientFactory.d.ts +26 -0
- package/build/esm/clients/MercuryClientFactory.js +96 -0
- package/build/esm/clients/MercurySocketIoClient.d.ts +89 -0
- package/build/esm/clients/MercurySocketIoClient.js +605 -0
- package/build/esm/clients/MercuryTestClient.d.ts +57 -0
- package/build/esm/clients/MercuryTestClient.js +389 -0
- package/build/esm/clients/MutableContractClient.d.ts +10 -0
- package/build/esm/clients/MutableContractClient.js +43 -0
- package/build/esm/clients/statusChangePayloadSchema.d.ts +103 -0
- package/build/esm/clients/statusChangePayloadSchema.js +45 -0
- package/build/esm/constants.d.ts +1 -0
- package/build/esm/constants.js +1 -0
- package/build/esm/errors/SpruceError.d.ts +5 -0
- package/build/esm/errors/SpruceError.js +66 -0
- package/build/esm/errors/connectionFailed.builder.d.ts +16 -0
- package/build/esm/errors/connectionFailed.builder.js +16 -0
- package/build/esm/errors/invalidEventSignature.builder.d.ts +15 -0
- package/build/esm/errors/invalidEventSignature.builder.js +15 -0
- package/build/esm/errors/invalidPayload.builder.d.ts +12 -0
- package/build/esm/errors/invalidPayload.builder.js +12 -0
- package/build/esm/errors/invalidProtocol.builder.d.ts +12 -0
- package/build/esm/errors/invalidProtocol.builder.js +12 -0
- package/build/esm/errors/missingTestCacheDir.builder.d.ts +7 -0
- package/build/esm/errors/missingTestCacheDir.builder.js +7 -0
- package/build/esm/errors/mustCreateEvent.builder.d.ts +11 -0
- package/build/esm/errors/mustCreateEvent.builder.js +11 -0
- package/build/esm/errors/mustHandleLocally.builder.d.ts +11 -0
- package/build/esm/errors/mustHandleLocally.builder.js +11 -0
- package/build/esm/errors/notConnected.builder.d.ts +16 -0
- package/build/esm/errors/notConnected.builder.js +16 -0
- package/build/esm/errors/timeout.builder.d.ts +22 -0
- package/build/esm/errors/timeout.builder.js +22 -0
- package/build/esm/errors/unauthorizedAccess.builder.d.ts +57 -0
- package/build/esm/errors/unauthorizedAccess.builder.js +39 -0
- package/build/esm/errors/unexpectedPayload.builder.d.ts +12 -0
- package/build/esm/errors/unexpectedPayload.builder.js +12 -0
- package/build/esm/errors/unknownError.builder.d.ts +6 -0
- package/build/esm/errors/unknownError.builder.js +6 -0
- package/build/esm/index.d.ts +6 -0
- package/build/esm/index.js +6 -0
- package/build/esm/tests/AbstractClientTest.d.ts +31 -0
- package/build/esm/tests/AbstractClientTest.js +212 -0
- package/build/esm/tests/constants.d.ts +9 -0
- package/build/esm/tests/constants.js +11 -0
- package/build/esm/types/client.types.d.ts +30 -0
- package/build/esm/types/client.types.js +1 -0
- package/build/esm/utilities/socketIoEventUtil.utility.d.ts +5 -0
- package/build/esm/utilities/socketIoEventUtil.utility.js +9 -0
- package/package.json +17 -16
- package/build/.spruce/errors/errors.types.js.map +0 -1
- package/build/.spruce/errors/mercuryClient/connectionFailed.schema.js.map +0 -1
- package/build/.spruce/errors/mercuryClient/invalidEventSignature.schema.js.map +0 -1
- package/build/.spruce/errors/mercuryClient/invalidPayload.schema.js.map +0 -1
- package/build/.spruce/errors/mercuryClient/invalidProtocol.schema.js.map +0 -1
- package/build/.spruce/errors/mercuryClient/missingTestCacheDir.schema.js.map +0 -1
- package/build/.spruce/errors/mercuryClient/mustCreateEvent.schema.js.map +0 -1
- package/build/.spruce/errors/mercuryClient/mustHandleLocally.schema.js.map +0 -1
- package/build/.spruce/errors/mercuryClient/notConnected.schema.js.map +0 -1
- package/build/.spruce/errors/mercuryClient/timeout.schema.js.map +0 -1
- package/build/.spruce/errors/mercuryClient/unauthorizedAccess.schema.js.map +0 -1
- package/build/.spruce/errors/mercuryClient/unauthorizedTarget.schema.js.map +0 -1
- package/build/.spruce/errors/mercuryClient/unexpectedPayload.schema.js.map +0 -1
- package/build/.spruce/errors/mercuryClient/unknownError.schema.js.map +0 -1
- package/build/.spruce/errors/options.types.js.map +0 -1
- package/build/.spruce/event-cache.json +0 -1
- package/build/.spruce/schemas/fields/fieldClassMap.js.map +0 -1
- package/build/.spruce/schemas/fields/fields.types.js.map +0 -1
- package/build/.spruce/schemas/schemas.types.js.map +0 -1
- package/build/__tests__/behavioral/AuthenticatingAndReauthenticating.test.d.ts +0 -21
- package/build/__tests__/behavioral/AuthenticatingAndReauthenticating.test.js +0 -287
- package/build/__tests__/behavioral/AuthenticatingAndReauthenticating.test.js.map +0 -1
- package/build/__tests__/behavioral/DisablingPermissionChecksWhenEmittingLocally.test.d.ts +0 -7
- package/build/__tests__/behavioral/DisablingPermissionChecksWhenEmittingLocally.test.js +0 -49
- package/build/__tests__/behavioral/DisablingPermissionChecksWhenEmittingLocally.test.js.map +0 -1
- package/build/__tests__/behavioral/EmittingAndFlatteningResponses.test.d.ts +0 -52
- package/build/__tests__/behavioral/EmittingAndFlatteningResponses.test.js +0 -123
- package/build/__tests__/behavioral/EmittingAndFlatteningResponses.test.js.map +0 -1
- package/build/__tests__/behavioral/EmittingConnectionChangeInTests.test.d.ts +0 -9
- package/build/__tests__/behavioral/EmittingConnectionChangeInTests.test.js +0 -103
- package/build/__tests__/behavioral/EmittingConnectionChangeInTests.test.js.map +0 -1
- package/build/__tests__/behavioral/LocallyHandlingAuthenticateDelaysConnect.test.d.ts +0 -7
- package/build/__tests__/behavioral/LocallyHandlingAuthenticateDelaysConnect.test.js +0 -91
- package/build/__tests__/behavioral/LocallyHandlingAuthenticateDelaysConnect.test.js.map +0 -1
- package/build/__tests__/behavioral/MercuryClientFactory.test.d.ts +0 -7
- package/build/__tests__/behavioral/MercuryClientFactory.test.js +0 -85
- package/build/__tests__/behavioral/MercuryClientFactory.test.js.map +0 -1
- package/build/__tests__/behavioral/ProxyingEvents.test.d.ts +0 -11
- package/build/__tests__/behavioral/ProxyingEvents.test.js +0 -99
- package/build/__tests__/behavioral/ProxyingEvents.test.js.map +0 -1
- package/build/__tests__/behavioral/ReconnectingAutomatically.test.d.ts +0 -33
- package/build/__tests__/behavioral/ReconnectingAutomatically.test.js +0 -390
- package/build/__tests__/behavioral/ReconnectingAutomatically.test.js.map +0 -1
- package/build/__tests__/behavioral/RequiringLocalListeners.test.d.ts +0 -7
- package/build/__tests__/behavioral/RequiringLocalListeners.test.js +0 -65
- package/build/__tests__/behavioral/RequiringLocalListeners.test.js.map +0 -1
- package/build/__tests__/behavioral/SettingNamespacesThatMustBeHandledLocally.test.d.ts +0 -9
- package/build/__tests__/behavioral/SettingNamespacesThatMustBeHandledLocally.test.js +0 -66
- package/build/__tests__/behavioral/SettingNamespacesThatMustBeHandledLocally.test.js.map +0 -1
- package/build/__tests__/behavioral/SimulatingEventsForTesting.test.d.ts +0 -51
- package/build/__tests__/behavioral/SimulatingEventsForTesting.test.js +0 -821
- package/build/__tests__/behavioral/SimulatingEventsForTesting.test.js.map +0 -1
- package/build/__tests__/behavioral/TestClientSpeedTests.test.d.ts +0 -7
- package/build/__tests__/behavioral/TestClientSpeedTests.test.js +0 -44
- package/build/__tests__/behavioral/TestClientSpeedTests.test.js.map +0 -1
- package/build/__tests__/behavioral/TestingWithDefaultContracts.test.d.ts +0 -7
- package/build/__tests__/behavioral/TestingWithDefaultContracts.test.js +0 -56
- package/build/__tests__/behavioral/TestingWithDefaultContracts.test.js.map +0 -1
- package/build/__tests__/behavioral/TurningOffAListener.test.d.ts +0 -16
- package/build/__tests__/behavioral/TurningOffAListener.test.js +0 -126
- package/build/__tests__/behavioral/TurningOffAListener.test.js.map +0 -1
- package/build/__tests__/behavioral/UsingMercuryClient.test.d.ts +0 -45
- package/build/__tests__/behavioral/UsingMercuryClient.test.js +0 -662
- package/build/__tests__/behavioral/UsingMercuryClient.test.js.map +0 -1
- package/build/clients/MercuryClientFactory.js.map +0 -1
- package/build/clients/MercurySocketIoClient.js.map +0 -1
- package/build/clients/MercuryTestClient.js.map +0 -1
- package/build/clients/MutableContractClient.js.map +0 -1
- package/build/clients/statusChangePayloadSchema.js.map +0 -1
- package/build/constants.js.map +0 -1
- package/build/errors/SpruceError.js.map +0 -1
- package/build/errors/connectionFailed.builder.js.map +0 -1
- package/build/errors/invalidEventSignature.builder.js.map +0 -1
- package/build/errors/invalidPayload.builder.js.map +0 -1
- package/build/errors/invalidProtocol.builder.js.map +0 -1
- package/build/errors/missingTestCacheDir.builder.js.map +0 -1
- package/build/errors/mustCreateEvent.builder.js.map +0 -1
- package/build/errors/mustHandleLocally.builder.js.map +0 -1
- package/build/errors/notConnected.builder.js.map +0 -1
- package/build/errors/timeout.builder.js.map +0 -1
- package/build/errors/unauthorizedAccess.builder.js.map +0 -1
- package/build/errors/unexpectedPayload.builder.js.map +0 -1
- package/build/errors/unknownError.builder.js.map +0 -1
- package/build/index.js.map +0 -1
- package/build/tests/AbstractClientTest.js.map +0 -1
- package/build/tests/constants.js.map +0 -1
- package/build/types/client.types.js.map +0 -1
- package/build/utilities/socketIoEventUtil.utility.js.map +0 -1
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const schema_1 = require("@sprucelabs/schema");
|
|
13
|
-
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
14
|
-
const MercuryClientFactory_1 = __importDefault(require("../../clients/MercuryClientFactory"));
|
|
15
|
-
const MercuryTestClient_1 = __importDefault(require("../../clients/MercuryTestClient"));
|
|
16
|
-
const AbstractClientTest_1 = __importDefault(require("../../tests/AbstractClientTest"));
|
|
17
|
-
class EmittingConnectionChangeInTestsTest extends AbstractClientTest_1.default {
|
|
18
|
-
static async beforeEach() {
|
|
19
|
-
await super.beforeEach();
|
|
20
|
-
MercuryClientFactory_1.default.setIsTestMode(true);
|
|
21
|
-
}
|
|
22
|
-
static async canEmitWithoutCrashing() {
|
|
23
|
-
const emitter = MercuryTestClient_1.default.getInternalEmitter();
|
|
24
|
-
await emitter.emitAndFlattenResponses('connection-status-change', {
|
|
25
|
-
payload: {
|
|
26
|
-
status: 'disconnected',
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
const client = await this.connectToApi();
|
|
30
|
-
await client.emitAndFlattenResponses('connection-status-change', {
|
|
31
|
-
payload: {
|
|
32
|
-
status: 'disconnected',
|
|
33
|
-
},
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
static async doesntCrashTryingToMixinTwice() {
|
|
37
|
-
//@ts-ignore
|
|
38
|
-
delete MercuryTestClient_1.default.emitter;
|
|
39
|
-
await this.connectToApi();
|
|
40
|
-
}
|
|
41
|
-
static async settingEventContractOnTestClientOverridesWhateverIsInTheInternalEmitter() {
|
|
42
|
-
const emitter = MercuryTestClient_1.default.getInternalEmitter({
|
|
43
|
-
eventSignatures: {
|
|
44
|
-
'request-pin::v2020_12_25': {
|
|
45
|
-
emitPayloadSchema: (0, schema_1.buildSchema)({
|
|
46
|
-
id: 'requestPinEmitPayload',
|
|
47
|
-
fields: {
|
|
48
|
-
firstName: {
|
|
49
|
-
type: 'text',
|
|
50
|
-
isRequired: true,
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
}),
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
const client = await this.connectToApi();
|
|
58
|
-
await client.on('request-pin::v2020_12_25', () => {
|
|
59
|
-
return {
|
|
60
|
-
challenge: 'aoeu',
|
|
61
|
-
};
|
|
62
|
-
});
|
|
63
|
-
await emitter.emitAndFlattenResponses('request-pin::v2020_12_25', {
|
|
64
|
-
payload: {
|
|
65
|
-
phone: '5555555555',
|
|
66
|
-
},
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
static async turningOffConnectionStatusChangeListenerDoesnNotThrow() {
|
|
70
|
-
MercuryClientFactory_1.default.setIsTestMode(false);
|
|
71
|
-
const client = await this.connectToApi();
|
|
72
|
-
//@ts-ignore
|
|
73
|
-
client.socket.emit = async () => test_utils_1.assert.fail('Should not have been called');
|
|
74
|
-
await client.off('connection-status-change');
|
|
75
|
-
}
|
|
76
|
-
static async shouldNotAttemptToConnectWhenEmittingStatusChange() {
|
|
77
|
-
MercuryClientFactory_1.default.setIsTestMode(true);
|
|
78
|
-
const client = await this.connectToApi();
|
|
79
|
-
//@ts-ignore
|
|
80
|
-
client.connectIfNotConnected = async () => test_utils_1.assert.fail('Should not have been called');
|
|
81
|
-
await client.emitAndFlattenResponses('connection-status-change', {
|
|
82
|
-
payload: {
|
|
83
|
-
status: 'connecting',
|
|
84
|
-
},
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
exports.default = EmittingConnectionChangeInTestsTest;
|
|
89
|
-
__decorate([
|
|
90
|
-
(0, test_utils_1.test)()
|
|
91
|
-
], EmittingConnectionChangeInTestsTest, "canEmitWithoutCrashing", null);
|
|
92
|
-
__decorate([
|
|
93
|
-
(0, test_utils_1.test)()
|
|
94
|
-
], EmittingConnectionChangeInTestsTest, "doesntCrashTryingToMixinTwice", null);
|
|
95
|
-
__decorate([
|
|
96
|
-
(0, test_utils_1.test)()
|
|
97
|
-
], EmittingConnectionChangeInTestsTest, "settingEventContractOnTestClientOverridesWhateverIsInTheInternalEmitter", null);
|
|
98
|
-
__decorate([
|
|
99
|
-
(0, test_utils_1.test)()
|
|
100
|
-
], EmittingConnectionChangeInTestsTest, "turningOffConnectionStatusChangeListenerDoesnNotThrow", null);
|
|
101
|
-
__decorate([
|
|
102
|
-
(0, test_utils_1.test)()
|
|
103
|
-
], EmittingConnectionChangeInTestsTest, "shouldNotAttemptToConnectWhenEmittingStatusChange", null);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmittingConnectionChangeInTests.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/EmittingConnectionChangeInTests.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import AbstractClientTest from '../../tests/AbstractClientTest';
|
|
2
|
-
export default class LocallyHandlingAuthenticateDelaysConnectTest extends AbstractClientTest {
|
|
3
|
-
protected static beforeEach(): Promise<void>;
|
|
4
|
-
protected static locallyHandlingAuthenticateDelaysConnect(): Promise<void>;
|
|
5
|
-
protected static delayedConnectHandlesManyParallelRequests(): Promise<void>;
|
|
6
|
-
private static mockAuthAndGetSkillClient;
|
|
7
|
-
}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const spruce_event_utils_1 = require("@sprucelabs/spruce-event-utils");
|
|
13
|
-
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
14
|
-
const __1 = require("../..");
|
|
15
|
-
const AbstractClientTest_1 = __importDefault(require("../../tests/AbstractClientTest"));
|
|
16
|
-
class LocallyHandlingAuthenticateDelaysConnectTest extends AbstractClientTest_1.default {
|
|
17
|
-
static async beforeEach() {
|
|
18
|
-
await super.beforeEach();
|
|
19
|
-
__1.MercuryClientFactory.setIsTestMode(true);
|
|
20
|
-
__1.MercuryTestClient.setShouldRequireLocalListeners(false);
|
|
21
|
-
}
|
|
22
|
-
static async locallyHandlingAuthenticateDelaysConnect() {
|
|
23
|
-
const { skillClient, skill } = await this.mockAuthAndGetSkillClient();
|
|
24
|
-
//@ts-ignore
|
|
25
|
-
test_utils_1.assert.isFalse(skillClient.isConnectedToApi);
|
|
26
|
-
const results = await skillClient.emit('whoami::v2020_12_25');
|
|
27
|
-
//@ts-ignore
|
|
28
|
-
test_utils_1.assert.isTrue(skillClient.isConnectedToApi);
|
|
29
|
-
const { auth, type } = spruce_event_utils_1.eventResponseUtil.getFirstResponseOrThrow(results);
|
|
30
|
-
test_utils_1.assert.isEqual(type, 'authenticated');
|
|
31
|
-
test_utils_1.assert.doesInclude(skill, auth.skill);
|
|
32
|
-
}
|
|
33
|
-
static async delayedConnectHandlesManyParallelRequests() {
|
|
34
|
-
const { skillClient } = await this.mockAuthAndGetSkillClient();
|
|
35
|
-
//@ts-ignore
|
|
36
|
-
test_utils_1.assert.isFalse(skillClient.isConnectedToApi);
|
|
37
|
-
const auth = skillClient.authenticate.bind(skillClient);
|
|
38
|
-
let midAuthResults;
|
|
39
|
-
skillClient.authenticate = (...args) => {
|
|
40
|
-
void skillClient
|
|
41
|
-
.emit('whoami::v2020_12_25')
|
|
42
|
-
.then((results) => (midAuthResults = results));
|
|
43
|
-
//@ts-ignore
|
|
44
|
-
return auth(...args);
|
|
45
|
-
};
|
|
46
|
-
const all = await Promise.all([
|
|
47
|
-
skillClient.emit('whoami::v2020_12_25'),
|
|
48
|
-
skillClient.emit('whoami::v2020_12_25'),
|
|
49
|
-
skillClient.emit('whoami::v2020_12_25'),
|
|
50
|
-
skillClient.emit('whoami::v2020_12_25'),
|
|
51
|
-
]);
|
|
52
|
-
while (!midAuthResults) {
|
|
53
|
-
await this.wait(100);
|
|
54
|
-
}
|
|
55
|
-
for (const response of [...all, midAuthResults]) {
|
|
56
|
-
test_utils_1.assert.isEqual(response.responses[0].payload?.type, 'authenticated');
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
static async mockAuthAndGetSkillClient() {
|
|
60
|
-
const { client: creatorClient, person } = await this.loginAsDemoPerson();
|
|
61
|
-
const skill = await this.seedDemoSkill(creatorClient);
|
|
62
|
-
const skillClient = await this.connectToApi();
|
|
63
|
-
await creatorClient.on('authenticate::v2020_12_25', async () => {
|
|
64
|
-
return {
|
|
65
|
-
type: 'authenticated',
|
|
66
|
-
auth: {
|
|
67
|
-
skill: {
|
|
68
|
-
...skill,
|
|
69
|
-
creators: [
|
|
70
|
-
{
|
|
71
|
-
personId: person.id,
|
|
72
|
-
},
|
|
73
|
-
],
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
};
|
|
77
|
-
});
|
|
78
|
-
await skillClient.authenticate({
|
|
79
|
-
skillId: skill.id,
|
|
80
|
-
apiKey: skill.apiKey,
|
|
81
|
-
});
|
|
82
|
-
return { skillClient, skill };
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
exports.default = LocallyHandlingAuthenticateDelaysConnectTest;
|
|
86
|
-
__decorate([
|
|
87
|
-
(0, test_utils_1.test)()
|
|
88
|
-
], LocallyHandlingAuthenticateDelaysConnectTest, "locallyHandlingAuthenticateDelaysConnect", null);
|
|
89
|
-
__decorate([
|
|
90
|
-
(0, test_utils_1.test)()
|
|
91
|
-
], LocallyHandlingAuthenticateDelaysConnectTest, "delayedConnectHandlesManyParallelRequests", null);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LocallyHandlingAuthenticateDelaysConnect.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/LocallyHandlingAuthenticateDelaysConnect.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import AbstractSpruceTest from '@sprucelabs/test';
|
|
2
|
-
export default class MercuryClientFactoryTest extends AbstractSpruceTest {
|
|
3
|
-
protected static clientMixinContract(): Promise<void>;
|
|
4
|
-
protected static fallsBackToDefaultWhenHostIsUndefined(): Promise<void>;
|
|
5
|
-
protected static fallsBackToDefaultWhenHostIsNull(): Promise<void>;
|
|
6
|
-
protected static canSetClassToCreate(): Promise<void>;
|
|
7
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const test_1 = __importDefault(require("@sprucelabs/test"));
|
|
13
|
-
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
14
|
-
const __1 = require("../..");
|
|
15
|
-
const MutableContractClient_1 = __importDefault(require("../../clients/MutableContractClient"));
|
|
16
|
-
const constants_1 = require("../../constants");
|
|
17
|
-
const constants_2 = require("../../tests/constants");
|
|
18
|
-
class MercuryClientFactoryTest extends test_1.default {
|
|
19
|
-
static async clientMixinContract() {
|
|
20
|
-
const client = await __1.MercuryClientFactory.Client({
|
|
21
|
-
host: constants_2.TEST_HOST,
|
|
22
|
-
allowSelfSignedCrt: true,
|
|
23
|
-
contracts: [
|
|
24
|
-
{
|
|
25
|
-
eventSignatures: {},
|
|
26
|
-
},
|
|
27
|
-
],
|
|
28
|
-
});
|
|
29
|
-
test_utils_1.assert.isFalse(client.doesHandleEvent('my-cool-event'));
|
|
30
|
-
client.mixinContract({
|
|
31
|
-
eventSignatures: {
|
|
32
|
-
'my-cool-event': {},
|
|
33
|
-
},
|
|
34
|
-
});
|
|
35
|
-
test_utils_1.assert.isTrue(client.doesHandleEvent('my-cool-event'));
|
|
36
|
-
await client.disconnect();
|
|
37
|
-
}
|
|
38
|
-
static async fallsBackToDefaultWhenHostIsUndefined() {
|
|
39
|
-
const client = await __1.MercuryClientFactory.Client({
|
|
40
|
-
host: undefined,
|
|
41
|
-
allowSelfSignedCrt: true,
|
|
42
|
-
contracts: [
|
|
43
|
-
{
|
|
44
|
-
eventSignatures: {},
|
|
45
|
-
},
|
|
46
|
-
],
|
|
47
|
-
});
|
|
48
|
-
//@ts-ignore
|
|
49
|
-
test_utils_1.assert.isEqual(client.host, constants_1.DEFAULT_HOST);
|
|
50
|
-
}
|
|
51
|
-
static async fallsBackToDefaultWhenHostIsNull() {
|
|
52
|
-
const client = await __1.MercuryClientFactory.Client({
|
|
53
|
-
//@ts-ignore
|
|
54
|
-
host: null,
|
|
55
|
-
allowSelfSignedCrt: true,
|
|
56
|
-
contracts: [
|
|
57
|
-
{
|
|
58
|
-
eventSignatures: {},
|
|
59
|
-
},
|
|
60
|
-
],
|
|
61
|
-
});
|
|
62
|
-
//@ts-ignore
|
|
63
|
-
test_utils_1.assert.isEqual(client.host, constants_1.DEFAULT_HOST);
|
|
64
|
-
}
|
|
65
|
-
static async canSetClassToCreate() {
|
|
66
|
-
__1.MercuryClientFactory.ClientClass = SpyClient;
|
|
67
|
-
const client = await __1.MercuryClientFactory.Client({});
|
|
68
|
-
test_utils_1.assert.isInstanceOf(client, SpyClient);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
exports.default = MercuryClientFactoryTest;
|
|
72
|
-
__decorate([
|
|
73
|
-
(0, test_utils_1.test)()
|
|
74
|
-
], MercuryClientFactoryTest, "clientMixinContract", null);
|
|
75
|
-
__decorate([
|
|
76
|
-
(0, test_utils_1.test)()
|
|
77
|
-
], MercuryClientFactoryTest, "fallsBackToDefaultWhenHostIsUndefined", null);
|
|
78
|
-
__decorate([
|
|
79
|
-
(0, test_utils_1.test)()
|
|
80
|
-
], MercuryClientFactoryTest, "fallsBackToDefaultWhenHostIsNull", null);
|
|
81
|
-
__decorate([
|
|
82
|
-
(0, test_utils_1.test)()
|
|
83
|
-
], MercuryClientFactoryTest, "canSetClassToCreate", null);
|
|
84
|
-
class SpyClient extends MutableContractClient_1.default {
|
|
85
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MercuryClientFactory.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/MercuryClientFactory.test.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,4DAAiD;AACjD,uDAAqD;AACrD,6BAA4C;AAC5C,gGAAuE;AACvE,+CAA8C;AAC9C,qDAAiD;AAEjD,MAAqB,wBAAyB,SAAQ,cAAkB;IAE7C,AAAb,MAAM,CAAC,KAAK,CAAC,mBAAmB;QACtC,MAAM,MAAM,GAAG,MAAM,wBAAoB,CAAC,MAAM,CAAC;YAC7C,IAAI,EAAE,qBAAS;YACf,kBAAkB,EAAE,IAAI;YACxB,SAAS,EAAE;gBACP;oBACI,eAAe,EAAE,EAAE;iBACtB;aACJ;SACJ,CAAC,CAAA;QAEF,mBAAM,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAA;QAEvD,MAAM,CAAC,aAAa,CAAC;YACjB,eAAe,EAAE;gBACb,eAAe,EAAE,EAAE;aACtB;SACJ,CAAC,CAAA;QAEF,mBAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAA;QAEtD,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;IAC7B,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,qCAAqC;QACxD,MAAM,MAAM,GAAG,MAAM,wBAAoB,CAAC,MAAM,CAAC;YAC7C,IAAI,EAAE,SAAS;YACf,kBAAkB,EAAE,IAAI;YACxB,SAAS,EAAE;gBACP;oBACI,eAAe,EAAE,EAAE;iBACtB;aACJ;SACJ,CAAC,CAAA;QAEF,YAAY;QACZ,mBAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,wBAAY,CAAC,CAAA;IAC7C,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,gCAAgC;QACnD,MAAM,MAAM,GAAG,MAAM,wBAAoB,CAAC,MAAM,CAAC;YAC7C,YAAY;YACZ,IAAI,EAAE,IAAI;YACV,kBAAkB,EAAE,IAAI;YACxB,SAAS,EAAE;gBACP;oBACI,eAAe,EAAE,EAAE;iBACtB;aACJ;SACJ,CAAC,CAAA;QAEF,YAAY;QACZ,mBAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,wBAAY,CAAC,CAAA;IAC7C,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mBAAmB;QACtC,wBAAoB,CAAC,WAAW,GAAG,SAAgB,CAAA;QACnD,MAAM,MAAM,GAAG,MAAM,wBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACpD,mBAAM,CAAC,YAAY,CAAC,MAAM,EAAE,SAAgB,CAAC,CAAA;IACjD,CAAC;CACJ;AAjED,2CAiEC;AA/D0B;IADtB,IAAA,iBAAI,GAAE;yDAuBN;AAGsB;IADtB,IAAA,iBAAI,GAAE;2EAcN;AAGsB;IADtB,IAAA,iBAAI,GAAE;sEAeN;AAGsB;IADtB,IAAA,iBAAI,GAAE;yDAKN;AAGL,MAAM,SAAU,SAAQ,+BAAyC;CAAG"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import AbstractClientTest from '../../tests/AbstractClientTest';
|
|
2
|
-
export default class ProxyingEventsTest extends AbstractClientTest {
|
|
3
|
-
protected static canMakeRequestAsSomeoneUsingProxy(): Promise<void>;
|
|
4
|
-
protected static canUseRegisterProxyMethod(): Promise<void>;
|
|
5
|
-
protected static registerTokenMethodRegistersValidToken(): Promise<void>;
|
|
6
|
-
protected static clientRegistersNewProxyTokenOnReconnect(): Promise<void>;
|
|
7
|
-
protected static proxyTokenNotSentToAuthenticate(): Promise<void>;
|
|
8
|
-
private static assertClientWithTokenComesBackWithPerson;
|
|
9
|
-
private static assertPerson1CameBack;
|
|
10
|
-
private static loginAndRegisterToken;
|
|
11
|
-
}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const spruce_event_utils_1 = require("@sprucelabs/spruce-event-utils");
|
|
13
|
-
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
14
|
-
const AbstractClientTest_1 = __importDefault(require("../../tests/AbstractClientTest"));
|
|
15
|
-
class ProxyingEventsTest extends AbstractClientTest_1.default {
|
|
16
|
-
static async canMakeRequestAsSomeoneUsingProxy() {
|
|
17
|
-
const { person1, token, client2 } = await this.loginAndRegisterToken();
|
|
18
|
-
const results = await client2.emit('whoami::v2020_12_25', {
|
|
19
|
-
source: {
|
|
20
|
-
proxyToken: token,
|
|
21
|
-
},
|
|
22
|
-
});
|
|
23
|
-
this.assertPerson1CameBack(results, person1);
|
|
24
|
-
}
|
|
25
|
-
static async canUseRegisterProxyMethod() {
|
|
26
|
-
const { client } = await this.loginAsDemoPerson();
|
|
27
|
-
test_utils_1.assert.isFunction(client.registerProxyToken);
|
|
28
|
-
const token = await client.registerProxyToken();
|
|
29
|
-
const actual = client.getProxyToken();
|
|
30
|
-
test_utils_1.assert.isEqual(token, actual);
|
|
31
|
-
}
|
|
32
|
-
static async registerTokenMethodRegistersValidToken() {
|
|
33
|
-
const { client, person } = await this.loginAsDemoPerson();
|
|
34
|
-
const { client: client1 } = await this.loginAsDemoPerson();
|
|
35
|
-
test_utils_1.assert.isFunction(client.registerProxyToken);
|
|
36
|
-
const token = await client.registerProxyToken();
|
|
37
|
-
await this.assertClientWithTokenComesBackWithPerson(client1, token, person);
|
|
38
|
-
}
|
|
39
|
-
static async clientRegistersNewProxyTokenOnReconnect() {
|
|
40
|
-
const { client, person } = await this.loginAsDemoPerson();
|
|
41
|
-
const token1 = await client.registerProxyToken();
|
|
42
|
-
//@ts-ignore
|
|
43
|
-
client.socket.disconnect();
|
|
44
|
-
let token2 = null;
|
|
45
|
-
do {
|
|
46
|
-
token2 = client.getProxyToken();
|
|
47
|
-
await this.wait(100);
|
|
48
|
-
} while (!token2);
|
|
49
|
-
test_utils_1.assert.isNotEqual(token1, token2);
|
|
50
|
-
const { client: client2 } = await this.loginAsDemoPerson();
|
|
51
|
-
await this.assertClientWithTokenComesBackWithPerson(client2, token2, person);
|
|
52
|
-
}
|
|
53
|
-
static async proxyTokenNotSentToAuthenticate() {
|
|
54
|
-
const anonClient = await this.connectToApi();
|
|
55
|
-
const { client } = await this.loginAsDemoPerson();
|
|
56
|
-
const token = await client.registerProxyToken();
|
|
57
|
-
anonClient.setProxyToken(token);
|
|
58
|
-
const err = await test_utils_1.assert.doesThrowAsync(() => anonClient.authenticate({
|
|
59
|
-
token: '234234',
|
|
60
|
-
}));
|
|
61
|
-
spruce_event_utils_1.eventAssertUtil.assertError(err, 'INVALID_AUTH_TOKEN');
|
|
62
|
-
}
|
|
63
|
-
static async assertClientWithTokenComesBackWithPerson(client, token, person) {
|
|
64
|
-
const results = await client.emit('whoami::v2020_12_25', {
|
|
65
|
-
source: {
|
|
66
|
-
proxyToken: token,
|
|
67
|
-
},
|
|
68
|
-
});
|
|
69
|
-
this.assertPerson1CameBack(results, person);
|
|
70
|
-
}
|
|
71
|
-
static assertPerson1CameBack(results, person1) {
|
|
72
|
-
const { auth } = spruce_event_utils_1.eventResponseUtil.getFirstResponseOrThrow(results);
|
|
73
|
-
test_utils_1.assert.isTruthy(auth.person);
|
|
74
|
-
test_utils_1.assert.isEqual(auth.person.id, person1.id);
|
|
75
|
-
}
|
|
76
|
-
static async loginAndRegisterToken() {
|
|
77
|
-
const { client, person: person1 } = await this.loginAsDemoPerson();
|
|
78
|
-
const { client: client2 } = await this.loginAsDemoPerson();
|
|
79
|
-
const results = await client.emit('register-proxy-token::v2020_12_25');
|
|
80
|
-
const { token } = spruce_event_utils_1.eventResponseUtil.getFirstResponseOrThrow(results);
|
|
81
|
-
return { person1, token, client2 };
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
exports.default = ProxyingEventsTest;
|
|
85
|
-
__decorate([
|
|
86
|
-
(0, test_utils_1.test)()
|
|
87
|
-
], ProxyingEventsTest, "canMakeRequestAsSomeoneUsingProxy", null);
|
|
88
|
-
__decorate([
|
|
89
|
-
(0, test_utils_1.test)()
|
|
90
|
-
], ProxyingEventsTest, "canUseRegisterProxyMethod", null);
|
|
91
|
-
__decorate([
|
|
92
|
-
(0, test_utils_1.test)()
|
|
93
|
-
], ProxyingEventsTest, "registerTokenMethodRegistersValidToken", null);
|
|
94
|
-
__decorate([
|
|
95
|
-
(0, test_utils_1.test)()
|
|
96
|
-
], ProxyingEventsTest, "clientRegistersNewProxyTokenOnReconnect", null);
|
|
97
|
-
__decorate([
|
|
98
|
-
(0, test_utils_1.test)()
|
|
99
|
-
], ProxyingEventsTest, "proxyTokenNotSentToAuthenticate", null);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyingEvents.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/ProxyingEvents.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import AbstractClientTest from '../../tests/AbstractClientTest';
|
|
2
|
-
export default class ReconnectingAutomaticallyTest extends AbstractClientTest {
|
|
3
|
-
private static lastSocket?;
|
|
4
|
-
protected static beforeEach(): Promise<void>;
|
|
5
|
-
protected static invokesReconnectAfterDelayWhenConnectionLost(): Promise<void>;
|
|
6
|
-
protected static reconnectsWhenEmittingEventWhenDisconnected(): Promise<void>;
|
|
7
|
-
protected static shouldThrowWhenEmittingAfterManualDisconnect(): Promise<void>;
|
|
8
|
-
protected static retriesEventIfItFailsAfterTimeout(): Promise<void>;
|
|
9
|
-
protected static retriesEventIfItFailsAfterTimeoutWithTestClient(): Promise<void>;
|
|
10
|
-
protected static timingOutDuringAuthDoesntThrowAuthBlockedError(): Promise<void>;
|
|
11
|
-
protected static manuallyDisconnectStopsReconnectAttempts(): Promise<void>;
|
|
12
|
-
protected static canSetConnectionRetries(retries: number): Promise<void>;
|
|
13
|
-
protected static failingToConnectAtFirstReturnsClientFromOriginalConnection(): Promise<void>;
|
|
14
|
-
protected static canAddStatusChangeListener(): Promise<void>;
|
|
15
|
-
protected static canAddMultipleStatusChangeListeners(): Promise<void>;
|
|
16
|
-
protected static emitsStatusChangeForAttemptingReconnect(): Promise<void>;
|
|
17
|
-
protected static emitRetriesTracksAccurately(retries: number): Promise<void>;
|
|
18
|
-
protected static emitsConnectAfterReconnectReRegisterProxyAndListeners(): Promise<void>;
|
|
19
|
-
protected static onlyEmitsConnectedOnceWhenReconnecting(): Promise<void>;
|
|
20
|
-
private static enableAndEmitConnect;
|
|
21
|
-
private static disableConnectAndSendMultipleConnectErrors;
|
|
22
|
-
private static connectAsProxySpy;
|
|
23
|
-
private static emitConnect;
|
|
24
|
-
private static enableConnect;
|
|
25
|
-
private static emitConnectError;
|
|
26
|
-
private static emitDisconnect;
|
|
27
|
-
private static disableConnect;
|
|
28
|
-
private static waitAndAssertRetriesDecrement;
|
|
29
|
-
private static connectWithEmittingSocket;
|
|
30
|
-
private static ClientZeroDelay;
|
|
31
|
-
private static assertRetriesEmitOnDisconnect;
|
|
32
|
-
private static patchMercuryEmitToThrow;
|
|
33
|
-
}
|