def test_post_view_entity_edit(self):
     self._create_entity_data("entityview")
     f = entitydata_default_view_form_data(entity_id="entityview",
                                           action="view",
                                           edit="Edit")
     u = entitydata_edit_url("view",
                             "testcoll",
                             "testtype",
                             entity_id="entityview",
                             view_id="Default_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content, "")
     e = TestHostUri + entitydata_edit_url("edit",
                                           "testcoll",
                                           "testtype",
                                           entity_id="entityview",
                                           view_id="Default_view")
     l = continuation_url_param(
         entitydata_list_type_url("testcoll", "testtype"))
     c = continuation_url_param(u, prev_cont=l)
     self.assertIn(e, r['location'])
     self.assertIn(c, r['location'])
     # 'http://test.example.com/testsite/c/testcoll/v/Default_view/testtype/entityview/!edit
     #   ?continuation_url=/testsite/c/testcoll/v/Default_view/testtype/entityview/!view
     #   %3Fcontinuation_url=/testsite/c/testcoll/d/testtype/'
     return
 def test_post_view_entity_copy(self):
     self._create_entity_data("entityview")
     f = entitydata_default_view_form_data(entity_id="entityview",
                                           action="view",
                                           copy="Copy")
     u = entitydata_edit_url("view",
                             "testcoll",
                             "testtype",
                             entity_id="entityview",
                             view_id="Default_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content, "")
     e = TestHostUri + entitydata_edit_url("copy",
                                           "testcoll",
                                           "testtype",
                                           entity_id="entityview",
                                           view_id="Default_view")
     l = continuation_url_param(
         entitydata_list_type_url("testcoll", "testtype"))
     c = continuation_url_param(u, prev_cont=l)
     self.assertIn(e, r['location'])
     self.assertIn(c, r['location'])
     return
예제 #3
0
 def test_post_customize(self):
     f = entitylist_form_data("customize", continuation_url="/xyzxy/")
     u = entitydata_list_all_url("testcoll")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     v = TestHostUri + collection_edit_url("testcoll")
     c = continuation_url_param(u, continuation_url_param("/xyzxy/"))
     self.assertIn(v, r['location'])
     self.assertIn(c, r['location'])
     return
예제 #4
0
 def test_post_copy_type_entity(self):
     # Also tests continuation_url parameter handling
     s = site_view_url()
     f = entitylist_form_data("copy", entities=[layout.FIELD_TYPEID+"/field1"], continuation_url=s)
     u = entitydata_list_type_url("testcoll", layout.FIELD_TYPEID, list_id="Field_list")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     v = TestHostUri + entitydata_edit_url("copy", "testcoll", layout.FIELD_TYPEID, "field1", view_id="Field_view")
     c = continuation_url_param(u, continuation_url_param(s))
     self.assertIn(v, r['location'])
     self.assertIn(c, r['location'])
     return
예제 #5
0
 def test_post_edit_entity_enum_type_new(self):
     self._create_entity_data("entitynewtype")
     e1 = self._check_entity_data_values("entitynewtype")
     f = default_view_form_data(entity_id="entitynewtype",
                                action="edit",
                                update="Updated entity",
                                new_enum="entity_type__new_edit")
     u = entitydata_edit_url("edit",
                             "testcoll",
                             "testtype",
                             entity_id="entitynewtype",
                             view_id="Default_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content, "")
     # v = entitydata_edit_url("new", "testcoll", "_type", view_id="Type_view")
     v = entitydata_edit_url("edit",
                             "testcoll",
                             "_type",
                             "testtype",
                             view_id="Type_view")
     w = entitydata_edit_url("edit",
                             "testcoll",
                             "testtype",
                             entity_id="entitynewtype",
                             view_id="Default_view")
     c = continuation_url_param(w)
     self.assertIn(TestHostUri + v, r['location'])
     self.assertIn(c, r['location'])
     self._check_entity_data_values("entitynewtype",
                                    update="Updated entity")
     return
예제 #6
0
 def test_post_edit_view_enum_field_new(self):
     self._create_record_view("editview")
     self._check_record_view_values("editview")
     f = view_view_form_data(
         view_id="editview",
         orig_id="editview",
         action="edit",
         update="Updated RecordView",
         new_enum="View_fields__3__View_field_sel__new_edit")
     u = entitydata_edit_url("edit",
                             "testcoll",
                             "_view",
                             entity_id="editview",
                             view_id="View_view")
     r = self.client.post(u, f)
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content, "")
     # v = entitydata_edit_url("new", "testcoll", "_field", view_id="Field_view")
     v = entitydata_edit_url("edit",
                             "testcoll",
                             "_field",
                             "Entity_comment",
                             view_id="Field_view")
     w = entitydata_edit_url("edit",
                             "testcoll",
                             "_view",
                             entity_id="editview",
                             view_id="View_view")
     c = continuation_url_param(w)
     self.assertIn(TestHostUri + v, r['location'])
     self.assertIn(c, r['location'])
     self._check_record_view_values("editview", update="Updated RecordView")
     return
 def test_post_default_form_use_view(self):
     self._create_entity_data("entityuseview")
     self.assertTrue(EntityData.exists(self.testdata, "entityuseview"))
     f = entitydata_default_view_form_data(
         entity_id="entityuseview",
         action="view",
         use_view="_view/Type_view",
     )
     f.pop('entity_id', None)
     u = entitydata_edit_url("view",
                             "testcoll",
                             "testtype",
                             "entityuseview",
                             view_id="Default_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content, "")
     v = TestHostUri + entitydata_edit_url("view",
                                           "testcoll",
                                           "testtype",
                                           entity_id="entityuseview",
                                           view_id="Type_view")
     c = continuation_url_param("/testsite/c/testcoll/d/testtype/")
     self.assertIn(v, r['location'])
     self.assertIn(c, r['location'])
     self._check_entity_data_values("entityuseview")
     return
 def test_post_edit_view_enum_field_new(self):
     self._create_record_view("editview")
     self._check_record_view_values("editview")
     f = recordview_entity_view_form_data(
         view_id="editview", orig_id="editview", 
         action="edit", update="Updated RecordView",
         new_enum="View_fields__3__Field_id__new_edit"
         )
     u = entitydata_edit_url(
         "edit", "testcoll", "_view", 
         entity_id="editview", view_id="View_view"
         )
     r = self.client.post(u, f)
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     # v = entitydata_edit_url("new", "testcoll", "_field", view_id="Field_view")
     v = entitydata_edit_url("edit", "testcoll", "_field", "Entity_comment", view_id="Field_view")
     w = entitydata_edit_url(
         "edit", "testcoll", "_view", entity_id="editview", 
         view_id="View_view"
         )
     c = continuation_url_param(w)
     self.assertIn(TestHostUri+v, r['location'])
     self.assertIn(c, r['location'])
     self._check_record_view_values("editview", update="Updated RecordView")
     return
 def test_post_edit_entity_enum_type_new(self):
     self._create_entity_data("entitynewtype")
     e1 = self._check_entity_data_values("entitynewtype")
     f  = entitydata_default_view_form_data(
             entity_id="entitynewtype", action="edit", update="Updated entity", 
             new_enum="entity_type__new_edit"
             )
     u  = entitydata_edit_url(
         "edit", "testcoll", "testtype", entity_id="entitynewtype", 
         view_id="Default_view"
         )
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     # v = entitydata_edit_url("new", "testcoll", "_type", view_id="Type_view")
     v = entitydata_edit_url("edit", "testcoll", "_type", "testtype", view_id="Type_view")
     w = entitydata_edit_url(
         "edit", "testcoll", "testtype", entity_id="entitynewtype", 
         view_id="Default_view"
         )
     c = continuation_url_param(w)
     self.assertIn(TestHostUri+v, r['location'])
     self.assertIn(c, r['location'])
     self._check_entity_data_values("entitynewtype", update="Updated entity")
     return
예제 #10
0
 def test_post_view_entity_copy(self):
     self._create_entity_data("entityview")
     f = entitydata_default_view_form_data(entity_id="entityview", action="view", copy="Copy")
     u = entitydata_edit_url("view", "testcoll", "testtype", entity_id="entityview", view_id="Default_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     e = TestHostUri + entitydata_edit_url(
         "copy", "testcoll", "testtype", entity_id="entityview", view_id="Default_view"
         )
     l = continuation_url_param(entitydata_list_type_url("testcoll", "testtype"))
     c = continuation_url_param(u, prev_cont=l)
     self.assertIn(e, r['location'])
     self.assertIn(c, r['location'])
     return
예제 #11
0
 def test_post_new_entity_new_type(self):
     self.assertFalse(EntityData.exists(self.testdata, "entitynewtype"))
     f = default_view_form_data(entity_id="entitynewtype",
                                action="new",
                                update="Updated entity",
                                new_type="New type")
     u = entitydata_edit_url("new",
                             "testcoll",
                             "testtype",
                             view_id="Default_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content, "")
     v = TestHostUri + entitydata_edit_url(
         "new", "testcoll", "_type", view_id="Type_view")
     w = entitydata_edit_url("edit",
                             "testcoll",
                             "testtype",
                             entity_id="entitynewtype",
                             view_id="Default_view")
     c = continuation_url_param(w)
     self.assertIn(v, r['location'])
     self.assertIn(c, r['location'])
     self._check_entity_data_values("entitynewtype",
                                    update="Updated entity")
     return
예제 #12
0
 def test_post_new_all_entity(self):
     # Also tests continuation_url parameter handling
     #@@ s = site_view_url()
     s = collection_view_url(coll_id="testcoll")
     f = entitylist_form_data("new", list_id="Field_list", continuation_url=s)
     u = entitydata_list_all_url("testcoll", list_id="Field_list")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     v = TestHostUri + entitydata_edit_url(
         "new", "testcoll", layout.FIELD_TYPEID, view_id="Field_view"
         )
     c = continuation_url_param(u, continuation_url_param(s))
     self.assertIn(v, r['location'])
     self.assertIn(c, r['location'])
     return
예제 #13
0
 def test_post_view_entity_edit(self):
     self._create_entity_data("entityview")
     f = entitydata_default_view_form_data(entity_id="entityview", action="view", edit="Edit")
     u = entitydata_edit_url("view", "testcoll", "testtype", entity_id="entityview", view_id="Default_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     e = TestHostUri + entitydata_edit_url(
         "edit", "testcoll", "testtype", entity_id="entityview", view_id="Default_view"
         )
     l = continuation_url_param(entitydata_list_type_url("testcoll", "testtype"))
     c = continuation_url_param(u, prev_cont=l)
     self.assertIn(e, r['location'])
     self.assertIn(c, r['location'])
     # 'http://test.example.com/testsite/c/testcoll/v/Default_view/testtype/entityview/!edit
     #   ?continuation_url=/testsite/c/testcoll/v/Default_view/testtype/entityview/!view
     #   %3Fcontinuation_url=/testsite/c/testcoll/d/testtype/'
     return
예제 #14
0
 def test_post_new_type_entity(self):
     f = entitylist_form_data("new", list_id="Field_list")
     u = entitydata_list_type_url("testcoll", layout.FIELD_TYPEID, list_id="Field_list")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     v = TestHostUri + entitydata_edit_url("new", "testcoll", layout.FIELD_TYPEID, view_id="Field_view")
     c = continuation_url_param(u)
     self.assertIn(v, r['location'])
     self.assertIn(c, r['location'])
     return
예제 #15
0
 def setUp(self):
     init_annalist_test_site()
     self.testsite = Site(TestBaseUri, TestBaseDir)
     self.coll1    = Collection.load(self.testsite, "coll1")
     self.view_url = collection_view_url(coll_id="coll1")
     self.edit_url = collection_edit_url(coll_id="coll1")
     self.continuation = "?" + continuation_url_param(self.edit_url)
     # Login and permissions
     create_test_user(self.coll1, "testuser", "testpassword")
     self.client = Client(HTTP_HOST=TestHost)
     loggedin = self.client.login(username="******", password="******")
     self.assertTrue(loggedin)
     return
예제 #16
0
 def test_post_view_no_type(self):
     # Redisplay list with entries matching search string
     f = entitylist_form_data("list_all", list_id="Type_list")
     u = entitydata_list_all_url("testcoll", list_id="Default_list")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     v = TestHostUri + entitydata_list_all_url("testcoll", list_id="Type_list")
     c = continuation_url_param(collection_edit_url("testcoll"))
     self.assertIn(v, r['location'])
     self.assertNotIn("continuation_url", r['location'])
     return
예제 #17
0
 def test_post_default_list(self):
     # This button makes the current list view default for the collection
     f = entitylist_form_data("default_view", list_id="View_list")
     u = entitydata_list_type_url("testcoll", "_type", list_id="Type_list")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     v = TestHostUri + entitydata_list_type_url("testcoll", "_type", list_id="Type_list")
     h = "info_head=Action%20completed"
     m = "info_message=.*view.*testcoll.*Type_list"
     c = continuation_url_param(collection_edit_url("testcoll"))
     self.assertIn(v, r['location'])
     self.assertIn(h, r['location'])
     self.assertMatch(r['location'], m)
     self.assertNotIn("continuation_url", r['location'])
     return
 def test_post_new_entity_new_type(self):
     self.assertFalse(EntityData.exists(self.testdata, "entitynewtype"))
     f = entitydata_default_view_form_data(
         entity_id="entitynewtype", action="new", update="Updated entity", 
         new_type="New type"
         )
     u = entitydata_edit_url("new", "testcoll", "testtype", view_id="Default_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     v = TestHostUri + entitydata_edit_url("new", "testcoll", "_type", view_id="Type_view")
     w = entitydata_edit_url("edit", "testcoll", "testtype", entity_id="entitynewtype", view_id="Default_view")
     c = continuation_url_param(w)
     self.assertIn(v, r['location'])
     self.assertIn(c, r['location'])
     self._check_entity_data_values("entitynewtype", update="Updated entity")
     return
예제 #19
0
 def test_post_view_search(self):
     # Redisplay list with entries matching search string
     f = entitylist_form_data("list_type", search="search&term", continuation_url="/xyzxy/")
     u = entitydata_list_type_url("testcoll", "testtype")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     v = TestHostUri + entitydata_list_type_url(
         "testcoll", "testtype", list_id="Default_list"
         )
     c = continuation_url_param("/xyzxy/")
     s = "search=search%26term"
     self.assertIn(v, r['location'])
     self.assertIn(c, r['location'])
     self.assertIn(s, r['location'])
     # Note: Search rendering tested by test_get_fields_list_search above
     return
예제 #20
0
 def test_post_edit_entity_new_field(self):
     self._create_entity_data("entitynewfield")
     e1 = self._check_entity_data_values("entitynewfield")
     f  = entitydata_default_view_form_data(
             entity_id="entitynewfield", action="edit", update="Updated entity", 
             new_field="New field"
             )
     u  = entitydata_edit_url(
         "edit", "testcoll", "testtype", entity_id="entitynewfield", 
         view_id="Default_view"
         )
     r  = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     v = TestHostUri + entitydata_edit_url("new", "testcoll", "_field", view_id="Field_view")
     c = continuation_url_param(u)
     self.assertIn(v, r['location'])
     self.assertIn(c, r['location'])
     self._check_entity_data_values("entitynewfield", update="Updated entity")
     return
예제 #21
0
 def test_post_default_form_use_view(self):
     self._create_entity_data("entityuseview")
     self.assertTrue(EntityData.exists(self.testdata, "entityuseview"))
     f = entitydata_default_view_form_data(
             entity_id="entityuseview", action="view",
             use_view="_view/Type_view", 
             )
     f.pop('entity_id', None)
     u = entitydata_edit_url(
         "view", "testcoll", "testtype", "entityuseview", view_id="Default_view"
         )
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     v = TestHostUri + entitydata_edit_url(
         "view", "testcoll", "testtype", entity_id="entityuseview", view_id="Type_view"
         )
     c = continuation_url_param("/testsite/c/testcoll/d/testtype/")
     self.assertIn(v, r['location'])
     self.assertIn(c, r['location'])
     self._check_entity_data_values("entityuseview")
     return