(store: RedisStore, client: any)
| 35 | test("teardown", redisSrv.disconnect) |
| 36 | |
| 37 | async function lifecycleTest(store: RedisStore, client: any): Promise<void> { |
| 38 | let res = await store.clear() |
| 39 | |
| 40 | let sess = {foo: "bar", cookie: {originalMaxAge: null}} |
| 41 | await store.set("123", sess) |
| 42 | |
| 43 | res = await store.get("123") |
| 44 | expect(res).toEqual(sess) |
| 45 | |
| 46 | let ttl = await client.ttl("sess:123") |
| 47 | expect(ttl).toBeGreaterThanOrEqual(86399) |
| 48 | |
| 49 | ttl = 60 |
| 50 | let expires = new Date(Date.now() + ttl * 1000) |
| 51 | await store.set("456", {cookie: {originalMaxAge: null, expires}}) |
| 52 | ttl = await client.ttl("sess:456") |
| 53 | expect(ttl).toBeLessThanOrEqual(60) |
| 54 | |
| 55 | ttl = 90 |
| 56 | let expires2 = new Date(Date.now() + ttl * 1000) |
| 57 | await store.touch("456", {cookie: {originalMaxAge: null, expires: expires2}}) |
| 58 | ttl = await client.ttl("sess:456") |
| 59 | expect(ttl).toBeGreaterThan(60) |
| 60 | |
| 61 | res = await store.length() |
| 62 | expect(res).toBe(2) // stored two keys length |
| 63 | |
| 64 | res = await store.ids() |
| 65 | res.sort() |
| 66 | expect(res).toEqual(["123", "456"]) |
| 67 | |
| 68 | res = await store.all() |
| 69 | res.sort((a: any, b: any) => (a.id > b.id ? 1 : -1)) |
| 70 | expect(res).toEqual([ |
| 71 | {id: "123", foo: "bar", cookie: {originalMaxAge: null}}, |
| 72 | {id: "456", cookie: {originalMaxAge: null, expires: expires.toISOString()}}, |
| 73 | ]) |
| 74 | |
| 75 | await store.destroy("456") |
| 76 | res = await store.length() |
| 77 | expect(res).toBe(1) // one key remains |
| 78 | |
| 79 | res = await store.clear() |
| 80 | |
| 81 | res = await store.length() |
| 82 | expect(res).toBe(0) // no keys remain |
| 83 | |
| 84 | let count = 1000 |
| 85 | await load(store, count) |
| 86 | |
| 87 | res = await store.length() |
| 88 | expect(res).toBe(count) |
| 89 | |
| 90 | await store.clear() |
| 91 | res = await store.length() |
| 92 | expect(res).toBe(0) |
| 93 | |
| 94 | expires = new Date(Date.now() + ttl * 1000) // expires in the future |
no test coverage detected
searching dependent graphs…