UNPKG

@webda/core

Version:

Expose API with Lambda

71 lines 3.16 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 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; return c > 3 && r && Object.defineProperty(target, key, r), r; }; import { suite, test } from "@testdeck/mocha"; import * as assert from "assert"; import { MemoryStore } from "../stores/memory.js"; import { WebdaTest } from "../test.js"; import { OperationContext } from "./context.js"; import { UnknownSession } from "./session.js"; let SessionTest = class SessionTest { basic() { let session = new UnknownSession().getProxy(); session.plop = "test"; assert.ok(session.isDirty()); assert.ok(!session.isLogged()); session.login("user1", "ident1"); assert.ok(session.isLogged()); session.logout(); assert.ok(!session.isLogged()); } }; __decorate([ test ], SessionTest.prototype, "basic", null); SessionTest = __decorate([ suite ], SessionTest); let SessionStoreTest = class SessionStoreTest extends WebdaTest { async sessionStore() { // Test MemoryStore const store = (this.webda.getServices()["SessionStore"] = await new MemoryStore(this.webda, "SessionStore", {}) .resolve() .init()); store.getParameters().expose = { url: "url" }; assert.throws(() => this.getService("SessionManager").resolve(), /SessionStore should not be exposed/); store.getParameters().expose = undefined; this.getService("SessionManager").resolve(); let ctx = await this.newContext(); ctx.getSession().identUsed = "bouzouf"; await ctx.end(); let sessions = await store.getAll(); assert.strictEqual(sessions.length, 1); let cookie = await this.webda.getCrypto().jwtVerify(ctx.getResponseCookies()["test"].value); assert.strictEqual(cookie.uuid, undefined); assert.strictEqual(cookie.identUsed, undefined); assert.strictEqual(cookie.sub, sessions[0].getUuid()); let ctx2 = await this.newContext(); ctx2.getHttpContext().cookies = { test: ctx.getResponseCookies()["test"].value }; await ctx2.init(true); let session = ctx2.getSession(); assert.strictEqual(session.uuid, sessions[0].getUuid()); assert.strictEqual(session.identUsed, "bouzouf"); assert.strictEqual(session.sub, undefined); let opCtx = new OperationContext(this.webda); // cov await this.getService("SessionManager").load(opCtx); await this.getService("SessionManager").save(opCtx, undefined); } }; __decorate([ test ], SessionStoreTest.prototype, "sessionStore", null); SessionStoreTest = __decorate([ suite ], SessionStoreTest); //# sourceMappingURL=session.spec.js.map