Comparison

spec/util_sasl_spec.lua @ 13113:191fe4866e3e

util.sasl: Add basic tests for OAUTHBEARER
author Kim Alvefur <zash@zash.se>
date Fri, 26 May 2023 20:45:10 +0200
parent 10502:f1c0aa521dd5
comparison
equal deleted inserted replaced
13112:b6aaab0846fe 13113:191fe4866e3e
37 assert.equals("user", plain.username); 37 assert.equals("user", plain.username);
38 end); 38 end);
39 39
40 -- TODO SCRAM 40 -- TODO SCRAM
41 end); 41 end);
42
43 describe("oauthbearer profile", function()
44 local profile = {
45 oauthbearer = function(_, token, _realm, _authzid)
46 if token == "example-bearer-token" then
47 return "user", true, {};
48 else
49 return nil, nil, {}
50 end
51 end;
52 }
53
54 it("works with OAUTHBEARER", function()
55 local bearer = sasl.new("sasl.test", profile);
56
57 assert.truthy(bearer:select("OAUTHBEARER"));
58 assert.equals("success", bearer:process("n,,\1auth=Bearer example-bearer-token\1\1"));
59 assert.equals("user", bearer.username);
60 end)
61
62
63 it("returns extras with OAUTHBEARER", function()
64 local bearer = sasl.new("sasl.test", profile);
65
66 assert.truthy(bearer:select("OAUTHBEARER"));
67 local status, extra = bearer:process("n,,\1auth=Bearer unknown\1\1");
68 assert.equals("challenge", status);
69 assert.equals("{\"status\":\"invalid_token\"}", extra);
70 assert.equals("failure", bearer:process("\1"));
71 end)
72
73 end)
42 end); 74 end);
43 75