def test_post_copy_user(self):
     # The main purpose of this test is to check that user permissions are saved properly
     self.assertFalse(AnnalistUser.exists(self.testcoll, "copyuser"))
     f = annalistuser_view_form_data(
         action="copy",
         orig_id="_default_user_perms",
         user_id="copyuser",
         user_name="User copyuser",
         user_uri="mailto:[email protected]",
         user_permissions="VIEW CREATE UPDATE DELETE")
     u = entitydata_edit_url("copy",
                             "testcoll",
                             "_user",
                             entity_id="_default_user_perms",
                             view_id="User_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content, "")
     self.assertEqual(r['location'], self.continuation_url)
     # Check that new record type exists
     self.assertTrue(AnnalistUser.exists(self.testcoll, "copyuser"))
     self._check_annalist_user_values(
         "copyuser", ["VIEW", "CREATE", "UPDATE", "DELETE"])
     return
 def test_alt_parent_inherit_user(self):
     # Test inheritance of "user" scope definitions
     coll_id = "newcoll"
     newcoll = Collection.create(self.testsite, coll_id, collection_create_values(coll_id))
     user1   = AnnalistUser.create(self.testcoll, "user1", annalistuser_create_values(user_id="user1"))
     user2   = AnnalistUser.create(newcoll,       "user2", annalistuser_create_values(user_id="user2"))
     altparents = newcoll.set_alt_entities(self.testcoll)
     parentids  = [ p.get_id() for p in altparents ]
     self.assertEqual(parentids, ["newcoll", "testcoll", layout.SITEDATA_ID])
     self.assertFalse(AnnalistUser.exists(newcoll, "user1", altscope="user"))
     self.assertTrue(AnnalistUser.exists(newcoll, "_default_user_perms", altscope="user"))   # Access site data
     self.assertTrue(AnnalistUser.exists(newcoll, "user2", altscope="user"))
     testuser = AnnalistUser.load(newcoll, "user2", altscope="user")
     self.assertEquals(testuser["rdfs:label"], "Test User")
     return
 def no_test_post_confirmed_remove_user(self):
     t = AnnalistUser.create(self.testcoll, "deleteuser", annalistuser_create_values("deleteuser"))
     self.assertTrue(AnnalistUser.exists(self.testcoll, "deleteuser"))
     # Submit positive confirmation
     u = TestHostUri + annalistuser_edit_url("delete", "testcoll")
     f = annalistuser_delete_confirm_form_data("deleteuser")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,     302)
     self.assertEqual(r.reason_phrase,   "FOUND")
     self.assertEqual(r.content,         "")
     self.assertMatch(r['location'],    
         "^"+TestHostUri+
         collection_edit_url("testcoll")+
         r"\?info_head=.*&info_message=.*deletetype.*testcoll.*$"
         )
     # Confirm deletion
     self.assertFalse(AnnalistUser.exists(self.testcoll, "deletetype"))
     return
 def no_test_post_confirmed_remove_user(self):
     t = AnnalistUser.create(self.testcoll, "deleteuser",
                             annalistuser_create_values("deleteuser"))
     self.assertTrue(AnnalistUser.exists(self.testcoll, "deleteuser"))
     # Submit positive confirmation
     u = TestHostUri + annalistuser_edit_url("delete", "testcoll")
     f = annalistuser_delete_confirm_form_data("deleteuser")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content, "")
     self.assertMatch(
         r['location'],
         "^" + TestHostUri + collection_edit_url("testcoll") +
         r"\?info_head=.*&info_message=.*deletetype.*testcoll.*$")
     # Confirm deletion
     self.assertFalse(AnnalistUser.exists(self.testcoll, "deletetype"))
     return
 def _check_annalist_user_values(self, user_id, user_permissions):
     "Helper function checks content of annalist user entry with supplied user_id"
     self.assertTrue(AnnalistUser.exists(self.testcoll, user_id))
     t = AnnalistUser.load(self.testcoll, user_id)
     self.assertEqual(t.get_id(), user_id)
     self.assertEqual(t.get_view_url_path(), annalistuser_url("testcoll", user_id))
     v = annalistuser_values(
         coll_id="testcoll", user_id=user_id,
         user_name="User %s"%user_id,
         user_uri="mailto:%[email protected]"%user_id, 
         user_permissions=user_permissions
         )
     self.assertDictionaryMatch(t.get_values(), v)
     return t
 def _check_annalist_user_values(self, user_id, user_permissions):
     "Helper function checks content of annalist user entry with supplied user_id"
     self.assertTrue(AnnalistUser.exists(self.testcoll, user_id))
     t = AnnalistUser.load(self.testcoll, user_id)
     self.assertEqual(t.get_id(), user_id)
     self.assertEqual(t.get_view_url_path(),
                      annalistuser_url("testcoll", user_id))
     v = annalistuser_values(coll_id="testcoll",
                             user_id=user_id,
                             user_name="User %s" % user_id,
                             user_uri="mailto:%[email protected]" % user_id,
                             user_permissions=user_permissions)
     self.assertDictionaryMatch(t.get_values(), v)
     return t
 def test_post_copy_user(self):
     # The main purpose of this test is to check that user permissions are saved properly
     self.assertFalse(AnnalistUser.exists(self.testcoll, "copyuser"))
     f = annalistuser_view_form_data(
         action="copy", orig_id="_default_user_perms",
         user_id="copyuser",
         user_name="User copyuser",
         user_uri="mailto:[email protected]",
         user_permissions="VIEW CREATE UPDATE DELETE"
         )
     u = entitydata_edit_url(
         "copy", "testcoll", 
         layout.USER_TYPEID, entity_id="_default_user_perms", 
         view_id="User_view"
         )
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     self.assertEqual(r['location'], self.continuation_url)
     # Check that new user exists
     self.assertTrue(AnnalistUser.exists(self.testcoll, "copyuser"))
     self._check_annalist_user_values("copyuser", ["VIEW", "CREATE", "UPDATE", "DELETE"])
     return
Beispiel #8
0
 def _check_annalist_user_perms(self, user_id, user_perms):
     self.assertTrue(AnnalistUser.exists(self.testcoll, user_id))
     u = AnnalistUser.load(self.testcoll, user_id)
     self.assertEqual(u.get_id(), user_id)
     self.assertEqual(u[ANNAL.CURIE.user_permission], user_perms)
     return