def test_shared(self): create_doc(self.factory.user) self.factory.xfer = DocumentShow() self.calljson('/lucterios.documents/documentShow', {"document": "5"}, False) self.assert_observer('core.custom', 'lucterios.documents', 'documentShow') self.assert_count_equal('', 9) self.assert_json_equal('LABELFORM', 'name', "doc1.png") self.assertEqual(len(self.json_actions), 3) self.factory.xfer = DocumentChangeShared() self.calljson('/lucterios.documents/documentChangeShared', {"document": "5"}, False) self.assert_observer('core.acknowledge', 'lucterios.documents', 'documentChangeShared') self.factory.xfer = DocumentShow() self.calljson('/lucterios.documents/documentShow', {"document": "5"}, False) self.assert_observer('core.custom', 'lucterios.documents', 'documentShow') self.assert_count_equal('', 10) self.assert_json_equal('LABELFORM', 'name', "doc1.png") self.assert_json_equal('EDIT', 'shared_link', "http://testserver/lucterios.documents/downloadFile?", True) self.assertEqual(len(self.json_actions), 3) shared_link = self.get_json_path('shared_link').split('?')[-1].split('&') self.assertEqual(len(shared_link), 2) self.assertEqual(shared_link[0][:7], 'shared=') shared_key = shared_link[0][7:] self.assertEqual(shared_link[1], 'filename=doc1.png') self.factory.xfer = DownloadFile() self.call_ex('/lucterios.documents/downloadFile', {"shared": shared_key, "filename": "doc1.png"}, False) file_content = self.response.getvalue() self.assertEqual(file_content[:4], b'\x89PNG') self.factory.xfer = DocumentChangeShared() self.calljson('/lucterios.documents/documentChangeShared', {"document": "5"}, False) self.assert_observer('core.acknowledge', 'lucterios.documents', 'documentChangeShared') self.factory.xfer = DocumentShow() self.calljson('/lucterios.documents/documentShow', {"document": "5"}, False) self.assert_observer('core.custom', 'lucterios.documents', 'documentShow') self.assert_count_equal('', 9) self.assert_json_equal('LABELFORM', 'name', "doc1.png") self.assertEqual(len(self.json_actions), 3) self.factory.xfer = DownloadFile() self.call_ex('/lucterios.documents/downloadFile', {"shared": shared_key, "filename": "doc1.png"}, False) file_content = self.response.getvalue().decode() self.assertEqual(file_content, 'Fichier non trouvé !')
def test_cannot_view(self): self.create_doc() self.factory.xfer = DocumentShow() self.call('/lucterios.documents/documentShow', {"document": "3"}, False) self.assert_observer('core.exception', 'lucterios.documents', 'documentShow') self.assert_xml_equal('EXCEPTION/MESSAGE', "Visualisation non autorisée !") self.factory.xfer = DocumentAddModify() self.call('/lucterios.documents/documentAddModify', {"document": "3"}, False) self.assert_observer('core.exception', 'lucterios.documents', 'documentAddModify') self.assert_xml_equal('EXCEPTION/MESSAGE', "Visualisation non autorisée !") self.factory.xfer = DocumentDel() self.call('/lucterios.documents/documentDel', {"document": "3"}, False) self.assert_observer('core.exception', 'lucterios.documents', 'documentDel') self.assert_xml_equal('EXCEPTION/MESSAGE', "Visualisation non autorisée !")
def test_readonly(self): current_date = create_doc(self.factory.user) self.factory.xfer = DocumentShow() self.calljson('/lucterios.documents/documentShow', {"document": "6"}, False) self.assert_observer('core.custom', 'lucterios.documents', 'documentShow') self.assertEqual(self.json_meta['title'], "Afficher le document") self.assert_count_equal('', 9) self.assert_comp_equal(('LABELFORM', 'name'), "doc2.png", (1, 0, 2, 1)) self.assert_comp_equal(('LABELFORM', 'parent'), ">truc1", (1, 1, 2, 1)) self.assert_comp_equal(('LABELFORM', 'description'), "doc 2", (1, 2, 2, 1)) self.assert_comp_equal(('LABELFORM', 'modifier'), None, (1, 3, 1, 1)) self.assert_comp_equal(('LABELFORM', 'date_modification'), current_date.isoformat(), (2, 3, 1, 1), (0, 22)) self.assert_comp_equal(('LABELFORM', 'creator'), "empty", (1, 4, 1, 1)) self.assert_comp_equal(('LABELFORM', 'date_creation'), current_date.isoformat(), (2, 4, 1, 1), (0, 22)) self.assertEqual(len(self.json_actions), 2) self.factory.xfer = DocumentAddModify() self.calljson('/lucterios.documents/documentAddModify', {"document": "6"}, False) self.assert_observer('core.exception', 'lucterios.documents', 'documentAddModify') self.assert_json_equal('', 'message', "Écriture non autorisée !") self.factory.xfer = ContainerDel() self.calljson('/lucterios.documents/containerDel', {"container": "6"}, False) self.assert_observer('core.exception', 'lucterios.documents', 'containerDel') self.assert_json_equal('', 'message', "Écriture non autorisée !")
def test_saveagain(self): current_date = create_doc(self.factory.user) self.factory.xfer = DocumentShow() self.calljson('/lucterios.documents/documentShow', {"document": "5"}, False) self.assert_observer('core.custom', 'lucterios.documents', 'documentShow') self.assertEqual(self.json_meta['title'], "Afficher le document") self.assert_count_equal('', 9) self.assert_comp_equal(('LABELFORM', 'name'), "doc1.png", (1, 0, 2, 1)) self.assert_comp_equal(('LABELFORM', 'parent'), ">truc2", (1, 1, 2, 1)) self.assert_comp_equal(('LABELFORM', 'description'), "doc 1", (1, 2, 2, 1)) self.assert_comp_equal(('LABELFORM', 'modifier'), None, (1, 3, 1, 1)) self.assert_comp_equal(('LABELFORM', 'date_modification'), current_date.isoformat(), (2, 3, 1, 1), (0, 22)) self.assert_comp_equal(('LABELFORM', 'creator'), "empty", (1, 4, 1, 1)) self.assert_comp_equal(('LABELFORM', 'date_creation'), current_date.isoformat(), (2, 4, 1, 1), (0, 22)) self.assertEqual(len(self.json_actions), 3) self.factory.xfer = DocumentAddModify() self.calljson('/lucterios.documents/documentAddModify', {'SAVE': 'YES', "document": "5", 'description': 'old doc', 'parent': 3}, False) self.assert_observer('core.acknowledge', 'lucterios.documents', 'documentAddModify') docs = DocumentContainer.objects.all().order_by('id') self.assertEqual(len(docs), 3) self.assertEqual(docs[0].id, 5) self.assertEqual(docs[0].parent.id, 3) self.assertEqual(docs[0].name, 'doc1.png') self.assertEqual(docs[0].description, "old doc") self.assertEqual(docs[0].creator.username, "empty") self.assertEqual(docs[0].modifier.username, "empty") self.assertNotEqual(docs[0].date_creation, docs[0].date_modification)
def test_cannot_view(self): create_doc(self.factory.user) self.factory.xfer = DocumentShow() self.calljson('/lucterios.documents/documentShow', {"document": "7"}, False) self.assert_observer('core.exception', 'lucterios.documents', 'documentShow') self.assert_json_equal('', 'message', "Visualisation non autorisée !") self.factory.xfer = DocumentAddModify() self.calljson('/lucterios.documents/documentAddModify', {"document": "7"}, False) self.assert_observer('core.exception', 'lucterios.documents', 'documentAddModify') self.assert_json_equal('', 'message', "Visualisation non autorisée !") self.factory.xfer = ContainerDel() self.calljson('/lucterios.documents/containerDel', {"container": "7"}, False) self.assert_observer('core.exception', 'lucterios.documents', 'containerDel') self.assert_json_equal('', 'message', "Visualisation non autorisée !")
def test_saveagain(self): current_date = self.create_doc() self.factory.xfer = DocumentShow() self.call('/lucterios.documents/documentShow', {"document": "1"}, False) self.assert_observer('core.custom', 'lucterios.documents', 'documentShow') self.assert_xml_equal('TITLE', "Afficher le document") self.assert_count_equal('COMPONENTS/*', 9) self.assert_comp_equal('COMPONENTS/LABELFORM[@name="folder"]', ">truc2", (1, 0, 2, 1)) self.assert_comp_equal('COMPONENTS/LABELFORM[@name="name"]', "doc1.png", (1, 1, 2, 1)) self.assert_comp_equal('COMPONENTS/LABELFORM[@name="description"]', "doc 1", (1, 2, 2, 1)) self.assert_comp_equal('COMPONENTS/LABELFORM[@name="modifier"]', '---', (1, 3, 1, 1)) self.assert_comp_equal( 'COMPONENTS/LABELFORM[@name="date_modification"]', formats.date_format(current_date, "DATETIME_FORMAT"), (2, 3, 1, 1)) self.assert_comp_equal('COMPONENTS/LABELFORM[@name="creator"]', "empty", (1, 4, 1, 1)) self.assert_comp_equal( 'COMPONENTS/LABELFORM[@name="date_creation"]', formats.date_format(current_date, "DATETIME_FORMAT"), (2, 4, 1, 1)) self.assert_count_equal('ACTIONS/ACTION', 2) self.factory.xfer = DocumentAddModify() self.call('/lucterios.documents/documentAddModify', { 'SAVE': 'YES', "document": "1", 'description': 'old doc' }, False) docs = Document.objects.all().order_by('id') self.assertEqual(len(docs), 3) self.assertEqual(docs[0].folder.id, 2) self.assertEqual(docs[0].name, 'doc1.png') self.assertEqual(docs[0].description, "old doc") self.assertEqual(docs[0].creator.username, "empty") self.assertEqual(docs[0].modifier.username, "empty") self.assertNotEqual(docs[0].date_creation, docs[0].date_modification)
def test_readonly(self): current_date = self.create_doc() self.factory.xfer = DocumentShow() self.call('/lucterios.documents/documentShow', {"document": "2"}, False) self.assert_observer('core.custom', 'lucterios.documents', 'documentShow') self.assert_xml_equal('TITLE', "Afficher le document") self.assert_count_equal('COMPONENTS/*', 9) self.assert_comp_equal('COMPONENTS/LABELFORM[@name="folder"]', ">truc1", (1, 0, 2, 1)) self.assert_comp_equal('COMPONENTS/LABELFORM[@name="name"]', "doc2.png", (1, 1, 2, 1)) self.assert_comp_equal('COMPONENTS/LABELFORM[@name="description"]', "doc 2", (1, 2, 2, 1)) self.assert_comp_equal('COMPONENTS/LABELFORM[@name="modifier"]', '---', (1, 3, 1, 1)) self.assert_comp_equal( 'COMPONENTS/LABELFORM[@name="date_modification"]', formats.date_format(current_date, "DATETIME_FORMAT"), (2, 3, 1, 1)) self.assert_comp_equal('COMPONENTS/LABELFORM[@name="creator"]', "empty", (1, 4, 1, 1)) self.assert_comp_equal( 'COMPONENTS/LABELFORM[@name="date_creation"]', formats.date_format(current_date, "DATETIME_FORMAT"), (2, 4, 1, 1)) self.assert_count_equal('ACTIONS/ACTION', 1) self.factory.xfer = DocumentAddModify() self.call('/lucterios.documents/documentAddModify', {"document": "2"}, False) self.assert_observer('core.exception', 'lucterios.documents', 'documentAddModify') self.assert_xml_equal('EXCEPTION/MESSAGE', "Écriture non autorisée !") self.factory.xfer = DocumentDel() self.call('/lucterios.documents/documentDel', {"document": "2"}, False) self.assert_observer('core.exception', 'lucterios.documents', 'documentDel') self.assert_xml_equal('EXCEPTION/MESSAGE', "Écriture non autorisée !")