def test_search(self): create_doc(self.factory.user) docs = DocumentContainer.objects.filter(name__endswith='.png') self.assertEqual(len(docs), 3) self.factory.xfer = DocumentSearch() self.calljson('/lucterios.documents/documentSearch', {'CRITERIA': 'name||7||.png'}, False) self.assert_observer('core.custom', 'lucterios.documents', 'documentSearch') self.assert_count_equal('document', 2)
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_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_delete(self): current_date = create_doc(self.factory.user) self.factory.xfer = ContainerList() self.calljson('/lucterios.documents/containerList', {"current_folder": "2"}, False) self.assert_observer('core.custom', 'lucterios.documents', 'containerList') self.assert_count_equal('container', 2) self.assert_json_equal('', "container/@0/id", "3") self.assert_json_equal('', "container/@0/name", "truc3") self.assert_json_equal('', "container/@0/description", "----") self.assert_json_equal('', "container/@0/date_modif", None) self.assert_json_equal('', "container/@0/modif", None) self.assert_json_equal('', "container/@1/id", "5") self.assert_json_equal('', "container/@1/name", "doc1.png") self.assert_json_equal('', "container/@1/description", "doc 1") self.assert_json_equal('', "container/@1/date_modif", current_date.isoformat()[:23], True) self.assert_json_equal('', "container/@1/modif", None) self.assertTrue(exists(get_user_path('documents', 'container_5'))) self.factory.xfer = ContainerDel() self.calljson('/lucterios.documents/containerDel', {"container": "5", "CONFIRME": 'YES'}, False) self.assert_observer('core.acknowledge', 'lucterios.documents', 'containerDel') self.factory.xfer = ContainerList() self.calljson('/lucterios.documents/containerList', {"current_folder": "2"}, False) self.assert_count_equal('container', 1) self.assert_json_equal('', "container/@0/id", "3") self.assertFalse(exists(get_user_path('documents', 'container_5')))
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 !")