From d36dcfb41a96ed2960f88aac1ba4def0fc8dd2ee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Mon, 29 Aug 2011 15:05:48 +0200
Subject: [PATCH] Move test to proper class.

---
 .../ERP5Security/tests/testERP5Security.py    | 87 +++++++++----------
 1 file changed, 43 insertions(+), 44 deletions(-)

diff --git a/product/ERP5Security/tests/testERP5Security.py b/product/ERP5Security/tests/testERP5Security.py
index 008b1baf5a..e3cc4bbf92 100644
--- a/product/ERP5Security/tests/testERP5Security.py
+++ b/product/ERP5Security/tests/testERP5Security.py
@@ -445,6 +445,49 @@ class TestUserManagement(ERP5TypeTestCase):
     self.assertEqual(response.getStatus(), 200)
     self.assertTrue(reference in response.getBody())
 
+  def testERP5ExternalAuthenticationPlugin(self):
+    """
+     Make sure that we can grant security using a ERP5 External Authentication Plugin.
+    """
+    user_id_key = 'openAMid'
+    # add key authentication PAS plugin
+    portal = self.portal
+    uf = portal.acl_users
+    uf.manage_addProduct['ERP5Security'].addERP5ExternalAuthenticationPlugin(
+      id='erp5_external_authentication_plugin', \
+      title='ERP5 External Authentication Plugin',\
+      user_id_key=user_id_key,)
+
+    erp5_external_authentication_plugin = getattr(uf, 'erp5_external_authentication_plugin')
+    erp5_external_authentication_plugin.manage_activateInterfaces(
+      interfaces=['IExtractionPlugin',
+                  'IAuthenticationPlugin'])
+    self.stepTic()
+
+    reference = 'external_auth_person'
+    loginable_person = self.getPersonModule().newContent(portal_type='Person',
+                                                         reference=reference,
+                                                         password='guest')
+    assignment = loginable_person.newContent(portal_type='Assignment',
+                                             function='another_subcat')
+    assignment.open()
+    self.stepTic()
+
+    base_url = portal.absolute_url(relative=1)
+
+    # without key we are Anonymous User so we should be redirected with proper HTML
+    # status code to login_form
+    response = self.publish(base_url)
+    self.assertEqual(response.getStatus(), 302)
+    # TODO we should not have redirect but output 403 or 404, because
+    # login process should be provided by an external application.
+    # self.assertTrue('location' in response.headers.keys())
+    # self.assertTrue(response.headers['location'].endswith('login_form'))
+
+    # view front page we should be logged in if we use authentication key
+    response = self.publish(base_url, env={user_id_key.replace('-', '_').upper():reference})
+    self.assertEqual(response.getStatus(), 200)
+    self.assertTrue(reference in response.getBody())
 
 
 class TestLocalRoleManagement(ERP5TypeTestCase):
@@ -818,50 +861,6 @@ class TestLocalRoleManagement(ERP5TypeTestCase):
       base_url, web_page.getReference(), 'ERP5TypeTestCase', ''))
     self.assertEqual(response.getStatus(), 200)
 
-  def testERP5ExternalAuthenticationPlugin(self):
-    """
-     Make sure that we can grant security using a ERP5 External Authentication Plugin.
-    """
-    user_id_key = 'openAMid'
-    # add key authentication PAS plugin
-    portal = self.portal
-    uf = portal.acl_users
-    uf.manage_addProduct['ERP5Security'].addERP5ExternalAuthenticationPlugin(
-      id='erp5_external_authentication_plugin', \
-      title='ERP5 External Authentication Plugin',\
-      user_id_key=user_id_key,)
-
-    erp5_external_authentication_plugin = getattr(uf, 'erp5_external_authentication_plugin')
-    erp5_external_authentication_plugin.manage_activateInterfaces(
-      interfaces=['IExtractionPlugin',
-                  'IAuthenticationPlugin'])
-    self.stepTic()
-
-    reference = 'external_auth_person'
-    loginable_person = self.getPersonModule().newContent(portal_type='Person',
-                                                         reference=reference,
-                                                         password='guest')
-    assignment = loginable_person.newContent(portal_type='Assignment',
-                                             function='another_subcat')
-    assignment.open()
-    self.stepTic()
-
-    base_url = portal.absolute_url(relative=1)
-
-    # without key we are Anonymous User so we should be redirected with proper HTML
-    # status code to login_form
-    response = self.publish(base_url)
-    self.assertEqual(response.getStatus(), 302)
-    # TODO we should not have redirect but output 403 or 404, because
-    # login process should be provided by an external application.
-    # self.assertTrue('location' in response.headers.keys())
-    # self.assertTrue(response.headers['location'].endswith('login_form'))
-
-    # view front page we should be logged in if we use authentication key
-    response = self.publish(base_url, env={user_id_key.replace('-', '_').upper():reference})
-    self.assertEqual(response.getStatus(), 200)
-    self.assertTrue(reference in response.getBody())
-
   def _createZodbUser(self, login, role_list=None):
     if role_list is None:
       role_list = ['Member', 'Assignee', 'Assignor', 'Author', 'Auditor',
-- 
2.30.9