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
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