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
commit317cc2862df483f2234b41a13214aae22458020f (patch)
tree480e6169c0643768e8afac8c5c1ddb83526b051c /spec/util_sasl_spec.lua
parent1ac8dabcf5cd07b82745e00f91b161e03bf120a4 (diff)
downloadprosody-317cc2862df483f2234b41a13214aae22458020f.tar.gz
prosody-317cc2862df483f2234b41a13214aae22458020f.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);
+