class voegZaakdocumentToe_EdcLk01RegressionTests(DMSMixin, BaseTestPlatformTests): maxDiff = None test_files_subfolder = 'maykin_voegZaakdocumentToe' porttype = 'OntvangAsynchroon' disable_mocks = True @skipIf(on_jenkins() or should_skip_cmis_tests(), "Skipped while there's no Alfresco running on Jenkins") @override_settings( CMIS_UPLOAD_TO='zaakmagazijn.cmis.utils.upload_to_date_based', ZAAKMAGAZIJN_SYSTEEM={ 'organisatie': '0392', 'applicatie': 'SoapUI', 'administratie': 'test', 'gebruiker': 'David' }) def test_index_error_list_index_out_of_range(self): """ See: https://taiga.maykinmedia.nl/project/haarlem-zaakmagazijn/issue/278 """ zaak = ZaakFactory.create( zaakidentificatie='0392f576ff4a-af98-4669-8fc6-625c7190aa9d', status_set__indicatie_laatst_gezette_status=JaNee.ja) zaak.zaakkenmerk_set.all().delete() edc_type = InformatieObjectTypeFactory.create( informatieobjecttypeomschrijving='test') vraag = 'voegZaakdocumentToe_EdcLk01_taiga278.xml' response = self._do_request(self.porttype, vraag) self.assertEquals(response.status_code, 200, response.content)
class voegZaakdocumentToe_EdcLk01EndToEndTests(BaseSoapTests): maxDiff = None test_files_subfolder = 'maykin_voegZaakdocumentToe' porttype = 'OntvangAsynchroon' disable_mocks = True def setUp(self): super().setUp() self.client = CMISDMSClient() self.addCleanup(self._removeTree) # Create zaak self.zaak = ZaakFactory.create( zaakidentificatie='123456789', einddatum=None, ) StatusFactory.create(zaak=self.zaak, indicatie_laatst_gezette_status=JaNee.ja) # Create zaak folder self.client.creeer_zaakfolder(self.zaak) def _removeTree(self): """ Remove the created Zaak root folder and all children from the DMS. """ try: root_folder = self.client._repo.getObjectByPath('/Zaken') except ObjectNotFoundException: return root_folder.deleteTree() @skipIf(on_jenkins() or should_skip_cmis_tests(), "Skipped while there's no Alfresco running on Jenkins") @override_settings( ZAAKMAGAZIJN_SYSTEEM={ 'organisatie': 'Maykin Media', 'applicatie': 'TTA', 'administratie': '', 'gebruiker': '' }) def test_upload_small_file(self): """ See: https://taiga.maykinmedia.nl/project/haarlem-zaakmagazijn/issue/387 """ self.iot = InformatieObjectTypeFactory.create() self.zender = { 'organisatie': 'Maykin Media', 'applicatie': 'Test', 'administratie': '', 'gebruiker': '', } self.ontvanger = { 'organisatie': 'Maykin Media', 'applicatie': 'TTA', 'administratie': '', 'gebruiker': '', } client = self._get_client('OntvangAsynchroon') stuf_factory, zkn_factory, zds_factory = self._get_type_factories( client) today = date.today().strftime('%Y%m%d') stuurgegevens = stuf_factory['EDC-StuurgegevensLk01']( berichtcode='Lk01', entiteittype='EDC', zender=self.zender, ontvanger=self.ontvanger, referentienummer='1234', tijdstipBericht=stuf_datetime.now(), ) big_ass_file = b'a' * 1 * 1024**2 # 1MB name = '{}.flac'.format(int(time.time())) inhoud = stuf_factory.BinaireInhoud( big_ass_file, bestandsnaam=name, contentType='audio/flac', ) response = client.service.voegZaakdocumentToe_EdcLk01( parameters=stuf_factory['ParametersLk01']( indicatorOvername='V', mutatiesoort='T', ), stuurgegevens=stuurgegevens, object=zkn_factory['VoegZaakdocumentToe-EDC-kennisgeving']( **{ 'entiteittype': 'EDC', 'verwerkingssoort': 'T', 'identificatie': '12345ABC{}'.format(int(time.time())), 'dct.omschrijving': self.iot.informatieobjecttypeomschrijving, 'creatiedatum': today, 'ontvangstdatum': today, 'titel': 'To be Everywhere {}'.format(int(time.time())), 'beschrijving': '2016 album', 'formaat': 'CD', 'taal': 'Engels', 'versie': '1', 'status': 'Gepubliceerd', 'verzenddatum': today, 'vertrouwelijkAanduiding': 'OPENBAAR', 'auteur': 'Thrice', # 'link': '' 'inhoud': inhoud, # 'tijdvakGeldigheid': stuf_factory.tijdvakGeldigheid( # beginGeldigheid=today, # ), # 'tijdstipRegistratie': '', # 'extraElementend': None, 'isRelevantVoor': [ zkn_factory['VoegZaakdocumentToe-EDCZAK-kennisgeving']( entiteittype='EDCZAK', verwerkingssoort='T', gerelateerde=zkn_factory[ 'VoegZaakdocumentToe-ZAK-kerngegevensKennisgeving'] ( entiteittype='ZAK', verwerkingssoort='I', identificatie=self.zaak.zaakidentificatie, omschrijving=self.zaak.omschrijving, # isVan=None ), # titel # beschrijving # registratiedatum # stt.volgnummer # stt.omschrijving # sta.datumStatusGezet # tijdvakRelatie # tijdvakGeldigheid # tijdstipRegistratie # extraElementen ) ] })) @skipIf(on_jenkins() or should_skip_cmis_tests(), "Skipped while there's no Alfresco running on Jenkins") @override_settings( ZAAKMAGAZIJN_SYSTEEM={ 'organisatie': 'Maykin Media', 'applicatie': 'TTA', 'administratie': '', 'gebruiker': '' }) def test_upload_large_file(self): """ See: https://taiga.maykinmedia.nl/project/haarlem-zaakmagazijn/issue/387 """ self.iot = InformatieObjectTypeFactory.create() self.zender = { 'organisatie': 'Maykin Media', 'applicatie': 'Test', 'administratie': '', 'gebruiker': '', } self.ontvanger = { 'organisatie': 'Maykin Media', 'applicatie': 'TTA', 'administratie': '', 'gebruiker': '', } client = self._get_client('OntvangAsynchroon') stuf_factory, zkn_factory, zds_factory = self._get_type_factories( client) today = date.today().strftime('%Y%m%d') stuurgegevens = stuf_factory['EDC-StuurgegevensLk01']( berichtcode='Lk01', entiteittype='EDC', zender=self.zender, ontvanger=self.ontvanger, referentienummer='1234', tijdstipBericht=stuf_datetime.now(), ) # Note that the content is base64 encoded twice, and thus increases in size # when encoded. big_ass_file = b'a' * 3 * 1024**2 # 22MB name = '{}.flac'.format(int(time.time())) inhoud = stuf_factory.BinaireInhoud( big_ass_file, bestandsnaam=name, contentType='audio/flac', ) response = client.service.voegZaakdocumentToe_EdcLk01( parameters=stuf_factory['ParametersLk01']( indicatorOvername='V', mutatiesoort='T', ), stuurgegevens=stuurgegevens, object=zkn_factory['VoegZaakdocumentToe-EDC-kennisgeving']( **{ 'entiteittype': 'EDC', 'verwerkingssoort': 'T', 'identificatie': '12345ABC{}'.format(int(time.time())), 'dct.omschrijving': self.iot.informatieobjecttypeomschrijving, 'creatiedatum': today, 'ontvangstdatum': today, 'titel': 'To be Everywhere {}'.format(int(time.time())), 'beschrijving': '2016 album', 'formaat': 'CD', 'taal': 'Engels', 'versie': '1', 'status': 'Gepubliceerd', 'verzenddatum': today, 'vertrouwelijkAanduiding': 'OPENBAAR', 'auteur': 'Thrice', # 'link': '' 'inhoud': inhoud, # 'tijdvakGeldigheid': stuf_factory.tijdvakGeldigheid( # beginGeldigheid=today, # ), # 'tijdstipRegistratie': '', # 'extraElementend': None, 'isRelevantVoor': [ zkn_factory['VoegZaakdocumentToe-EDCZAK-kennisgeving']( entiteittype='EDCZAK', verwerkingssoort='T', gerelateerde=zkn_factory[ 'VoegZaakdocumentToe-ZAK-kerngegevensKennisgeving'] ( entiteittype='ZAK', verwerkingssoort='I', identificatie=self.zaak.zaakidentificatie, omschrijving=self.zaak.omschrijving, # isVan=None ), # titel # beschrijving # registratiedatum # stt.volgnummer # stt.omschrijving # sta.datumStatusGezet # tijdvakRelatie # tijdvakGeldigheid # tijdstipRegistratie # extraElementen ) ] }))
self.addCleanup(lambda: self._removeTree('/Unfiled')) def _removeTree(self, path): try: root_folder = self.client._repo.getObjectByPath(path) except ObjectNotFoundException: return root_folder.deleteTree() def assertExpectedProps(self, obj, expected: dict): for prop, expected_value in expected.items(): with self.subTest(prop=prop, expected_value=expected_value): self.assertEqual(obj.properties[prop], expected_value) @skipIf(on_jenkins() or should_skip_cmis_tests(), "Skipped while there's no Alfresco running on Jenkins") class CMISClientTests(DMSMixin, TestCase): def test_boomstructuur(self): """ Test dat de boomstructuur Zaken -> Zaaktype -> Zaak gemaakt wordt. """ with self.assertRaises(ObjectNotFoundException): self.client._repo.getObjectByPath('/Zaken') zaak = ZaakFactory.create( status_set__indicatie_laatst_gezette_status=JaNee.ja, zaakidentificatie='123456789', einddatum='20171231', zaaktype__zaaktypeidentificatie='998877', zaaktype__zaaktypeomschrijving='SOAP is leuk',
self.addCleanup(lambda: self._removeTree('/Unfiled')) def _removeTree(self, path): try: root_folder = self.client._repo.getObjectByPath(path) except ObjectNotFoundException: return root_folder.deleteTree() def assertExpectedProps(self, obj, expected: dict): for prop, expected_value in expected.items(): with self.subTest(prop=prop, expected_value=expected_value): self.assertEqual(obj.properties[prop], expected_value) @skipIf(on_jenkins() or should_skip_cmis_tests(), "Skipped while there's no Alfresco running on Jenkins") class CMISClientTests(DMSMixin, TestCase): def test_boomstructuur(self): """ Test dat de boomstructuur Zaken -> Zaaktype -> Zaak gemaakt wordt. """ with self.assertRaises(ObjectNotFoundException): self.client._repo.getObjectByPath('/Zaken') zaak = ZaakFactory.create( status_set__indicatie_laatst_gezette_status=JaNee.ja, zaakidentificatie='123456789', einddatum='20171231', zaaktype__zaaktypeidentificatie='998877', zaaktype__zaaktypeomschrijving='SOAP is leuk', )