コード例 #1
0
 def test_post_edit_type_invalid_id(self):
     self._create_record_type("edittype")
     self._check_record_type_values("edittype")
     # Form post with invalid ID
     f = recordtype_entity_view_form_data(type_id="!badtype",
                                          orig_id="edittype",
                                          action="edit",
                                          update="Updated RecordType")
     u = entitydata_edit_url("edit",
                             "testcoll",
                             layout.TYPE_TYPEID,
                             entity_id="edittype",
                             view_id="Type_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 200)
     self.assertEqual(r.reason_phrase, "OK")
     self.assertContains(r, "<h3>Problem with record type identifier</h3>")
     # Test context
     self._check_context_fields(
         r,
         action="edit",
         type_id="!badtype",
         orig_type_id="edittype",
         type_label=None,
         type_uri=None,
         type_supertype_uris=[],
     )
     # Check original data is unchanged
     self._check_record_type_values("edittype")
     return
コード例 #2
0
 def test_post_edit_type_new_id(self):
     # Check logic applied when type is renamed
     (t, d1, e1) = self._create_record_type("edittype1", entity_id="typeentity")
     self.assertTrue(RecordType.exists(self.testcoll, "edittype1"))
     self.assertFalse(RecordType.exists(self.testcoll, "edittype2"))
     self.assertTrue(RecordTypeData.exists(self.testcoll, "edittype1"))
     self.assertFalse(RecordTypeData.exists(self.testcoll, "edittype2"))
     self.assertTrue(EntityData.exists(d1, "typeentity"))
     self._check_record_type_values("edittype1")
     f = recordtype_entity_view_form_data(
         type_id="edittype2", orig_id="edittype1", 
         action="edit", update="Updated RecordType"
         )
     u = entitydata_edit_url(
         "edit", "testcoll", layout.TYPE_TYPEID, entity_id="edittype1", view_id="Type_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 and old does not
     self.assertFalse(RecordType.exists(self.testcoll, "edittype1"))
     self.assertTrue(RecordType.exists(self.testcoll, "edittype2"))
     self._check_record_type_values("edittype2", update="Updated RecordType")
     # Check that type data directory has been renamed
     self.assertFalse(RecordTypeData.exists(self.testcoll, "edittype1"))
     self.assertTrue(RecordTypeData.exists(self.testcoll, "edittype2"))
     self.assertFalse(EntityData.exists(d1, "typeentity"))
     d2 = RecordTypeData.load(self.testcoll, "edittype2")
     self.assertTrue(EntityData.exists(d2, "typeentity"))
     return
コード例 #3
0
 def test_post_copy_type_invalid_id(self):
     f = recordtype_entity_view_form_data(type_id="!badtype",
                                          orig_id="Default_type",
                                          action="copy",
                                          update="Updated RecordType")
     u = entitydata_edit_url("copy",
                             "testcoll",
                             layout.TYPE_TYPEID,
                             entity_id="Default_type",
                             view_id="Type_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 200)
     self.assertEqual(r.reason_phrase, "OK")
     self.assertContains(r, "<h3>Problem with record type identifier</h3>")
     # Test context
     self._check_context_fields(
         r,
         action="copy",
         type_id="!badtype",
         orig_type_id="Default_type",
         type_label=None,
         type_uri=None,
         type_supertype_uris=[],
     )
     return
コード例 #4
0
 def test_post_edit_type_invalid_id(self):
     self._create_record_type("edittype")
     self._check_record_type_values("edittype")
     # Form post with invalid ID
     f = recordtype_entity_view_form_data(
         type_id="!badtype", orig_id="edittype", action="edit", update="Updated RecordType"
         )
     u = entitydata_edit_url(
         "edit", "testcoll", layout.TYPE_TYPEID, entity_id="edittype", view_id="Type_view"
         )
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   200)
     self.assertEqual(r.reason_phrase, "OK")
     self.assertContains(r, "<h3>Problem with record type identifier</h3>")
     # Test context
     self._check_context_fields(r, 
         action="edit",
         type_id="!badtype", orig_type_id="edittype",
         type_label=None,
         type_uri=None,
         type_supertype_uris=[],
         )
     # Check original data is unchanged
     self._check_record_type_values("edittype")
     return
コード例 #5
0
 def test_post_edit_type_invalid_id(self):
     self._create_record_type("edittype")
     self._check_record_type_values("edittype")
     # Form post with invalid ID
     f = recordtype_entity_view_form_data(type_id="!badtype",
                                          orig_id="edittype",
                                          action="edit",
                                          update="Updated RecordType")
     u = entitydata_edit_url("edit",
                             "testcoll",
                             "_type",
                             entity_id="edittype",
                             view_id="Type_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 200)
     self.assertEqual(r.reason_phrase, "OK")
     self.assertContains(r, "<h3>Problem with record type identifier</h3>")
     # Test context
     expect_context = recordtype_entity_view_context_data(
         type_id="!badtype",
         orig_id="edittype",
         action="edit",
         update="Updated RecordType")
     self.assertDictionaryMatch(r.context, expect_context)
     # Check original data is unchanged
     self._check_record_type_values("edittype")
     return
コード例 #6
0
 def new_type(self):
     # requires CONFIG
     u = entitydata_edit_url(action="new",
                             coll_id="testcoll",
                             type_id="_type",
                             view_id="Default_view")
     f = recordtype_entity_view_form_data(action="new",
                                          coll_id="testcoll",
                                          type_id="new_type",
                                          orig_id="orig_type")
     r = self.client.post(u, f)
     return r
コード例 #7
0
 def edit_type(self):
     # requires CONFIG
     e = self.create_type("edit_type")
     u = entitydata_edit_url(action="edit",
                             coll_id="testcoll",
                             type_id="_type",
                             entity_id="edit_type",
                             view_id="Default_view")
     f = recordtype_entity_view_form_data(action="edit",
                                          coll_id="testcoll",
                                          type_id="edit_type")
     r = self.client.post(u, f)
     return r
コード例 #8
0
 def test_post_new_type_cancel(self):
     self.assertFalse(RecordType.exists(self.testcoll, "newtype"))
     f = recordtype_entity_view_form_data(
         type_id="newtype", action="new", cancel="Cancel", update="Updated RecordType"
         )
     u = entitydata_edit_url("new", "testcoll", layout.TYPE_TYPEID, view_id="Type_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 still does not exist
     self.assertFalse(RecordType.exists(self.testcoll, "newtype"))
     return
コード例 #9
0
 def test_post_edit_type(self):
     self._create_record_type("edittype")
     self._check_record_type_values("edittype")
     f = recordtype_entity_view_form_data(
         type_id="edittype", orig_id="edittype", 
         action="edit", update="Updated RecordType"
         )
     u = entitydata_edit_url("edit", "testcoll", layout.TYPE_TYPEID, entity_id="edittype", view_id="Type_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._check_record_type_values("edittype", update="Updated RecordType")
     return
コード例 #10
0
 def test_post_new_type(self):
     self.assertFalse(RecordType.exists(self.testcoll, "newtype"))
     f = recordtype_entity_view_form_data(
         type_id="newtype", action="new", update="RecordType",
         type_uri="test:type"
         )
     u = entitydata_edit_url("new", "testcoll", layout.TYPE_TYPEID, view_id="Type_view")
     r = self.client.post(u, f)
     # print r.content
     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._check_record_type_values("newtype", update="RecordType", type_uri="test:type")
     return
コード例 #11
0
 def test_post_copy_type_missing_id(self):
     f = recordtype_entity_view_form_data(action="copy",
                                          update="Updated RecordType")
     u = entitydata_edit_url("copy",
                             "testcoll",
                             "_type",
                             entity_id="Default_type",
                             view_id="Type_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 200)
     self.assertEqual(r.reason_phrase, "OK")
     self.assertContains(r, "<h3>Problem with record type identifier</h3>")
     expect_context = recordtype_entity_view_context_data(
         action="copy", update="Updated RecordType")
     self.assertDictionaryMatch(r.context, expect_context)
     return
コード例 #12
0
 def test_define_view_list_task(self):
     # Create new type
     self._create_record_type("tasktype")
     self._check_record_type_values("tasktype")
     # Post define view+list
     f = recordtype_entity_view_form_data(
         type_id="tasktype",
         type_uri="test:tasktype",
         task="Define_view_list"
         )
     u = entitydata_edit_url(
         "edit", "testcoll", layout.TYPE_TYPEID, entity_id="tasktype", view_id="Type_view"
         )
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content,       "")
     # Check content of type, view and list
     common_vals = (
         { 'type_id':      "tasktype"
         , 'type_label':   "RecordType testcoll/tasktype"
         })
     expect_type_values = (
         { 'annal:type':         "annal:Type"
         , 'rdfs:label':         "RecordType testcoll/%(type_id)s"%common_vals
         , 'annal:uri':          "test:%(type_id)s"%common_vals
         , 'annal:type_view':    "_view/%(type_id)s"%common_vals
         , 'annal:type_list':    "_list/%(type_id)s"%common_vals
         })
     expect_view_values = (
         { 'annal:type':         "annal:View"
         , 'rdfs:label':         message.TYPE_VIEW_LABEL%common_vals['type_label']
         , 'annal:record_type':  "test:%(type_id)s"%common_vals
         })
     expect_list_values = (
         { 'annal:type':         "annal:List"
         , 'rdfs:label':         message.TYPE_LIST_LABEL%common_vals['type_label']
         , 'annal:default_view': "_view/%(type_id)s"%common_vals
         , 'annal:default_type': "_type/%(type_id)s"%common_vals
         , 'annal:record_type':  "test:%(type_id)s"%common_vals
         , 'annal:display_type': "List"
         , 'annal:list_entity_selector': "'test:%(type_id)s' in [@type]"%common_vals
         })
     self.check_entity_values(layout.TYPE_TYPEID, "%(type_id)s"%common_vals, expect_type_values)
     self.check_entity_values(layout.VIEW_TYPEID, "%(type_id)s"%common_vals, expect_view_values)
     self.check_entity_values(layout.LIST_TYPEID, "%(type_id)s"%common_vals, expect_list_values)
     return
コード例 #13
0
 def test_post_new_type_missing_id(self):
     f = recordtype_entity_view_form_data(action="new", update="RecordType")
     u = entitydata_edit_url("new", "testcoll", layout.TYPE_TYPEID, view_id="Type_view")
     r = self.client.post(u, f)
     # print r.content
     self.assertEqual(r.status_code,   200)
     self.assertEqual(r.reason_phrase, "OK")
     self.assertContains(r, "<h3>Problem with record type identifier</h3>")
     # Test context
     self._check_context_fields(r, 
         action="new",
         type_id="", orig_type_id="orig_type_id",
         type_label=None,
         type_uri=None,
         type_supertype_uris=[],
         )
     return
コード例 #14
0
 def test_post_new_type_cancel(self):
     self.assertFalse(RecordType.exists(self.testcoll, "newtype"))
     f = recordtype_entity_view_form_data(type_id="newtype",
                                          action="new",
                                          cancel="Cancel",
                                          update="Updated RecordType")
     u = entitydata_edit_url("new",
                             "testcoll",
                             "_type",
                             view_id="Type_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 still does not exist
     self.assertFalse(RecordType.exists(self.testcoll, "newtype"))
     return
コード例 #15
0
 def test_post_new_type(self):
     self.assertFalse(RecordType.exists(self.testcoll, "newtype"))
     f = recordtype_entity_view_form_data(type_id="newtype",
                                          action="new",
                                          update="RecordType")
     u = entitydata_edit_url("new",
                             "testcoll",
                             "_type",
                             view_id="Type_view")
     r = self.client.post(u, f)
     # print r.content
     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._check_record_type_values("newtype", update="RecordType")
     return
コード例 #16
0
 def test_post_copy_type(self):
     self.assertFalse(RecordType.exists(self.testcoll, "copytype"))
     f = recordtype_entity_view_form_data(type_id="copytype",
                                          orig_id="Default_type",
                                          action="copy",
                                          update="RecordType")
     u = entitydata_edit_url("copy",
                             "testcoll",
                             layout.TYPE_TYPEID,
                             entity_id="Default_type",
                             view_id="Type_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._check_record_type_values("copytype", update="RecordType")
     return
コード例 #17
0
 def test_post_edit_type(self):
     self._create_record_type("edittype")
     self._check_record_type_values("edittype")
     f = recordtype_entity_view_form_data(type_id="edittype",
                                          orig_id="edittype",
                                          action="edit",
                                          update="Updated RecordType")
     u = entitydata_edit_url("edit",
                             "testcoll",
                             "_type",
                             entity_id="edittype",
                             view_id="Type_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._check_record_type_values("edittype", update="Updated RecordType")
     return
コード例 #18
0
 def test_post_copy_type_invalid_id(self):
     f = recordtype_entity_view_form_data(
         type_id="!badtype", orig_id="Default_type", action="copy", update="Updated RecordType"
         )
     u = entitydata_edit_url(
         "copy", "testcoll", layout.TYPE_TYPEID, entity_id="Default_type", view_id="Type_view"
         )
     r = self.client.post(u, f)
     self.assertEqual(r.status_code,   200)
     self.assertEqual(r.reason_phrase, "OK")
     self.assertContains(r, "<h3>Problem with record type identifier</h3>")
     # Test context
     self._check_context_fields(r, 
         action="copy",
         type_id="!badtype", orig_type_id="Default_type",
         type_label=None,
         type_uri=None,
         type_supertype_uris=[],
         )
     return
コード例 #19
0
 def test_post_new_type_invalid_id(self):
     f = recordtype_entity_view_form_data(type_id="!badtype",
                                          orig_id="orig_type_id",
                                          action="new",
                                          update="RecordType")
     u = entitydata_edit_url("new",
                             "testcoll",
                             "_type",
                             view_id="Type_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 200)
     self.assertEqual(r.reason_phrase, "OK")
     self.assertContains(r, "<h3>Problem with record type identifier</h3>")
     # Test context
     expect_context = recordtype_entity_view_context_data(
         type_id="!badtype",
         orig_id="orig_type_id",
         action="new",
         update="RecordType")
     self.assertDictionaryMatch(r.context, expect_context)
     return
コード例 #20
0
 def test_post_edit_type_cancel(self):
     self._create_record_type("edittype")
     self._check_record_type_values("edittype")
     f = recordtype_entity_view_form_data(type_id="edittype",
                                          orig_id="edittype",
                                          action="edit",
                                          cancel="Cancel",
                                          update="Updated RecordType")
     u = entitydata_edit_url("edit",
                             "testcoll",
                             layout.TYPE_TYPEID,
                             entity_id="edittype",
                             view_id="Type_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 target record type still does not exist and unchanged
     self._check_record_type_values("edittype")
     return
コード例 #21
0
 def test_post_new_type_missing_id(self):
     f = recordtype_entity_view_form_data(action="new", update="RecordType")
     u = entitydata_edit_url("new",
                             "testcoll",
                             layout.TYPE_TYPEID,
                             view_id="Type_view")
     r = self.client.post(u, f)
     # print r.content
     self.assertEqual(r.status_code, 200)
     self.assertEqual(r.reason_phrase, "OK")
     self.assertContains(r, "<h3>Problem with record type identifier</h3>")
     # Test context
     self._check_context_fields(
         r,
         action="new",
         type_id="",
         orig_type_id="orig_type_id",
         type_label=None,
         type_uri=None,
         type_supertype_uris=[],
     )
     return
コード例 #22
0
 def test_post_edit_type_new_id(self):
     # Check logic applied when type is renamed
     (t, d1, e1) = self._create_record_type("edittype1",
                                            entity_id="typeentity")
     self.assertTrue(RecordType.exists(self.testcoll, "edittype1"))
     self.assertFalse(RecordType.exists(self.testcoll, "edittype2"))
     self.assertTrue(RecordTypeData.exists(self.testcoll, "edittype1"))
     self.assertFalse(RecordTypeData.exists(self.testcoll, "edittype2"))
     self.assertTrue(EntityData.exists(d1, "typeentity"))
     self._check_record_type_values("edittype1")
     f = recordtype_entity_view_form_data(type_id="edittype2",
                                          orig_id="edittype1",
                                          action="edit",
                                          update="Updated RecordType")
     u = entitydata_edit_url("edit",
                             "testcoll",
                             "_type",
                             entity_id="edittype1",
                             view_id="Type_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 and old does not
     self.assertFalse(RecordType.exists(self.testcoll, "edittype1"))
     self.assertTrue(RecordType.exists(self.testcoll, "edittype2"))
     self._check_record_type_values("edittype2",
                                    update="Updated RecordType")
     # Check that type data directory has been renamed
     self.assertFalse(RecordTypeData.exists(self.testcoll, "edittype1"))
     self.assertTrue(RecordTypeData.exists(self.testcoll, "edittype2"))
     self.assertFalse(EntityData.exists(d1, "typeentity"))
     d2 = RecordTypeData.load(self.testcoll, "edittype2")
     self.assertTrue(EntityData.exists(d2, "typeentity"))
     return
コード例 #23
0
 def test_define_view_list_task(self):
     # Create new type
     self._create_record_type("tasktype")
     self._check_record_type_values("tasktype")
     # Post define view+list
     f = recordtype_entity_view_form_data(type_id="tasktype",
                                          type_uri="test:tasktype",
                                          task="Define_view_list")
     u = entitydata_edit_url("edit",
                             "testcoll",
                             layout.TYPE_TYPEID,
                             entity_id="tasktype",
                             view_id="Type_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content, "")
     # Check content of type, view and list
     common_vals = ({
         'type_id': "tasktype",
         'type_label': "RecordType testcoll/tasktype"
     })
     expect_type_values = ({
         'annal:type':
         "annal:Type",
         'rdfs:label':
         "RecordType testcoll/%(type_id)s" % common_vals,
         'annal:uri':
         "test:%(type_id)s" % common_vals,
         'annal:type_view':
         "_view/%(type_id)s" % common_vals,
         'annal:type_list':
         "_list/%(type_id)s" % common_vals
     })
     expect_view_values = ({
         'annal:type':
         "annal:View",
         'rdfs:label':
         message.TYPE_VIEW_LABEL % common_vals['type_label'],
         'annal:record_type':
         "test:%(type_id)s" % common_vals
     })
     expect_list_values = ({
         'annal:type':
         "annal:List",
         'rdfs:label':
         message.TYPE_LIST_LABEL % common_vals['type_label'],
         'annal:default_view':
         "_view/%(type_id)s" % common_vals,
         'annal:default_type':
         "_type/%(type_id)s" % common_vals,
         'annal:record_type':
         "test:%(type_id)s" % common_vals,
         'annal:display_type':
         "List",
         'annal:list_entity_selector':
         "'test:%(type_id)s' in [@type]" % common_vals
     })
     self.check_entity_values(layout.TYPE_TYPEID,
                              "%(type_id)s" % common_vals,
                              expect_type_values)
     self.check_entity_values(layout.VIEW_TYPEID,
                              "%(type_id)s" % common_vals,
                              expect_view_values)
     self.check_entity_values(layout.LIST_TYPEID,
                              "%(type_id)s" % common_vals,
                              expect_list_values)
     return