|
1 local sasl = require "util.sasl"; |
|
2 |
|
3 -- profile * mechanism |
|
4 -- callbacks could use spies instead |
|
5 |
|
6 describe("util.sasl", function () |
|
7 describe("plain_test profile", function () |
|
8 local profile = { |
|
9 plain_test = function (_, username, password, realm) |
|
10 assert.equals("user", username) |
|
11 assert.equals("pencil", password) |
|
12 assert.equals("sasl.test", realm) |
|
13 return true, true; |
|
14 end; |
|
15 }; |
|
16 it("works with PLAIN", function () |
|
17 local plain = sasl.new("sasl.test", profile); |
|
18 assert.truthy(plain:select("PLAIN")); |
|
19 assert.truthy(plain:process("\000user\000pencil")); |
|
20 assert.equals("user", plain.username); |
|
21 end); |
|
22 end); |
|
23 |
|
24 describe("plain profile", function () |
|
25 local profile = { |
|
26 plain = function (_, username, realm) |
|
27 assert.equals("user", username) |
|
28 assert.equals("sasl.test", realm) |
|
29 return "pencil", true; |
|
30 end; |
|
31 }; |
|
32 |
|
33 it("works with PLAIN", function () |
|
34 local plain = sasl.new("sasl.test", profile); |
|
35 assert.truthy(plain:select("PLAIN")); |
|
36 assert.truthy(plain:process("\000user\000pencil")); |
|
37 assert.equals("user", plain.username); |
|
38 end); |
|
39 |
|
40 -- TODO SCRAM |
|
41 end); |
|
42 end); |
|
43 |