Index: AXimpl/MessageInProcessor.cls.xml =================================================================== diff -u -r49618 -r49635 --- AXimpl/MessageInProcessor.cls.xml (.../MessageInProcessor.cls.xml) (revision 49618) +++ AXimpl/MessageInProcessor.cls.xml (.../MessageInProcessor.cls.xml) (revision 49635) @@ -28,8 +28,13 @@ 1 + +AXimpl.VerwerkBestandOpnieuwAanvraagRepository +1 + + -FileAPI:TECH.File.FileAPI,XmlCorrelater:TECH.XMLCorrelater,EventRaiser:AXimpl.EventRaiser,ConfigIn:AXimpl.ConfigIn +FileAPI:TECH.File.FileAPI,XmlCorrelater:TECH.XMLCorrelater,EventRaiser:AXimpl.EventRaiser,ConfigIn:AXimpl.ConfigIn,VerwerkBestandOpnieuwAanvraagRepository:AXimpl.VerwerkBestandOpnieuwAanvraagRepository 1 1 %Status @@ -39,6 +44,7 @@ Set ..XmlCorrelater = $$$Inject(XmlCorrelater,##class(TECH.XMLCorrelater).%New()) Set ..EventRaiser = $$$Inject(EventRaiser,##class(AXimpl.EventRaiser).%New()) Set ..ConfigIn = $$$Inject(ConfigIn,##class(AXimpl.ConfigIn).%New()) + Set ..VerwerkBestandOpnieuwAanvraagRepository = $$$Inject(VerwerkBestandOpnieuwAanvraagRepository,##class(VerwerkBestandOpnieuwAanvraagRepository).%New()) Set ..Logger = ##class(vhLib.Logger).%New() quit $$$OK @@ -79,6 +85,7 @@ Do ..EventRaiser.RaiseRequestReceivedEvent(SubPath,FullFilename,..FileAPI.GeefFileReader(FullFilename).GeefStream()) Do ..FileAPI.DeleteFile(FullFilename) ;eind verwerking + Do ..MarkeerVerwerkBestandOpnieuwAanvraagVerwerkt(FullFilename) Set VerwerkVolgende = $$$False } Set VerwerkVolgende = $$$False @@ -87,11 +94,13 @@ #dim Exception As TECH.IException = ##class(TECH.ExceptionHandler).Catch() if Exception.%IsA(##class(AXimpl.VerwerkAXBerichtLaterOpnieuwException).%ClassName(1)) { Do ..Logger.Info("Verwerk AX bericht '"_FullFilename_"' later opnieuw", Exception.ToString()) + Do ..RegistreerVerwerkBestandOpnieuwAanvraag(FullFilename) } else { + Set VerwerkVolgende = $$$False Do ..LogException(FullFilename, Exception) Do ..EventRaiser.RaiseCorruptedRequestReceivedEvent(FullFilename,..FileAPI.GeefFileReader(FullFilename).GeefStream()) Do ..MoveFileToErrorMap(FullFilename , SubPath) - Set VerwerkVolgende = $$$False + Do ..MarkeerVerwerkBestandOpnieuwAanvraagVerwerkt(FullFilename) } } catch { #dim InnerException As TECH.IException = ##class(TECH.ExceptionHandler).Catch() @@ -141,6 +150,37 @@ Do ..Logger.ErrorMail("Verwerking inkomende AX bestand", ExceptionMessage) ]]> + + +Filenaam:%String +1 + + + + +Filenaam:%String +1 + + Index: vhUnitTest/AXimpl/MessageInProcessor/Verwerk/Test.cls.xml =================================================================== diff -u -r49618 -r49635 --- vhUnitTest/AXimpl/MessageInProcessor/Verwerk/Test.cls.xml (.../Test.cls.xml) (revision 49618) +++ vhUnitTest/AXimpl/MessageInProcessor/Verwerk/Test.cls.xml (.../Test.cls.xml) (revision 49635) @@ -18,13 +18,20 @@ 1 + +AXimpl.VerwerkBestandOpnieuwAanvraagRepository +1 + + aTestName:%String @@ -193,9 +200,18 @@ Do ConfigInMock.VerwachtMethodCall("GetRequestEnvelope", "SalesOrder/Create").DanReturn("AXif.Dynamics.SalesOrderIn.Envelope") Do ConfigInMock.VerwachtMethodCall("GetConverter", "SalesOrder/Create").DanReturn(SalesOrderConverterMock) - #dim MessageInProcessor As AXimpl.MessageInProcessor = ..InitResponseProcessor(FileAPIMock,XmlCorrelaterMock,,ConfigInMock) + Set VerwerkBestandOpnieuwAanvraagRepositoryMock = ##class(vhTest.Mock.AXimpl.VerwerkBestandOpnieuwAanvraagRepository).%New() + Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("BestaatViaBestandnaam",FileList.GetAt(1)).DanReturn($$$False) + Set Aanvraag = ##class(AXimpl.VerwerkBestandOpnieuwAanvraag).%New() + Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("Maak").DanReturn(Aanvraag) + Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("Bewaar",Aanvraag).DanDoeNiks() + + #dim MessageInProcessor As AXimpl.MessageInProcessor = ..InitResponseProcessor(FileAPIMock,XmlCorrelaterMock,,ConfigInMock,VerwerkBestandOpnieuwAanvraagRepositoryMock) Do MessageInProcessor.Verwerk() - + + Do $$$AssertEquals(Aanvraag.Teller,1) + Do $$$AssertEquals(Aanvraag.BestandNaam,FileList.GetAt(1)) + Do VerwerkBestandOpnieuwAanvraagRepositoryMock.Verifieer() Do ConfigInMock.Verifieer() Do SalesOrderConverterMock.Verifieer() Do XmlCorrelaterMock.Verifieer() @@ -225,15 +241,78 @@ Set ConfigInMock = ##class(vhTest.Mock.AXimpl.ConfigIn).%New() Do ConfigInMock.IndienMethodCall("GetRequestEnvelope", "SalesOrder/Create").DanReturn("AXif.Dynamics.SalesOrderIn.Envelope") Do ConfigInMock.IndienMethodCall("GetConverter", "SalesOrder/Create").DanReturn(SalesOrderConverterMock) + + Set VerwerkBestandOpnieuwAanvraagRepositoryMock = ##class(vhTest.Mock.AXimpl.VerwerkBestandOpnieuwAanvraagRepository).%New() + Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("BestaatViaBestandnaam",FileList.GetAt(1)).DanReturn($$$True) + Set Aanvraag1 = ##class(AXimpl.VerwerkBestandOpnieuwAanvraag).%New() + set Aanvraag1.Teller = 5 + Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("GeefViaBestandNaam",FileList.GetAt(1)).DanReturn(Aanvraag1) + Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("Bewaar",Aanvraag1).DanDoeNiks() - #dim MessageInProcessor As AXimpl.MessageInProcessor = ..InitResponseProcessor(FileAPIMock,XmlCorrelaterMock,,ConfigInMock) + Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("BestaatViaBestandnaam",FileList.GetAt(2)).DanReturn($$$False) + Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("BestaatViaBestandnaam",FileList.GetAt(3)).DanReturn($$$False) + + Set Aanvraag = ##class(AXimpl.VerwerkBestandOpnieuwAanvraag).%New() + Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("Maak").DanReturn(Aanvraag).ExactAantalKeer(2) + Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("Bewaar",Aanvraag).DanDoeNiks() + + #dim MessageInProcessor As AXimpl.MessageInProcessor = ..InitResponseProcessor(FileAPIMock,XmlCorrelaterMock,,ConfigInMock,VerwerkBestandOpnieuwAanvraagRepositoryMock) Do MessageInProcessor.Verwerk() + + Do $$$AssertEquals(Aanvraag1.Teller,6) + Do $$$AssertEquals(Aanvraag.Teller,1) + + Do VerwerkBestandOpnieuwAanvraagRepositoryMock.Verifieer() + Do FileAPIMock.Verifieer() +]]> + + + + +1 -FileAPI:TECH.File.FileAPI=..FileAPI,XmlCorrelater:TECH.XMLCorrelater=..XmlCorrelater,EventRaiser:AXimpl.EventRaiser=..EventRaiser,ConfigInMock:AXimpl.ConfigIn="" +FileAPI:TECH.File.FileAPI=..FileAPI,XmlCorrelater:TECH.XMLCorrelater=..XmlCorrelater,EventRaiser:AXimpl.EventRaiser=..EventRaiser,ConfigInMock:AXimpl.ConfigIn="",VerwerkBestandOpnieuwAanvraagRepository:AXimpl.VerwerkBestandOpnieuwAanvraagRepository=..VerwerkBestandOpnieuwAanvraagRepository 1 AXimpl.MessageInProcessor -