Software /
code /
prosody
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 |