UNPKG

@mytmpvpn/mytmpvpn-client

Version:

MyTmpVpn Client Library

62 lines (61 loc) 1.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AuthMock = void 0; const loglevel_1 = require("loglevel"); const errors_1 = require("@mytmpvpn/mytmpvpn-common/errors"); const client_1 = require("./client"); class AuthMock { constructor(username = 'mockUser', registered = false) { this.username = username; this.registered = registered; this.mockUser = null; this.mockSession = null; this.mockClient = new client_1.MyTmpVpnClientMock(); } async authenticate() { if (!this.registered) { throw new errors_1.MyTmpVpnError('User does not exist.'); } this.mockUser = { getUsername: () => this.username, deleteUser: (callback) => callback(undefined, 'SUCCESS') }; this.mockSession = { getIdToken: () => ({ getJwtToken: () => 'mock-token' }), isValid: () => true, }; this.mockClient.setUserSession(this.mockUser, this.mockSession); loglevel_1.default.debug(`Returning authenticated user`, this.mockClient); return this.mockClient; } async register() { if (this.registered) { throw new errors_1.MyTmpVpnError('User already exists'); } this.mockUser = { getUsername: () => this.username, }; this.registered = true; return this.mockUser; } async confirmRegistration(code) { if (!this.registered) { throw new errors_1.MyTmpVpnError('User not found'); } if (code !== 'valid-code') { throw new errors_1.MyTmpVpnError('Invalid verification code'); } return 'SUCCESS'; } getUser() { return this.mockUser; } getSession() { return this.mockSession; } // Helper methods for testing getMockClient() { return this.mockClient; } } exports.AuthMock = AuthMock;