def create_data(self, request_obj, output_model): gelijk_obj = request_obj.gelijk scope_obj = request_obj.scope.object if request_obj.scope else None input_parameters_obj = request_obj.parameters if request_obj.parameters else None objects = self.create_object_data(gelijk_obj, scope_obj, input_parameters_obj, self.get_queryset(request_obj), output_model) # TODO [TECH]: Maybe we should move the whole stuurgegevens (or at least zender/ontvanger) to the application level? # TODO [TECH]: Reference etc. should also be logged. return { 'stuurgegevens': { 'berichtcode': self.berichtcode, 'zender': get_systeem_zender(request_obj.stuurgegevens.ontvanger), 'ontvanger': get_ontvanger(request_obj.stuurgegevens.zender), # TODO [TECH]: Generate reference 'referentienummer': create_unique_id(), 'tijdstipBericht': stuf_datetime.now(), 'crossRefnummer': request_obj.stuurgegevens.referentienummer or IgnoreAttribute(), 'entiteittype': self.stuf_entiteit.get_mnemonic() }, 'parameters': self.create_output_parameters_data(input_parameters_obj), 'antwoord': { 'object': objects } }
def create_data(self, request_obj, output_model): gelijk_obj = request_obj.gelijk scope_obj = request_obj.scope.object if request_obj.scope else None input_parameters_obj = request_obj.parameters if request_obj.parameters else None objects = self.create_object_data(gelijk_obj, scope_obj, input_parameters_obj, self.get_queryset(request_obj), output_model) # TODO [TECH]: Maybe we should move the whole stuurgegevens (or at least zender/ontvanger) to the application level? # TODO [TECH]: Reference etc. should also be logged. return { 'stuurgegevens': { 'berichtcode': self.berichtcode, 'zender': get_systeem_zender(request_obj.stuurgegevens.ontvanger), 'ontvanger': get_ontvanger(request_obj.stuurgegevens.zender), # TODO [TECH]: Generate reference 'referentienummer': create_unique_id(), 'tijdstipBericht': stuf_datetime.now(), 'crossRefnummer': request_obj.stuurgegevens.referentienummer or IgnoreAttribute(), 'entiteittype': self.stuf_entiteit.get_mnemonic() }, 'parameters': self.create_output_parameters_data(input_parameters_obj), 'antwoord': { 'object': objects } }
def get_bv03_stuurgegevens(data): from .choices import BerichtcodeChoices from ..utils import create_unique_id return { 'berichtcode': BerichtcodeChoices.bv03, 'zender': get_systeem_zender(), 'ontvanger': get_ontvanger(data.stuurgegevens.zender), 'referentienummer': create_unique_id(), 'crossRefnummer': data.stuurgegevens.referentienummer, 'tijdstipBericht': stuf_datetime.now() }
def test_service_request(self): client = self._get_client('VerwerkSynchroonVrijBericht') stuf_factory = client.type_factory('http://www.egem.nl/StUF/StUF0301') with client.options(raw_response=True): result = client.service.genereerZaakIdentificatie_Di02( stuurgegevens=stuf_factory['Di02-Stuurgegevens-gzi']( berichtcode='Di02', referentienummer='123', tijdstipBericht=stuf_datetime.now(), functie='genereerZaakidentificatie')) response_root = etree.fromstring(result.content) response_identificatie = response_root.xpath( '//zds:zaak/zkn:identificatie', namespaces=self.nsmap)[0].text self.assertEqual(response_identificatie, '2017-0000001')
def test_service_request_create_incremental_year_with_org_id_without_org( self): client = self._get_client('VerwerkSynchroonVrijBericht') stuf_factory = client.type_factory('http://www.egem.nl/StUF/StUF0301') with client.options(raw_response=True): result = client.service.genereerZaakIdentificatie_Di02( stuurgegevens=stuf_factory['Di02-Stuurgegevens-gzi']( berichtcode='Di02', referentienummer='123', tijdstipBericht=stuf_datetime.now(), functie='genereerZaakidentificatie', )) response_root = etree.fromstring(result.content) error_message = response_root.xpath( '//stuf:Fo02Bericht/stuf:body/stuf:details', namespaces=self.nsmap)[0].text self.assertEqual( error_message, 'Ontvangende organisatie is verplicht in de stuurgegevens voor het genereren van identificaties.' )
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 ) ] }))
def test_create(self): self._dms_client.geef_inhoud.return_value = ('doc 1', BytesIO()) zaak = ZaakFactory.create( status_set__indicatie_laatst_gezette_status=JaNee.ja) 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. suppose we want to send 100 bytes, this will be encoded # as 100 * (8/6) * (8/6) = ~178 bytes. big_ass_file = b'a' * 22 * 1024**2 # 22MB inhoud = stuf_factory.BinaireInhoud( base64.b64encode(big_ass_file), bestandsnaam='to_be_everywhere.flac', 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', 'dct.omschrijving': self.iot.informatieobjecttypeomschrijving, 'creatiedatum': today, 'ontvangstdatum': today, 'titel': 'To be Everywhere is to be Nowhere', '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=zaak.zaakidentificatie, omschrijving=zaak.omschrijving, # isVan=None ), # titel # beschrijving # registratiedatum # stt.volgnummer # stt.omschrijving # sta.datumStatusGezet # tijdvakRelatie # tijdvakGeldigheid # tijdstipRegistratie # extraElementen ) ] })) self.assertIsNotNone(response) self.assertEquals(EnkelvoudigInformatieObject.objects.count(), 1) zaakdocument = ZaakInformatieObject.objects.get() self.assertEquals(zaakdocument.zaak, zaak) self.assertIsNotNone(zaakdocument.informatieobject)
def test_zs_dms_interaction(self): """ Het ZS maakt gebruik van de CMIS-documentservices om de wijzigingen met het DMS te synchroniseren. Het ZS zorgt ervoor dat het document dat is aangeboden door de DSC wordt vastgelegd in het DMS. Hiervoor maakt het ZS gebruik van de CMIS-services die aangeboden worden door het DMS. Hierbij gelden de volgende eisen: * Het document wordt gerelateerd aan de juiste Zaakfolder (Zie 5.1) * Het document wordt opgeslagen als objecttype EDC (Zie 5.2) * Minimaal de vereiste metadata voor een EDC wordt vastgelegd in de daarvoor gedefinieerde objectproperties. In Tabel 3 is een mapping aangegeven tussen de StUF-ZKN-elementen en CMIS-objectproperties. """ self._dms_client.geef_inhoud.return_value = ('doc 1', BytesIO()) zaak = ZaakFactory.create( status_set__indicatie_laatst_gezette_status=JaNee.ja) 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(), ) inhoud = stuf_factory.BinaireInhoud( b'helloworld', bestandsnaam='to_be_everywhere.flac', 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', 'dct.omschrijving': self.iot.informatieobjecttypeomschrijving, 'creatiedatum': today, 'ontvangstdatum': today, 'titel': 'To be Everywhere is to be Nowhere', '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=zaak.zaakidentificatie, omschrijving=zaak.omschrijving, # isVan=None ), # titel # beschrijving # registratiedatum # stt.volgnummer # stt.omschrijving # sta.datumStatusGezet # tijdvakRelatie # tijdvakGeldigheid # tijdstipRegistratie # extraElementen ) })) self.assertIsNotNone(response) # assert that the correct DMS client calls were made # the document should have been registered in the DMS self.assertEqual( self._service_dms_client.maak_zaakdocument_met_inhoud.call_count, 1) document = self._service_dms_client.maak_zaakdocument_met_inhoud.call_args[ 0][0] kwargs = self._service_dms_client.maak_zaakdocument_met_inhoud.call_args[ 1] content_type = kwargs['content_type'] filename = kwargs['filename'] bytes = kwargs['stream'].getvalue() self.assertEqual(document, EnkelvoudigInformatieObject.objects.get()) self.assertEqual(filename, 'to_be_everywhere.flac') self.assertEqual(content_type, 'audio/flac') self.assertEqual(bytes, b'helloworld') # the document should have been moved to the correct folder self._service_dms_client.relateer_aan_zaak.assert_called_once_with( document, zaak)
def test_create(self): self._dms_client.geef_inhoud.return_value = ('doc 1', BytesIO()) zaak = ZaakFactory.create(status_set__indicatie_laatst_gezette_status=JaNee.ja) client = self._get_client('OntvangAsynchroon') stuf_factory, zkn_factory, zds_factory = self._get_type_factories(client) today = date.today().strftime('%Y%m%d') response = client.service.maakZaakdocument_EdcLk01( parameters=stuf_factory['ParametersLk01']( indicatorOvername='V', mutatiesoort='T', ), stuurgegevens=stuf_factory['EDC-StuurgegevensLk01']( berichtcode='Lk01', entiteittype='EDC', zender=self.zender, ontvanger=self.ontvanger, referentienummer='1234', tijdstipBericht=stuf_datetime.now(), ), object=zkn_factory['MaakZaakdocument-EDC-kennisgeving'](**{ 'entiteittype': 'EDC', 'verwerkingssoort': 'T', 'identificatie': '12345ABC', 'dct.omschrijving': self.iot.informatieobjecttypeomschrijving, 'creatiedatum': today, 'ontvangstdatum': today, 'titel': 'To be Everywhere is to be Nowhere', 'beschrijving': '2016 album', 'formaat': 'CD', 'taal': 'Engels', 'versie': '1', 'status': 'Gepubliceerd', 'verzenddatum': today, 'vertrouwelijkAanduiding': 'OPENBAAR', 'auteur': 'Thrice', # 'link': '' 'inhoud': stuf_factory.BinaireInhoud( b'', bestandsnaam='to_be_everywhere.flac', contentType='audio/flac', ), # 'tijdvakGeldigheid': stuf_factory.tijdvakGeldigheid( # beginGeldigheid=today, # ), # 'tijdstipRegistratie': '', # 'extraElementend': None, 'isRelevantVoor': zkn_factory['EDCZAK-kennisgeving']( entiteittype='EDCZAK', verwerkingssoort='T', gerelateerde=zkn_factory['ZAK-kerngegevensKennisgeving']( entiteittype='ZAK', verwerkingssoort='I', identificatie=zaak.zaakidentificatie, omschrijving=zaak.omschrijving, # isVan=None ), # titel # beschrijving # registratiedatum # stt.volgnummer # stt.omschrijving # sta.datumStatusGezet # tijdvakRelatie # tijdvakGeldigheid # tijdstipRegistratie # extraElementen ) }) ) self.assertIsNotNone(response) self.assertEquals(EnkelvoudigInformatieObject.objects.count(), 1) zaakdocument = ZaakInformatieObject.objects.get() self.assertEquals(zaakdocument.zaak, zaak) self.assertIsNotNone(zaakdocument.informatieobject)
def test_zs_dms_interaction2_no_inhoud(self): """ Het ZS maakt gebruik van de CMIS-documentservices om de wijzigingen met het DMS te synchroniseren. Het ZS zorgt ervoor dat het document dat is aangeboden door de DSC wordt vastgelegd in het DMS. Hiervoor maakt het ZS gebruik van de CMIS-services die aangeboden worden door het DMS. Hierbij gelden de volgende eisen: * Het document wordt gerelateerd aan de juiste Zaakfolder (Zie 5.1) * Het document wordt opgeslagen als objecttype EDC (Zie 5.2) * Minimaal de vereiste metadata voor een EDC wordt vastgelegd in de daarvoor gedefinieerde objectproperties. In Tabel 3 is een mapping aangegeven tussen de StUF-ZKN-elementen en CMIS-objectproperties. """ self._dms_client.geef_inhoud.return_value = ('doc 1', BytesIO()) zaak = ZaakFactory.create(status_set__indicatie_laatst_gezette_status=JaNee.ja) client = self._get_client('OntvangAsynchroon') stuf_factory, zkn_factory, zds_factory = self._get_type_factories(client) today = date.today().strftime('%Y%m%d') response = client.service.maakZaakdocument_EdcLk01( parameters=stuf_factory['ParametersLk01']( indicatorOvername='V', mutatiesoort='T', ), stuurgegevens=stuf_factory['EDC-StuurgegevensLk01']( berichtcode='Lk01', entiteittype='EDC', zender=self.zender, ontvanger=self.ontvanger, referentienummer='1234', tijdstipBericht=stuf_datetime.now(), ), object=zkn_factory['MaakZaakdocument-EDC-kennisgeving'](**{ 'entiteittype': 'EDC', 'verwerkingssoort': 'T', 'identificatie': '12345ABC', 'dct.omschrijving': self.iot.informatieobjecttypeomschrijving, 'creatiedatum': today, 'ontvangstdatum': today, 'titel': 'To be Everywhere is to be Nowhere', 'beschrijving': '2016 album', 'formaat': 'CD', 'taal': 'Engels', 'versie': '1', 'status': 'Gepubliceerd', 'verzenddatum': today, 'vertrouwelijkAanduiding': 'OPENBAAR', 'auteur': 'Thrice', # 'link': '' # 'tijdvakGeldigheid': stuf_factory.tijdvakGeldigheid( # beginGeldigheid=today, # ), # 'tijdstipRegistratie': '', # 'extraElementend': None, 'isRelevantVoor': zkn_factory['EDCZAK-kennisgeving']( entiteittype='EDCZAK', verwerkingssoort='T', gerelateerde=zkn_factory['ZAK-kerngegevensKennisgeving']( entiteittype='ZAK', verwerkingssoort='I', identificatie=zaak.zaakidentificatie, omschrijving=zaak.omschrijving, # isVan=None ), # titel # beschrijving # registratiedatum # stt.volgnummer # stt.omschrijving # sta.datumStatusGezet # tijdvakRelatie # tijdvakGeldigheid # tijdstipRegistratie # extraElementen ) }) ) self.assertIsNotNone(response) # assert that the correct DMS client calls were made document = EnkelvoudigInformatieObject.objects.get() # the document should have been registered in the DMS self._service_dms_client.maak_zaakdocument.assert_called_once_with( document, filename=None, sender='*****@*****.**') # the document should have been moved to the correct folder self._service_dms_client.relateer_aan_zaak.assert_called_once_with(document, zaak)
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 )] }) )
def test_create(self): client = self._get_client('OntvangAsynchroon') stuf_factory, zkn_factory, zds_factory = self._get_type_factories( client) status = StatusFactory.create(indicatie_laatst_gezette_status=JaNee.ja) zaak = status.zaak zio = ZaakInformatieObjectFactory.create(zaak=zaak, status=status) edc = zio.informatieobject bst = BesluitTypeFactory.create(besluittypeomschrijving='omschrijving') today = time.strftime('%Y%m%d') self.assertEquals(Besluit.objects.all().count(), 0) zender = { 'organisatie': 'Maykin Media', 'applicatie': 'Test', 'administratie': 'Support', 'gebruiker': '*****@*****.**', } response = client.service.voegBesluitToe_Di01( stuurgegevens=stuf_factory['Di01-Stuurgegevens-vbt']( berichtcode='Di01', zender=zender, ontvanger=settings.ZAAKMAGAZIJN_SYSTEEM, referentienummer='1234', tijdstipBericht=stuf_datetime.now(), functie='voegBesluitToe', ), object=zkn_factory['VoegBesluitToe_object'] (besluit=zkn_factory['VoegBesluitToe-BSL-kennisgeving'](**{ 'entiteittype': 'BSL', 'verwerkingssoort': 'T', 'identificatie': '12345ABC', 'bst.omschrijving': bst.besluittypeomschrijving, 'datumBeslissing': today, 'ingangsdatumWerking': today, 'tijdvakGeldigheid': stuf_factory.TijdvakGeldigheid(beginGeldigheid=today, ), 'isVastgelegdIn': zkn_factory['VoegBesluitToe-BSLEDC-kennisgeving']( entiteittype='BSLEDC', verwerkingssoort='T', gerelateerde=zkn_factory[ 'VoegBesluitToe-EDC-kerngegevensKennisgeving']( entiteittype='EDC', verwerkingssoort='I', identificatie=edc.informatieobjectidentificatie)) }), zaak=zkn_factory['VoegBesluitToe_ZAK-kerngegevensKennisgeving']( entiteittype='ZAK', verwerkingssoort='I', identificatie=zaak.zaakidentificatie, ))) self.assertEquals(zaak.besluit_set.count(), 1) besluit = zaak.besluit_set.get() self.assertEquals(besluit.besluitidentificatie, '12345ABC') self.assertEquals(besluit.ingangsdatum, today) self.assertEquals(besluit.besluittype, bst) self.assertEquals(besluit.informatieobject.get(), edc.informatieobject_ptr)
def test_create(self): client = self._get_client('OntvangAsynchroon') stuf_factory, zkn_factory, zds_factory = self._get_type_factories(client) status = StatusFactory.create(indicatie_laatst_gezette_status=JaNee.ja) zaak = status.zaak zio = ZaakInformatieObjectFactory.create(zaak=zaak, status=status) edc = zio.informatieobject bst = BesluitTypeFactory.create(besluittypeomschrijving='omschrijving') today = time.strftime('%Y%m%d') self.assertEquals(Besluit.objects.all().count(), 0) zender = { 'organisatie': 'Maykin Media', 'applicatie': 'Test', 'administratie': 'Support', 'gebruiker': '*****@*****.**', } response = client.service.voegBesluitToe_Di01( stuurgegevens=stuf_factory['Di01-Stuurgegevens-vbt']( berichtcode='Di01', zender=zender, ontvanger=settings.ZAAKMAGAZIJN_SYSTEEM, referentienummer='1234', tijdstipBericht=stuf_datetime.now(), functie='voegBesluitToe', ), object=zkn_factory['VoegBesluitToe_object']( besluit=zkn_factory['VoegBesluitToe-BSL-kennisgeving'](**{ 'entiteittype': 'BSL', 'verwerkingssoort': 'T', 'identificatie': '12345ABC', 'bst.omschrijving': bst.besluittypeomschrijving, 'datumBeslissing': today, 'ingangsdatumWerking': today, 'tijdvakGeldigheid': stuf_factory.TijdvakGeldigheid( beginGeldigheid=today, ), 'isVastgelegdIn': zkn_factory['VoegBesluitToe-BSLEDC-kennisgeving']( entiteittype='BSLEDC', verwerkingssoort='T', gerelateerde=zkn_factory['VoegBesluitToe-EDC-kerngegevensKennisgeving']( entiteittype='EDC', verwerkingssoort='I', identificatie=edc.informatieobjectidentificatie ) ) }), zaak=zkn_factory['VoegBesluitToe_ZAK-kerngegevensKennisgeving']( entiteittype='ZAK', verwerkingssoort='I', identificatie=zaak.zaakidentificatie, ) ) ) self.assertEquals(zaak.besluit_set.count(), 1) besluit = zaak.besluit_set.get() self.assertEquals(besluit.besluitidentificatie, '12345ABC') self.assertEquals(besluit.ingangsdatum, today) self.assertEquals(besluit.besluittype, bst) self.assertEquals(besluit.informatieobject.get(), edc.informatieobject_ptr)