def test_post_delete_type_entity(self):
     testtypedelete = RecordType.create(self.testcoll, "testtypedelete", recordtype_create_values("testcoll", "testtypedelete"))
     testdatadelete = RecordTypeData.create(self.testcoll, "testtypedelete", {})
     f = entitylist_form_data("delete", entities=["_type/testtypedelete"])
     u = entitydata_list_type_url("testcoll", "_type", list_id="Type_list")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   200)
     self.assertEqual(r.reason_phrase, "OK")
     self.assertContains(r, "<h3>Confirm requested action</h3>")
     self.assertContains(r, "Remove record testtypedelete of type _type in collection testcoll: Are you sure?")
     self.assertContains(r, 'Click "Confirm" to continue, or "Cancel" to abort operation')
     self.assertContains(r,
         '<input type="hidden" name="confirmed_action"  value="/testsite/c/testcoll/d/_type/!delete_confirmed"/>', 
         html=True
         )
     self.assertEqual(r.context['action_description'], 
         'Remove record testtypedelete of type _type in collection testcoll')
     self.assertEqual(r.context['confirmed_action'], 
         '/testsite/c/testcoll/d/_type/!delete_confirmed')
     self.assertEqual(r.context['action_params'], 
         confirm_delete_params(button_id="entity_delete", entity_id="testtypedelete", type_id="_type", list_id="Type_list")
         )
     self.assertEqual(r.context['cancel_action'], 
         '/testsite/c/testcoll/l/Type_list/_type/')
     return
Example #2
0
 def test_post_delete_all_entity(self):
     f = entitylist_form_data("delete", entities=["testtype/entity1"])
     u = entitydata_list_all_url("testcoll")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   200)
     self.assertEqual(r.reason_phrase, "OK")
     self.assertContains(r, "<h3>%s</h3>"%message.CONFIRM_REQUESTED_ACTION)
     # print "**********"
     # print r.content
     # print "**********"
     msg_text = make_message(message.REMOVE_ENTITY_DATA, 
         type_id="testtype", 
         id="entity1"
         )
     self.assertContains(r, msg_text + ": " + message.ARE_YOU_SURE)
     self.assertContains(r, message.CONFIRM_OR_CANCEL)
     self.assertContains(r, 
         '<input type="hidden" name="confirmed_action"  value="/testsite/c/testcoll/d/testtype/!delete_confirmed"/>',
         html=True
         )
     self.assertEqual(r.context['action_description'], msg_text)
     self.assertEqual(r.context['confirmed_action'], 
         '/testsite/c/testcoll/d/testtype/!delete_confirmed')
     self.assertEqual(r.context['action_params'], 
         confirm_delete_params(button_id="entity_delete", entity_id="entity1", type_id=None)
         )
     self.assertEqual(r.context['cancel_action'], 
         '/testsite/c/testcoll/d/')
     return
 def test_post_delete_all_entity(self):
     f = entitylist_form_data("delete", entities=["testtype/entity1"])
     u = entitydata_list_all_url("testcoll")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 200)
     self.assertEqual(r.reason_phrase, "OK")
     self.assertContains(r, "<h3>Confirm requested action</h3>")
     # print "**********"
     # print r.content
     # print "**********"
     self.assertContains(
         r,
         "Remove record entity1 of type testtype in collection testcoll: Are you sure?"
     )
     self.assertContains(
         r, 'Click "Confirm" to continue, or "Cancel" to abort operation')
     self.assertContains(
         r,
         '<input type="hidden" name="confirmed_action"  value="/testsite/c/testcoll/d/testtype/!delete_confirmed"/>',
         html=True)
     self.assertEqual(
         r.context['action_description'],
         'Remove record entity1 of type testtype in collection testcoll')
     self.assertEqual(r.context['confirmed_action'],
                      '/testsite/c/testcoll/d/testtype/!delete_confirmed')
     self.assertEqual(
         r.context['action_params'],
         confirm_delete_params(button_id="entity_delete",
                               entity_id="entity1",
                               type_id=None))
     self.assertEqual(r.context['cancel_action'], '/testsite/c/testcoll/d/')
     return
 def test_post_edit_type_entity_no_login(self):
     self.client.logout()
     f = entitylist_form_data("edit", entities=["testtype/entity1"])
     u = entitydata_list_type_url("testcoll", "testtype")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 401)
     self.assertEqual(r.reason_phrase, "Unauthorized")
     return
 def test_post_edit_type_entity_no_login(self):
     self.client.logout()
     f = entitylist_form_data("edit", entities=[layout.FIELD_TYPEID+"/field1"])
     u = entitydata_list_type_url("testcoll", layout.FIELD_TYPEID, list_id="Field_list")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   401)
     self.assertEqual(r.reason_phrase, "Unauthorized")
     return
 def test_post_edit_type_entity_select_none(self):
     f = entitylist_form_data("edit")
     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, "")
     e = TestHostUri + u + "?error_head=Problem%20with%20input&error_message="
     self.assertIn(e, r['location'])
     return
 def test_post_edit_type_entity_select_none(self):
     f = entitylist_form_data("edit")
     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,       "")
     e = TestHostUri + u + "?error_head=Problem%20with%20input&error_message="
     self.assertIn(e, r['location'])
     return
