@passlock/client 0.9.19 → 0.9.22
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/README.md +30 -21
- package/dist/authentication/authenticate.d.ts +5 -4
- package/dist/authentication/authenticate.d.ts.map +1 -1
- package/dist/authentication/authenticate.fixture.d.ts +3 -4
- package/dist/authentication/authenticate.fixture.d.ts.map +1 -1
- package/dist/authentication/authenticate.fixture.js +2 -11
- package/dist/authentication/authenticate.fixture.js.map +1 -1
- package/dist/authentication/authenticate.js +4 -4
- package/dist/authentication/authenticate.js.map +1 -1
- package/dist/connection/connection.d.ts +4 -3
- package/dist/connection/connection.d.ts.map +1 -1
- package/dist/connection/connection.fixture.d.ts +3 -5
- package/dist/connection/connection.fixture.d.ts.map +1 -1
- package/dist/connection/connection.fixture.js +3 -15
- package/dist/connection/connection.fixture.js.map +1 -1
- package/dist/connection/connection.js +3 -3
- package/dist/connection/connection.js.map +1 -1
- package/dist/effect.d.ts +1 -1
- package/dist/effect.d.ts.map +1 -1
- package/dist/effect.js +17 -8
- package/dist/effect.js.map +1 -1
- package/dist/email/email.d.ts +4 -4
- package/dist/email/email.d.ts.map +1 -1
- package/dist/email/email.fixture.d.ts +2 -3
- package/dist/email/email.fixture.d.ts.map +1 -1
- package/dist/email/email.fixture.js +2 -10
- package/dist/email/email.fixture.js.map +1 -1
- package/dist/email/email.js +2 -3
- package/dist/email/email.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/logging/eventLogger.d.ts.map +1 -1
- package/dist/logging/eventLogger.js +15 -9
- package/dist/logging/eventLogger.js.map +1 -1
- package/dist/registration/register.d.ts +6 -4
- package/dist/registration/register.d.ts.map +1 -1
- package/dist/registration/register.fixture.d.ts +3 -4
- package/dist/registration/register.fixture.d.ts.map +1 -1
- package/dist/registration/register.fixture.js +2 -12
- package/dist/registration/register.fixture.js.map +1 -1
- package/dist/registration/register.js +5 -4
- package/dist/registration/register.js.map +1 -1
- package/dist/rpc/authentication.d.ts +9 -0
- package/dist/rpc/authentication.d.ts.map +1 -0
- package/dist/rpc/authentication.js +15 -0
- package/dist/rpc/authentication.js.map +1 -0
- package/dist/rpc/client.d.ts +27 -0
- package/dist/rpc/client.d.ts.map +1 -0
- package/dist/rpc/client.js +92 -0
- package/dist/rpc/client.js.map +1 -0
- package/dist/rpc/config.d.ts +16 -0
- package/dist/rpc/config.d.ts.map +1 -0
- package/dist/rpc/config.js +6 -0
- package/dist/rpc/config.js.map +1 -0
- package/dist/rpc/connection.d.ts +9 -0
- package/dist/rpc/connection.d.ts.map +1 -0
- package/dist/rpc/connection.js +14 -0
- package/dist/rpc/connection.js.map +1 -0
- package/dist/rpc/registration.d.ts +9 -0
- package/dist/rpc/registration.d.ts.map +1 -0
- package/dist/rpc/registration.js +15 -0
- package/dist/rpc/registration.js.map +1 -0
- package/dist/rpc/social.d.ts +11 -0
- package/dist/rpc/social.d.ts.map +1 -0
- package/dist/rpc/social.js +17 -0
- package/dist/rpc/social.js.map +1 -0
- package/dist/rpc/user.d.ts +9 -0
- package/dist/rpc/user.d.ts.map +1 -0
- package/dist/rpc/user.js +18 -0
- package/dist/rpc/user.js.map +1 -0
- package/dist/social/social.d.ts +4 -4
- package/dist/social/social.d.ts.map +1 -1
- package/dist/social/social.fixture.d.ts +1 -2
- package/dist/social/social.fixture.d.ts.map +1 -1
- package/dist/social/social.fixture.js +5 -14
- package/dist/social/social.fixture.js.map +1 -1
- package/dist/social/social.js +6 -6
- package/dist/social/social.js.map +1 -1
- package/dist/storage/storage.d.ts +1 -1
- package/dist/storage/storage.d.ts.map +1 -1
- package/dist/test/fixtures.d.ts +1 -3
- package/dist/test/fixtures.d.ts.map +1 -1
- package/dist/test/fixtures.js +0 -2
- package/dist/test/fixtures.js.map +1 -1
- package/dist/user/user.d.ts +4 -4
- package/dist/user/user.d.ts.map +1 -1
- package/dist/user/user.fixture.d.ts +2 -3
- package/dist/user/user.fixture.d.ts.map +1 -1
- package/dist/user/user.fixture.js +2 -10
- package/dist/user/user.fixture.js.map +1 -1
- package/dist/user/user.js +3 -4
- package/dist/user/user.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +24 -23
- package/src/authentication/authenticate.fixture.ts +8 -16
- package/src/authentication/authenticate.test.ts +7 -7
- package/src/authentication/authenticate.ts +13 -14
- package/src/connection/connection.fixture.ts +4 -16
- package/src/connection/connection.test.ts +7 -6
- package/src/connection/connection.ts +5 -5
- package/src/effect.ts +20 -14
- package/src/email/email.fixture.ts +3 -11
- package/src/email/email.test.ts +7 -7
- package/src/email/email.ts +5 -6
- package/src/index.ts +5 -2
- package/src/logging/eventLogger.test.ts +1 -0
- package/src/logging/eventLogger.ts +16 -10
- package/src/registration/register.fixture.ts +9 -18
- package/src/registration/register.test.ts +9 -9
- package/src/registration/register.ts +12 -13
- package/src/social/social.fixture.ts +7 -16
- package/src/social/social.test.ts +15 -15
- package/src/social/social.ts +9 -9
- package/src/storage/storage.ts +1 -1
- package/src/test/fixtures.ts +1 -3
- package/src/user/user.fixture.ts +3 -11
- package/src/user/user.test.ts +7 -7
- package/src/user/user.ts +6 -7
- package/dist/authentication/authenticate.test.d.ts +0 -2
- package/dist/authentication/authenticate.test.d.ts.map +0 -1
- package/dist/authentication/authenticate.test.js +0 -111
- package/dist/authentication/authenticate.test.js.map +0 -1
- package/dist/connection/connection.test.d.ts +0 -2
- package/dist/connection/connection.test.d.ts.map +0 -1
- package/dist/connection/connection.test.js +0 -35
- package/dist/connection/connection.test.js.map +0 -1
- package/dist/email/email.test.d.ts +0 -2
- package/dist/email/email.test.d.ts.map +0 -1
- package/dist/email/email.test.js +0 -99
- package/dist/email/email.test.js.map +0 -1
- package/dist/event/event.node.test.d.ts +0 -2
- package/dist/event/event.node.test.d.ts.map +0 -1
- package/dist/event/event.node.test.js +0 -13
- package/dist/event/event.node.test.js.map +0 -1
- package/dist/event/event.test.d.ts +0 -2
- package/dist/event/event.test.d.ts.map +0 -1
- package/dist/event/event.test.js +0 -30
- package/dist/event/event.test.js.map +0 -1
- package/dist/logging/eventLogger.test.d.ts +0 -2
- package/dist/logging/eventLogger.test.d.ts.map +0 -1
- package/dist/logging/eventLogger.test.js +0 -67
- package/dist/logging/eventLogger.test.js.map +0 -1
- package/dist/registration/register.test.d.ts +0 -2
- package/dist/registration/register.test.d.ts.map +0 -1
- package/dist/registration/register.test.js +0 -104
- package/dist/registration/register.test.js.map +0 -1
- package/dist/social/social.test.d.ts +0 -2
- package/dist/social/social.test.d.ts.map +0 -1
- package/dist/social/social.test.js +0 -110
- package/dist/social/social.test.js.map +0 -1
- package/dist/storage/storage.test.d.ts +0 -2
- package/dist/storage/storage.test.d.ts.map +0 -1
- package/dist/storage/storage.test.js +0 -120
- package/dist/storage/storage.test.js.map +0 -1
- package/dist/user/user.test.d.ts +0 -2
- package/dist/user/user.test.d.ts.map +0 -1
- package/dist/user/user.test.js +0 -56
- package/dist/user/user.test.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"email.test.js","sourceRoot":"","sources":["../../src/email/email.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.node.test.d.ts","sourceRoot":"","sources":["../../src/event/event.node.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Effect, pipe } from 'effect';
|
|
2
|
-
import { describe, expect, test } from 'vitest';
|
|
3
|
-
import { fireEvent } from './event.js';
|
|
4
|
-
describe('isPasslockEvent', () => {
|
|
5
|
-
test("return a Passlock error if custom events aren't supported", async () => {
|
|
6
|
-
const program = pipe(fireEvent('hello world'), Effect.flip, Effect.tap(e => {
|
|
7
|
-
expect(e._tag).toBe('InternalBrowserError');
|
|
8
|
-
expect(e.message).toBe('Unable to fire custom event');
|
|
9
|
-
}));
|
|
10
|
-
await Effect.runPromise(program);
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
//# sourceMappingURL=event.node.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.node.test.js","sourceRoot":"","sources":["../../src/event/event.node.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAItC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,OAAO,GAAG,IAAI,CAClB,SAAS,CAAC,aAAa,CAAC,EACxB,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACb,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;YAC3C,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;QACvD,CAAC,CAAC,CACH,CAAA;QAED,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.test.d.ts","sourceRoot":"","sources":["../../src/event/event.test.ts"],"names":[],"mappings":""}
|
package/dist/event/event.test.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Effect } from 'effect';
|
|
2
|
-
import { afterEach, describe, expect, test, vi } from 'vitest';
|
|
3
|
-
import { DebugMessage, fireEvent, isPasslockEvent } from './event.js';
|
|
4
|
-
describe('fireEvent', () => {
|
|
5
|
-
afterEach(() => {
|
|
6
|
-
vi.restoreAllMocks();
|
|
7
|
-
});
|
|
8
|
-
test('fire a custom log event', () => {
|
|
9
|
-
const effect = fireEvent('hello world');
|
|
10
|
-
const eventSpy = vi.spyOn(globalThis, 'dispatchEvent');
|
|
11
|
-
Effect.runSync(effect);
|
|
12
|
-
const expectedEvent = new CustomEvent(DebugMessage, {
|
|
13
|
-
detail: 'hello world',
|
|
14
|
-
});
|
|
15
|
-
expect(eventSpy).toHaveBeenCalledWith(expectedEvent);
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
describe('isPasslockEvent', () => {
|
|
19
|
-
test('return true for our custom event', () => {
|
|
20
|
-
const passlockEvent = new CustomEvent(DebugMessage, {
|
|
21
|
-
detail: 'hello world',
|
|
22
|
-
});
|
|
23
|
-
expect(isPasslockEvent(passlockEvent)).toBe(true);
|
|
24
|
-
});
|
|
25
|
-
test('return false for other events', () => {
|
|
26
|
-
const otherEvent = new MouseEvent('click');
|
|
27
|
-
expect(isPasslockEvent(otherEvent)).toBe(false);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
//# sourceMappingURL=event.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.test.js","sourceRoot":"","sources":["../../src/event/event.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAErE,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,eAAe,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACnC,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,CAAA;QACvC,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;QACtD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAEtB,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC,YAAY,EAAE;YAClD,MAAM,EAAE,aAAa;SACtB,CAAC,CAAA;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC5C,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC,YAAY,EAAE;YAClD,MAAM,EAAE,aAAa;SACtB,CAAC,CAAA;QAEF,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;QAC1C,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eventLogger.test.d.ts","sourceRoot":"","sources":["../../src/logging/eventLogger.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { Effect as E, LogLevel, Logger } from 'effect';
|
|
2
|
-
import { describe, expect, test, vi } from 'vitest';
|
|
3
|
-
import { eventLoggerLive, logRaw } from './eventLogger.js';
|
|
4
|
-
describe('log', () => {
|
|
5
|
-
test('log DEBUG to the console', () => {
|
|
6
|
-
const logStatement = E.logDebug('hello world');
|
|
7
|
-
const logSpy = vi.spyOn(globalThis.console, 'log').mockImplementation(() => undefined);
|
|
8
|
-
const withLogLevel = logStatement.pipe(Logger.withMinimumLogLevel(LogLevel.Debug));
|
|
9
|
-
const effect = E.provide(withLogLevel, eventLoggerLive);
|
|
10
|
-
E.runSync(effect);
|
|
11
|
-
expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('hello world'));
|
|
12
|
-
expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('DEBUG'));
|
|
13
|
-
});
|
|
14
|
-
test('log INFO to the console', () => {
|
|
15
|
-
const logStatement = E.logInfo('hello world');
|
|
16
|
-
const logSpy = vi.spyOn(globalThis.console, 'log').mockImplementation(() => undefined);
|
|
17
|
-
const withLogLevel = logStatement.pipe(Logger.withMinimumLogLevel(LogLevel.Info));
|
|
18
|
-
const effect = E.provide(withLogLevel, eventLoggerLive);
|
|
19
|
-
E.runSync(effect);
|
|
20
|
-
expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('hello world'));
|
|
21
|
-
expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('INFO'));
|
|
22
|
-
});
|
|
23
|
-
test('log WARN to the console', () => {
|
|
24
|
-
const logStatement = E.logWarning('hello world');
|
|
25
|
-
const logSpy = vi.spyOn(globalThis.console, 'log').mockImplementation(() => undefined);
|
|
26
|
-
const withLogLevel = logStatement.pipe(Logger.withMinimumLogLevel(LogLevel.Warning));
|
|
27
|
-
const effect = E.provide(withLogLevel, eventLoggerLive);
|
|
28
|
-
E.runSync(effect);
|
|
29
|
-
expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('hello world'));
|
|
30
|
-
expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('WARN'));
|
|
31
|
-
});
|
|
32
|
-
test('log ERROR to the console', () => {
|
|
33
|
-
const logStatement = E.logError('hello world');
|
|
34
|
-
const logSpy = vi.spyOn(globalThis.console, 'log').mockImplementation(() => undefined);
|
|
35
|
-
const withLogLevel = logStatement.pipe(Logger.withMinimumLogLevel(LogLevel.Error));
|
|
36
|
-
const effect = E.provide(withLogLevel, eventLoggerLive);
|
|
37
|
-
E.runSync(effect);
|
|
38
|
-
expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('hello world'));
|
|
39
|
-
expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('ERROR'));
|
|
40
|
-
});
|
|
41
|
-
test('log raw data to the console', () => {
|
|
42
|
-
const logStatement = logRaw('hello world');
|
|
43
|
-
const logSpy = vi.spyOn(globalThis.console, 'log').mockImplementation(() => undefined);
|
|
44
|
-
E.runSync(logStatement);
|
|
45
|
-
expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('hello world'));
|
|
46
|
-
});
|
|
47
|
-
test('fire a custom log event', () => {
|
|
48
|
-
const logStatement = E.logWarning('hello world');
|
|
49
|
-
const eventSpy = vi.spyOn(globalThis, 'dispatchEvent').mockImplementation(() => false);
|
|
50
|
-
const withLogLevel = logStatement.pipe(Logger.withMinimumLogLevel(LogLevel.Warning));
|
|
51
|
-
const effect = E.provide(withLogLevel, eventLoggerLive);
|
|
52
|
-
E.runSync(effect);
|
|
53
|
-
const expectedEvent = new CustomEvent('PasslogDebugMessage', {
|
|
54
|
-
detail: 'hello world',
|
|
55
|
-
});
|
|
56
|
-
expect(eventSpy).toHaveBeenCalledWith(expectedEvent);
|
|
57
|
-
});
|
|
58
|
-
test('not fire a log event for a debug message', () => {
|
|
59
|
-
const logStatement = E.logDebug('hello world');
|
|
60
|
-
const eventSpy = vi.spyOn(globalThis, 'dispatchEvent').mockImplementation(() => false);
|
|
61
|
-
const withDebugLevel = logStatement.pipe(Logger.withMinimumLogLevel(LogLevel.Debug));
|
|
62
|
-
const effect = E.provide(withDebugLevel, eventLoggerLive);
|
|
63
|
-
E.runSync(effect);
|
|
64
|
-
expect(eventSpy).not.toHaveBeenCalled();
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
//# sourceMappingURL=eventLogger.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eventLogger.test.js","sourceRoot":"","sources":["../../src/logging/eventLogger.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.test.d.ts","sourceRoot":"","sources":["../../src/registration/register.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { Duplicate, InternalBrowserError } from '@passlock/shared/dist/error/error.js';
|
|
2
|
-
import { RpcClient } from '@passlock/shared/dist/rpc/rpc.js';
|
|
3
|
-
import { Effect as E, Layer as L, Layer, LogLevel, Logger, pipe } from 'effect';
|
|
4
|
-
import { describe, expect, test, vi } from 'vitest';
|
|
5
|
-
import { mock } from 'vitest-mock-extended';
|
|
6
|
-
import * as Fixture from './register.fixture.js';
|
|
7
|
-
import { CreateCredential, RegistrationService, RegistrationServiceLive } from './register.js';
|
|
8
|
-
describe('register should', () => {
|
|
9
|
-
test('return a valid credential', async () => {
|
|
10
|
-
const assertions = E.gen(function* (_) {
|
|
11
|
-
const service = yield* _(RegistrationService);
|
|
12
|
-
const result = yield* _(service.registerPasskey(Fixture.registrationRequest));
|
|
13
|
-
expect(result).toEqual(Fixture.principal);
|
|
14
|
-
});
|
|
15
|
-
const service = pipe(RegistrationServiceLive, L.provide(Fixture.createCredentialTest), L.provide(Fixture.userServiceTest), L.provide(Fixture.capabilitiesTest), L.provide(Fixture.storageServiceTest), L.provide(Fixture.rpcClientTest));
|
|
16
|
-
const effect = pipe(E.provide(assertions, service), Logger.withMinimumLogLevel(LogLevel.None));
|
|
17
|
-
return E.runPromise(effect);
|
|
18
|
-
});
|
|
19
|
-
test('pass the registration data to the backend', async () => {
|
|
20
|
-
const assertions = E.gen(function* (_) {
|
|
21
|
-
const service = yield* _(RegistrationService);
|
|
22
|
-
yield* _(service.registerPasskey(Fixture.registrationRequest));
|
|
23
|
-
const rpcClient = yield* _(RpcClient);
|
|
24
|
-
expect(rpcClient.getRegistrationOptions).toHaveBeenCalledWith(Fixture.rpcOptionsReq);
|
|
25
|
-
});
|
|
26
|
-
const rpcClientTest = L.effect(RpcClient, E.sync(() => {
|
|
27
|
-
const rpcMock = mock();
|
|
28
|
-
rpcMock.getRegistrationOptions.mockReturnValue(E.succeed(Fixture.rpcOptionsRes));
|
|
29
|
-
rpcMock.verifyRegistrationCredential.mockReturnValue(E.succeed(Fixture.rpcVerificationRes));
|
|
30
|
-
return rpcMock;
|
|
31
|
-
}));
|
|
32
|
-
const service = pipe(RegistrationServiceLive, L.provide(Fixture.createCredentialTest), L.provide(Fixture.capabilitiesTest), L.provide(Fixture.storageServiceTest), L.provide(Fixture.userServiceTest), L.provide(rpcClientTest));
|
|
33
|
-
const layers = Layer.merge(service, rpcClientTest);
|
|
34
|
-
const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
|
|
35
|
-
return E.runPromise(effect);
|
|
36
|
-
});
|
|
37
|
-
test('send the new credential to the backend', async () => {
|
|
38
|
-
const assertions = E.gen(function* (_) {
|
|
39
|
-
const service = yield* _(RegistrationService);
|
|
40
|
-
yield* _(service.registerPasskey(Fixture.registrationRequest));
|
|
41
|
-
const rpcClient = yield* _(RpcClient);
|
|
42
|
-
expect(rpcClient.verifyRegistrationCredential).toHaveBeenCalledWith(Fixture.rpcVerificationReq);
|
|
43
|
-
});
|
|
44
|
-
const rpcClientTest = L.effect(RpcClient, E.sync(() => {
|
|
45
|
-
const rpcMock = mock();
|
|
46
|
-
rpcMock.getRegistrationOptions.mockReturnValue(E.succeed(Fixture.rpcOptionsRes));
|
|
47
|
-
rpcMock.verifyRegistrationCredential.mockReturnValue(E.succeed(Fixture.rpcVerificationRes));
|
|
48
|
-
return rpcMock;
|
|
49
|
-
}));
|
|
50
|
-
const service = pipe(RegistrationServiceLive, L.provide(Fixture.createCredentialTest), L.provide(Fixture.capabilitiesTest), L.provide(Fixture.storageServiceTest), L.provide(Fixture.userServiceTest), L.provide(rpcClientTest));
|
|
51
|
-
const layers = Layer.merge(service, rpcClientTest);
|
|
52
|
-
const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
|
|
53
|
-
return E.runPromise(effect);
|
|
54
|
-
});
|
|
55
|
-
test('short-circuit if the user is already registered', async () => {
|
|
56
|
-
const assertions = E.gen(function* (_) {
|
|
57
|
-
const service = yield* _(RegistrationService);
|
|
58
|
-
const error = yield* _(service.registerPasskey(Fixture.registrationRequest), E.flip);
|
|
59
|
-
expect(error).toBeInstanceOf(Duplicate);
|
|
60
|
-
});
|
|
61
|
-
const rpcClientTest = L.effect(RpcClient, E.sync(() => {
|
|
62
|
-
const rpcMock = mock();
|
|
63
|
-
rpcMock.getRegistrationOptions.mockReturnValue(E.fail(new Duplicate({ message: 'User already exists' })));
|
|
64
|
-
return rpcMock;
|
|
65
|
-
}));
|
|
66
|
-
const service = pipe(RegistrationServiceLive, L.provide(Fixture.createCredentialTest), L.provide(Fixture.capabilitiesTest), L.provide(Fixture.storageServiceTest), L.provide(Fixture.userServiceTest), L.provide(rpcClientTest));
|
|
67
|
-
const layers = Layer.merge(service, rpcClientTest);
|
|
68
|
-
const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
|
|
69
|
-
return E.runPromise(effect);
|
|
70
|
-
});
|
|
71
|
-
test('return an error if we try to re-register a credential', async () => {
|
|
72
|
-
const assertions = E.gen(function* (_) {
|
|
73
|
-
const service = yield* _(RegistrationService);
|
|
74
|
-
const defect = yield* _(service.registerPasskey(Fixture.registrationRequest), E.flip);
|
|
75
|
-
expect(defect).toBeInstanceOf(Duplicate);
|
|
76
|
-
});
|
|
77
|
-
const createTest = L.effect(CreateCredential, E.sync(() => {
|
|
78
|
-
const createTest = vi.fn();
|
|
79
|
-
createTest.mockReturnValue(E.fail(new Duplicate({ message: 'boom!' })));
|
|
80
|
-
return createTest;
|
|
81
|
-
}));
|
|
82
|
-
const service = pipe(RegistrationServiceLive, L.provide(Fixture.userServiceTest), L.provide(Fixture.capabilitiesTest), L.provide(Fixture.storageServiceTest), L.provide(Fixture.rpcClientTest), L.provide(createTest));
|
|
83
|
-
const layers = Layer.merge(service, createTest);
|
|
84
|
-
const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
|
|
85
|
-
return E.runPromise(effect);
|
|
86
|
-
});
|
|
87
|
-
test("throw an error if the browser can't create a credential", async () => {
|
|
88
|
-
const assertions = E.gen(function* (_) {
|
|
89
|
-
const service = yield* _(RegistrationService);
|
|
90
|
-
const defect = yield* _(service.registerPasskey(Fixture.registrationRequest), E.catchAllDefect(defect => E.succeed(defect)));
|
|
91
|
-
expect(defect).toBeInstanceOf(InternalBrowserError);
|
|
92
|
-
});
|
|
93
|
-
const createTest = L.effect(CreateCredential, E.sync(() => {
|
|
94
|
-
const createTest = vi.fn();
|
|
95
|
-
createTest.mockReturnValue(E.fail(new InternalBrowserError({ message: 'boom!' })));
|
|
96
|
-
return createTest;
|
|
97
|
-
}));
|
|
98
|
-
const service = pipe(RegistrationServiceLive, L.provide(Fixture.userServiceTest), L.provide(Fixture.capabilitiesTest), L.provide(Fixture.storageServiceTest), L.provide(Fixture.rpcClientTest), L.provide(createTest));
|
|
99
|
-
const layers = Layer.merge(service, createTest);
|
|
100
|
-
const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
|
|
101
|
-
return E.runPromise(effect);
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
//# sourceMappingURL=register.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.test.js","sourceRoot":"","sources":["../../src/registration/register.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"social.test.d.ts","sourceRoot":"","sources":["../../src/social/social.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { Duplicate, NotFound } from '@passlock/shared/dist/error/error.js';
|
|
2
|
-
import { RpcClient } from '@passlock/shared/dist/rpc/rpc.js';
|
|
3
|
-
import { Effect as E, Layer as L, Layer, LogLevel, Logger, pipe } from 'effect';
|
|
4
|
-
import { describe, expect, test } from 'vitest';
|
|
5
|
-
import { mock } from 'vitest-mock-extended';
|
|
6
|
-
import * as Fixture from './social.fixture.js';
|
|
7
|
-
import { SocialService, SocialServiceLive } from './social.js';
|
|
8
|
-
describe('registerOidc should', () => {
|
|
9
|
-
test('return a valid credential', async () => {
|
|
10
|
-
const assertions = E.gen(function* (_) {
|
|
11
|
-
const service = yield* _(SocialService);
|
|
12
|
-
const result = yield* _(service.registerOidc(Fixture.registerOidcReq));
|
|
13
|
-
expect(result).toEqual(Fixture.principal);
|
|
14
|
-
});
|
|
15
|
-
const rpcClientTest = L.effect(RpcClient, E.sync(() => {
|
|
16
|
-
const rpcMock = mock();
|
|
17
|
-
rpcMock.registerOidc.mockReturnValue(E.succeed(Fixture.rpcRegisterRes));
|
|
18
|
-
return rpcMock;
|
|
19
|
-
}));
|
|
20
|
-
const service = pipe(SocialServiceLive, L.provide(rpcClientTest));
|
|
21
|
-
const layers = Layer.merge(service, rpcClientTest);
|
|
22
|
-
const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
|
|
23
|
-
return E.runPromise(effect);
|
|
24
|
-
});
|
|
25
|
-
test('pass the request to the backend', async () => {
|
|
26
|
-
const assertions = E.gen(function* (_) {
|
|
27
|
-
const service = yield* _(SocialService);
|
|
28
|
-
yield* _(service.registerOidc(Fixture.registerOidcReq));
|
|
29
|
-
const rpcClient = yield* _(RpcClient);
|
|
30
|
-
expect(rpcClient.registerOidc).toHaveBeenCalledWith(Fixture.rpcRegisterReq);
|
|
31
|
-
});
|
|
32
|
-
const rpcClientTest = L.effect(RpcClient, E.sync(() => {
|
|
33
|
-
const rpcMock = mock();
|
|
34
|
-
rpcMock.registerOidc.mockReturnValue(E.succeed(Fixture.rpcRegisterRes));
|
|
35
|
-
return rpcMock;
|
|
36
|
-
}));
|
|
37
|
-
const service = pipe(SocialServiceLive, L.provide(rpcClientTest));
|
|
38
|
-
const layers = Layer.merge(service, rpcClientTest);
|
|
39
|
-
const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
|
|
40
|
-
return E.runPromise(effect);
|
|
41
|
-
});
|
|
42
|
-
test('return an error if we try to register an existing user', async () => {
|
|
43
|
-
const assertions = E.gen(function* (_) {
|
|
44
|
-
const service = yield* _(SocialService);
|
|
45
|
-
const defect = yield* _(service.registerOidc(Fixture.registerOidcReq), E.flip);
|
|
46
|
-
expect(defect).toBeInstanceOf(Duplicate);
|
|
47
|
-
});
|
|
48
|
-
const rpcClientTest = L.effect(RpcClient, E.sync(() => {
|
|
49
|
-
const rpcMock = mock();
|
|
50
|
-
rpcMock.registerOidc.mockReturnValue(E.fail(new Duplicate({ message: "Duplicate user" })));
|
|
51
|
-
return rpcMock;
|
|
52
|
-
}));
|
|
53
|
-
const service = pipe(SocialServiceLive, L.provide(rpcClientTest));
|
|
54
|
-
const layers = Layer.merge(service, rpcClientTest);
|
|
55
|
-
const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
|
|
56
|
-
return E.runPromise(effect);
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
describe('authenticateIodc should', () => {
|
|
60
|
-
test('return a valid credential', async () => {
|
|
61
|
-
const assertions = E.gen(function* (_) {
|
|
62
|
-
const service = yield* _(SocialService);
|
|
63
|
-
const result = yield* _(service.authenticateOidc(Fixture.authOidcReq));
|
|
64
|
-
expect(result).toEqual(Fixture.principal);
|
|
65
|
-
});
|
|
66
|
-
const rpcClientTest = L.effect(RpcClient, E.sync(() => {
|
|
67
|
-
const rpcMock = mock();
|
|
68
|
-
rpcMock.authenticateOidc.mockReturnValue(E.succeed(Fixture.rpcRegisterRes));
|
|
69
|
-
return rpcMock;
|
|
70
|
-
}));
|
|
71
|
-
const service = pipe(SocialServiceLive, L.provide(rpcClientTest));
|
|
72
|
-
const layers = Layer.merge(service, rpcClientTest);
|
|
73
|
-
const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
|
|
74
|
-
return E.runPromise(effect);
|
|
75
|
-
});
|
|
76
|
-
test('pass the request to the backend', async () => {
|
|
77
|
-
const assertions = E.gen(function* (_) {
|
|
78
|
-
const service = yield* _(SocialService);
|
|
79
|
-
yield* _(service.authenticateOidc(Fixture.authOidcReq));
|
|
80
|
-
const rpcClient = yield* _(RpcClient);
|
|
81
|
-
expect(rpcClient.authenticateOidc).toHaveBeenCalledWith(Fixture.rpcAuthenticateReq);
|
|
82
|
-
});
|
|
83
|
-
const rpcClientTest = L.effect(RpcClient, E.sync(() => {
|
|
84
|
-
const rpcMock = mock();
|
|
85
|
-
rpcMock.authenticateOidc.mockReturnValue(E.succeed(Fixture.rpcAuthenticateRes));
|
|
86
|
-
return rpcMock;
|
|
87
|
-
}));
|
|
88
|
-
const service = pipe(SocialServiceLive, L.provide(rpcClientTest));
|
|
89
|
-
const layers = Layer.merge(service, rpcClientTest);
|
|
90
|
-
const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
|
|
91
|
-
return E.runPromise(effect);
|
|
92
|
-
});
|
|
93
|
-
test('return an error if we try to authenticate a non-existing user', async () => {
|
|
94
|
-
const assertions = E.gen(function* (_) {
|
|
95
|
-
const service = yield* _(SocialService);
|
|
96
|
-
const defect = yield* _(service.authenticateOidc(Fixture.authOidcReq), E.flip);
|
|
97
|
-
expect(defect).toBeInstanceOf(NotFound);
|
|
98
|
-
});
|
|
99
|
-
const rpcClientTest = L.effect(RpcClient, E.sync(() => {
|
|
100
|
-
const rpcMock = mock();
|
|
101
|
-
rpcMock.authenticateOidc.mockReturnValue(E.fail(new NotFound({ message: "User not found" })));
|
|
102
|
-
return rpcMock;
|
|
103
|
-
}));
|
|
104
|
-
const service = pipe(SocialServiceLive, L.provide(rpcClientTest));
|
|
105
|
-
const layers = Layer.merge(service, rpcClientTest);
|
|
106
|
-
const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
|
|
107
|
-
return E.runPromise(effect);
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
//# sourceMappingURL=social.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"social.test.js","sourceRoot":"","sources":["../../src/social/social.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.test.d.ts","sourceRoot":"","sources":["../../src/storage/storage.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { Effect as E, Layer, LogLevel, Logger, identity, pipe } from 'effect';
|
|
2
|
-
import { describe, expect, test } from 'vitest';
|
|
3
|
-
import { mock } from 'vitest-mock-extended';
|
|
4
|
-
import { principal, testLayers } from './storage.fixture.js';
|
|
5
|
-
import { Storage, StorageService, clearExpiredToken, clearToken, getToken } from './storage.js';
|
|
6
|
-
describe('storeToken should', () => {
|
|
7
|
-
test('set the token in local storage', () => {
|
|
8
|
-
const assertions = E.gen(function* (_) {
|
|
9
|
-
const service = yield* _(StorageService);
|
|
10
|
-
yield* _(service.storeToken(principal));
|
|
11
|
-
const storage = yield* _(Storage);
|
|
12
|
-
expect(storage.setItem).toHaveBeenCalled();
|
|
13
|
-
});
|
|
14
|
-
const effect = pipe(E.provide(assertions, testLayers()), Logger.withMinimumLogLevel(LogLevel.None));
|
|
15
|
-
E.runSync(effect);
|
|
16
|
-
});
|
|
17
|
-
test('with the key passlock:passkey:token', () => {
|
|
18
|
-
const assertions = E.gen(function* (_) {
|
|
19
|
-
const service = yield* _(StorageService);
|
|
20
|
-
yield* _(service.storeToken(principal));
|
|
21
|
-
const storage = yield* _(Storage);
|
|
22
|
-
expect(storage.setItem).toHaveBeenCalledWith('passlock:passkey:token', expect.any(String));
|
|
23
|
-
});
|
|
24
|
-
const effect = pipe(E.provide(assertions, testLayers()), Logger.withMinimumLogLevel(LogLevel.None));
|
|
25
|
-
E.runSync(effect);
|
|
26
|
-
});
|
|
27
|
-
test('with the value token:expiry', () => {
|
|
28
|
-
const assertions = E.gen(function* (_) {
|
|
29
|
-
const service = yield* _(StorageService);
|
|
30
|
-
yield* _(service.storeToken(principal));
|
|
31
|
-
const storage = yield* _(Storage);
|
|
32
|
-
const token = principal.token;
|
|
33
|
-
const expiry = principal.expireAt.getTime();
|
|
34
|
-
expect(storage.setItem).toHaveBeenCalledWith('passlock:passkey:token', `${token}:${expiry}`);
|
|
35
|
-
});
|
|
36
|
-
const effect = pipe(E.provide(assertions, testLayers()), Logger.withMinimumLogLevel(LogLevel.None));
|
|
37
|
-
E.runSync(effect);
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
describe('getToken should', () => {
|
|
41
|
-
test('get the token from local storage', () => {
|
|
42
|
-
const assertions = E.gen(function* (_) {
|
|
43
|
-
const service = yield* _(StorageService);
|
|
44
|
-
yield* _(service.getToken('passkey'));
|
|
45
|
-
const storage = yield* _(Storage);
|
|
46
|
-
expect(storage.getItem).toHaveBeenCalled();
|
|
47
|
-
expect(storage.getItem).toHaveBeenCalledWith('passlock:passkey:token');
|
|
48
|
-
});
|
|
49
|
-
const storageTest = Layer.effect(Storage, E.sync(() => {
|
|
50
|
-
const mockStorage = mock();
|
|
51
|
-
const expiry = Date.now() + 1000;
|
|
52
|
-
mockStorage.getItem.mockReturnValue(`token:${expiry}`);
|
|
53
|
-
return mockStorage;
|
|
54
|
-
}));
|
|
55
|
-
const effect = pipe(E.provide(assertions, testLayers(storageTest)), Logger.withMinimumLogLevel(LogLevel.None));
|
|
56
|
-
E.runSync(effect);
|
|
57
|
-
});
|
|
58
|
-
test('filter out expired tokens', () => {
|
|
59
|
-
const assertions = pipe(getToken('passkey'), E.match({
|
|
60
|
-
onSuccess: identity,
|
|
61
|
-
onFailure: () => undefined,
|
|
62
|
-
}), E.flatMap(result => E.sync(() => {
|
|
63
|
-
expect(result).toBeUndefined();
|
|
64
|
-
})));
|
|
65
|
-
const storageTest = Layer.effect(Storage, E.sync(() => {
|
|
66
|
-
const mockStorage = mock();
|
|
67
|
-
const expiry = Date.now() - 1000;
|
|
68
|
-
mockStorage.getItem.mockReturnValue(`token:${expiry}`);
|
|
69
|
-
return mockStorage;
|
|
70
|
-
}));
|
|
71
|
-
const effect = pipe(E.provide(assertions, testLayers(storageTest)), Logger.withMinimumLogLevel(LogLevel.None));
|
|
72
|
-
E.runSync(effect);
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
describe('clearToken should', () => {
|
|
76
|
-
test('clear the token in local storage', () => {
|
|
77
|
-
const assertions = E.gen(function* (_) {
|
|
78
|
-
const storage = yield* _(Storage);
|
|
79
|
-
yield* _(clearToken('passkey'));
|
|
80
|
-
expect(storage.removeItem).toHaveBeenCalledWith('passlock:passkey:token');
|
|
81
|
-
});
|
|
82
|
-
const effect = pipe(E.provide(assertions, testLayers()), Logger.withMinimumLogLevel(LogLevel.None));
|
|
83
|
-
E.runSync(effect);
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
describe('clearExpiredToken should', () => {
|
|
87
|
-
test('clear an expired token from local storage', () => {
|
|
88
|
-
const assertions = E.gen(function* (_) {
|
|
89
|
-
const storage = yield* _(Storage);
|
|
90
|
-
yield* _(clearExpiredToken('passkey'));
|
|
91
|
-
expect(storage.getItem).toHaveBeenCalledWith('passlock:passkey:token');
|
|
92
|
-
expect(storage.removeItem).toHaveBeenCalledWith('passlock:passkey:token');
|
|
93
|
-
});
|
|
94
|
-
const storageTest = Layer.effect(Storage, E.sync(() => {
|
|
95
|
-
const mockStorage = mock();
|
|
96
|
-
const expiry = Date.now() - 1000;
|
|
97
|
-
mockStorage.getItem.mockReturnValue(`token:${expiry}`);
|
|
98
|
-
return mockStorage;
|
|
99
|
-
}));
|
|
100
|
-
const effect = pipe(E.provide(assertions, testLayers(storageTest)), Logger.withMinimumLogLevel(LogLevel.None));
|
|
101
|
-
E.runSync(effect);
|
|
102
|
-
});
|
|
103
|
-
test('leave a live token in local storage', () => {
|
|
104
|
-
const assertions = E.gen(function* (_) {
|
|
105
|
-
const storage = yield* _(Storage);
|
|
106
|
-
yield* _(clearExpiredToken('passkey'));
|
|
107
|
-
expect(storage.getItem).toHaveBeenCalledWith('passlock:passkey:token');
|
|
108
|
-
expect(storage.removeItem).not.toHaveBeenCalled();
|
|
109
|
-
});
|
|
110
|
-
const storageTest = Layer.effect(Storage, E.sync(() => {
|
|
111
|
-
const mockStorage = mock();
|
|
112
|
-
const expiry = Date.now() + 1000;
|
|
113
|
-
mockStorage.getItem.mockReturnValue(`token:${expiry}`);
|
|
114
|
-
return mockStorage;
|
|
115
|
-
}));
|
|
116
|
-
const effect = pipe(E.provide(assertions, testLayers(storageTest)), Logger.withMinimumLogLevel(LogLevel.None));
|
|
117
|
-
E.runSync(effect);
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
//# sourceMappingURL=storage.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.test.js","sourceRoot":"","sources":["../../src/storage/storage.test.ts"],"names":[],"mappings":"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"}
|
package/dist/user/user.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.test.d.ts","sourceRoot":"","sources":["../../src/user/user.test.ts"],"names":[],"mappings":""}
|