diff options
author | Matthew Wild <mwild1@gmail.com> | 2020-09-30 09:50:33 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2020-09-30 09:50:33 +0100 |
commit | bf6c2db68257e8ac3a35e2c4e7c18b55313a5bf7 (patch) | |
tree | 3a37db7b805b1555d08cc61c7938cf512ff35ce0 /spec/util_sasl_spec.lua | |
parent | 2940b9c66f4a053dbe2ca038468a3a8791beccd5 (diff) | |
parent | bd3bd2179be360f86c7db3fcd400dbb168fa8be5 (diff) | |
download | prosody-bf6c2db68257e8ac3a35e2c4e7c18b55313a5bf7.tar.gz prosody-bf6c2db68257e8ac3a35e2c4e7c18b55313a5bf7.zip |
Merge 0.11->trunk
Diffstat (limited to 'spec/util_sasl_spec.lua')
-rw-r--r-- | spec/util_sasl_spec.lua | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/spec/util_sasl_spec.lua b/spec/util_sasl_spec.lua new file mode 100644 index 00000000..368291b3 --- /dev/null +++ b/spec/util_sasl_spec.lua @@ -0,0 +1,43 @@ +local sasl = require "util.sasl"; + +-- profile * mechanism +-- callbacks could use spies instead + +describe("util.sasl", function () + describe("plain_test profile", function () + local profile = { + plain_test = function (_, username, password, realm) + assert.equals("user", username) + assert.equals("pencil", password) + assert.equals("sasl.test", realm) + return true, true; + end; + }; + it("works with PLAIN", function () + local plain = sasl.new("sasl.test", profile); + assert.truthy(plain:select("PLAIN")); + assert.truthy(plain:process("\000user\000pencil")); + assert.equals("user", plain.username); + end); + end); + + describe("plain profile", function () + local profile = { + plain = function (_, username, realm) + assert.equals("user", username) + assert.equals("sasl.test", realm) + return "pencil", true; + end; + }; + + it("works with PLAIN", function () + local plain = sasl.new("sasl.test", profile); + assert.truthy(plain:select("PLAIN")); + assert.truthy(plain:process("\000user\000pencil")); + assert.equals("user", plain.username); + end); + + -- TODO SCRAM + end); +end); + |