From cc37ce712442521330567196001458992ad2a970 Mon Sep 17 00:00:00 2001
From: Tres Seaver <tseaver@agendaless.com>
Date: Fri, 08 May 2009 22:02:09 +0200
Subject: [PATCH] Coverage.

---
 repoze/who/plugins/tests/test_form.py |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/repoze/who/plugins/tests/test_form.py b/repoze/who/plugins/tests/test_form.py
index 50408a5..0d46256 100644
--- a/repoze/who/plugins/tests/test_form.py
+++ b/repoze/who/plugins/tests/test_form.py
@@ -6,10 +6,14 @@
         from repoze.who.plugins.form import FormPlugin
         return FormPlugin
 
-    def _makeOne(self, login_form_qs='__do_login', rememberer_name='cookie',
-                 formbody=None):
+    def _makeOne(self,
+                 login_form_qs='__do_login',
+                 rememberer_name='cookie',
+                 formbody=None,
+                 formcallable=None,
+                ):
         plugin = self._getTargetClass()(login_form_qs, rememberer_name,
-                                        formbody)
+                                        formbody, formcallable)
         return plugin
 
     def _makeEnviron(self, login=None, password=None, do_login=False):
@@ -133,6 +137,16 @@
         self.assertEqual(sr.headers[1], ('Content-Type', 'text/html'))
         self.assertEqual(sr.status, '200 OK')
 
+    def test_challenge_formcallable(self):
+        def _formcallable(environ):
+            return 'formcallable'
+        plugin = self._makeOne(formcallable=_formcallable)
+        environ = self._makeEnviron()
+        app = plugin.challenge(environ, '401 Unauthorized', [], [])
+        sr = DummyStartResponse()
+        result = app(environ, sr)
+        self.assertEqual(result, ['formcallable'])
+
     def test_challenge_with_location(self):
         plugin = self._makeOne()
         environ = self._makeEnviron()
@@ -149,6 +163,10 @@
         self.assertEqual(headers[2],
                          ('content-type', 'text/plain; charset=utf8'))
         self.assertEqual(sr.status, '302 Found')
+
+    def test_factory_no_rememberer_name_raises(self):
+        from repoze.who.plugins.form import make_plugin
+        self.assertRaises(ValueError, make_plugin)
 
     def test_factory_withform(self):
         import os
@@ -494,7 +512,7 @@
         from repoze.who.plugins.form import make_redirecting_plugin
         self.assertRaises(ValueError,
                           make_redirecting_plugin,
-                          '/go_there', '/logged_in', None)
+                          '/go_there', '/logged_in', '/logged_out', None)
 
     def test_factory_ok(self):
         from repoze.who.plugins.form import make_redirecting_plugin

--
Gitblit v1.9.3