Example #8
0
 def test_post_new_type_entity(self):
     f = entitylist_form_data("new")
     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_edit_url("new", "testcoll", "testtype", view_id="Default_view")
     self.assertIn(v, r['location'])
     return
 def test_post_copy_type_entity_select_none(self):
     f = entitylist_form_data("copy")
     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, "")
     e = error_head = "Problem%20with%20input&error_message=No%20data%20record%20selected%20to%20copy"
     self.assertIn(TestHostUri + u, r['location'])
     self.assertIn(e, r['location'])
     return
 def test_post_delete_type_entity_with_values(self):
     f = entitylist_form_data("delete", entities=["_type/testtype"])
     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")
     l = r['location']
     self.assertIn(u, l)
     self.assertIn("error_head=Problem%20with%20input", l)
     self.assertIn("error_message=Cannot%20remove%20type%20testtype%20with%20existing%20values", l)
     return
 def test_post_view_all_list(self):
     # 'View' button on list view: change displayed list
     f = entitylist_form_data("list_type", list_scope_all="all", 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="View_list")
     self.assertIn(v, r['location'])
     self.assertNotIn("continuation_url", r['location'])
     return
 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
 def test_post_close(self):
     # 'Close' button on list view
     c = "/xyzzy/"
     f = entitylist_form_data("close", entities=["testtype/entity1", "testtype/entity2"], continuation_url=c)
     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 + c
     self.assertEqual(v, r['location'])
     return
 def test_post_delete_type_not_exists(self):
     f = entitylist_form_data("delete", entities=["_type/sitetype"])
     u = entitydata_list_all_url("testcoll", list_id="Type_list")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     l = r['location']
     self.assertIn(u, l)
     self.assertIn("error_head=Problem%20with%20input", l)
     # Absent entity assumed to be site level
     self.assertIn("error_message=Cannot%20remove%20site%20built-in%20entity%20sitetype", l)
     return
 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
 def test_post_copy_type_entity_select_none(self):
     f = entitylist_form_data("copy")
     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,       "")
     c = "continuation_url"
     e = error_head="Problem%20with%20input&error_message=No%20data%20record%20selected%20to%20copy"
     self.assertIn(TestHostUri + u, r['location'])
     self.assertNotIn(c, r['location'])
     self.assertIn(e, r['location'])
     return
 def test_post_copy_type_entity_select_many(self):
     f = entitylist_form_data(
         "copy", 
         entities=[layout.FIELD_TYPEID+"/field1", "testtype/entity1", "testtype/entity2"]
         )
     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,       "")
     e = TestHostUri + u + "?error_head=Problem%20with%20input&error_message="
     self.assertIn(e, r['location'])
     return
 def test_post_delete_site_entity(self):
     f = entitylist_form_data("delete", entities=[layout.FIELD_TYPEID+"/Field_comment"])
     u = entitydata_list_type_url("testcoll", layout.FIELD_TYPEID, list_id="Field_list")
     # log.info("entitydata_list_all_url: %s"%u)
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     e1 = TestHostUri + u + "?error_head=Problem%20with%20input&error_message="
     self.assertIn(e1, r['location'])
     e2 = "Cannot%20remove%20site%20built-in%20entity%20Field_comment"
     self.assertIn(e2, r['location'])
     return
 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
 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
 def test_post_close_no_continuation(self):
     # 'Close' button on list view with no continuation URI given in form
     f = entitylist_form_data("close", 
         entities=["testtype/entity1", "testtype/entity2"], 
         continuation_url=""
         )
     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 + collection_view_url(coll_id="testcoll")
     self.assertEqual(v, r['location'])
     return
Example #22
0
 def test_post_edit_type_entity_select_many(self):
     f = entitylist_form_data("edit", entities=["testtype/entity1", "testtype/entity2"])
     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,       "")
     e1 = TestHostUri + u
     e2 = "error_head=%s"%(uri_quote_param(message.INPUT_ERROR),)
     e3 = "error_message="
     self.assertIn(e1, r['location'])
     self.assertIn(e2, r['location'])
     self.assertIn(e3, r['location'])
     return
Example #23
0
 def test_post_copy_type_entity_select_none(self):
     f = entitylist_form_data("copy")
     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,       "")
     e1 = TestHostUri + u
     e2 = "error_head=%s"%(uri_quote_param(message.INPUT_ERROR),)
     e3 = "error_message=%s"%(uri_quote_param(message.NO_ENTITY_FOR_COPY),)
     self.assertIn(e1, r['location'])
     self.assertIn(e2, r['location'])
     self.assertIn(e3, r['location'])
     return
 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
 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_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