Software /
code /
prosody
File
spec/util_poll_spec.lua @ 12997:0a56b84ec4ad
mod_tokenauth: Support for creating sub-tokens
Properties of sub-tokens:
- They share the same id as their parent token
- Sub-tokens may not have their own sub-tokens (but may have sibling tokens)
- They always have the same or shorter lifetime compared to their parent token
- Revoking a parent token revokes all sub-tokens
- Sub-tokens always have the same JID as the parent token
- They do not have their own 'accessed' property - accessing a sub-token
updates the parent token's accessed time
Although this is a generic API, it is designed to at least fill the needs of
OAuth2 refresh + access tokens (where the parent token is the refresh token
and the sub-tokens are access tokens).
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sun, 26 Mar 2023 16:46:48 +0100 |
parent | 12400:728d1c1dc7db |
line wrap: on
line source
describe("util.poll", function() local poll; setup(function() poll = require "util.poll"; end); it("loads", function() assert.is_table(poll); assert.is_function(poll.new); assert.is_string(poll.api); end); describe("new", function() local p; setup(function() p = poll.new(); end) it("times out", function () local fd, err = p:wait(0); assert.falsy(fd); assert.equal("timeout", err); end); it("works", function() -- stdout should be writable, right? assert.truthy(p:add(1, false, true)); local fd, r, w = p:wait(1); assert.is_number(fd); assert.is_boolean(r); assert.is_boolean(w); assert.equal(1, fd); assert.falsy(r); assert.truthy(w); assert.truthy(p:del(1)); end); end) end);