summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/net/imap/test_imap_authenticators.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/net/imap/test_imap_authenticators.rb b/test/net/imap/test_imap_authenticators.rb
new file mode 100644
index 0000000000..0c7a0a325d
--- /dev/null
+++ b/test/net/imap/test_imap_authenticators.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require "net/imap"
+require "test/unit"
+
+class IMAPAuthenticatorsTest < Test::Unit::TestCase
+
+ PLAIN = Net::IMAP::PlainAuthenticator
+
+ def test_plain
+ assert_equal("\0authc\0passwd",
+ PLAIN.new("authc", "passwd").process(nil))
+ assert_equal("authz\0user\0pass",
+ PLAIN.new("user", "pass", authzid: "authz").process(nil))
+ end
+
+ def test_plain_no_null_chars
+ assert_raise(ArgumentError) { PLAIN.new("bad\0user", "pass") }
+ assert_raise(ArgumentError) { PLAIN.new("user", "bad\0pass") }
+ assert_raise(ArgumentError) { PLAIN.new("u", "p", authzid: "bad\0authz") }
+ end
+
+end