aboutsummaryrefslogtreecommitdiffstats
path: root/spec/util_sasl_spec.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2019-12-14 22:43:12 +0100
committerKim Alvefur <zash@zash.se>2019-12-14 22:43:12 +0100
commit71d99b65fa50afebb0241199d4000a8a7c50e1d1 (patch)
tree480e6169c0643768e8afac8c5c1ddb83526b051c /spec/util_sasl_spec.lua
parent87d0125802ce38410e5d429c90760802dec0397c (diff)
downloadprosody-71d99b65fa50afebb0241199d4000a8a7c50e1d1.tar.gz
prosody-71d99b65fa50afebb0241199d4000a8a7c50e1d1.zip
util.sasl: Add stub tests
Random uncommitted file I found when cleaning out my work dir
Diffstat (limited to 'spec/util_sasl_spec.lua')
-rw-r--r--spec/util_sasl_spec.lua43
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);
+