diff options
author | Kim Alvefur <zash@zash.se> | 2019-12-24 00:39:45 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2019-12-24 00:39:45 +0100 |
commit | 929103b8672e1395eedd663fb172a91ce197ec33 (patch) | |
tree | 94b4ebcb9443e8e6751e1903ade3c9dc8ec9d678 /spec/util_sasl_spec.lua | |
parent | b22125f0645b3281d99843dcdb7b44e92b9167cd (diff) | |
parent | cf87960bda697b3727b5b62ab8c983a48b8c5314 (diff) | |
download | prosody-929103b8672e1395eedd663fb172a91ce197ec33.tar.gz prosody-929103b8672e1395eedd663fb172a91ce197ec33.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); + |