From 5ae9b55df8c635a4c5808f3907a47c98c98db71b Mon Sep 17 00:00:00 2001 From: dieter Date: Mon, 23 May 2016 17:28:38 +0200 Subject: [PATCH] Simultaneous Changes error check --- src/Amadeus/Client/ResponseHandler/Base.php | 6 +- .../Client/ResponseHandler/BaseTest.php | 16 + ...pnrAddMultiElementsSimultaneousChanges.txt | 676 ++++++++++++++++++ 3 files changed, 695 insertions(+), 3 deletions(-) create mode 100644 tests/Amadeus/Client/ResponseHandler/testfiles/pnrAddMultiElementsSimultaneousChanges.txt diff --git a/src/Amadeus/Client/ResponseHandler/Base.php b/src/Amadeus/Client/ResponseHandler/Base.php index 954b4aa63..aa8fbea26 100644 --- a/src/Amadeus/Client/ResponseHandler/Base.php +++ b/src/Amadeus/Client/ResponseHandler/Base.php @@ -100,7 +100,7 @@ protected function analyzePnrRetrieveResponse($response) $errorTextNodeList = $domXpath->query($queryAllErrorMsg); $message = $this->makeMessageFromMessagesNodeList($errorTextNodeList); - $analyzeResponse->errors[] = new Result\NotOk($code, $message, 'general'); + $analyzeResponse->errors[] = new Result\NotOk($code, trim($message), 'general'); } //Segment errors: @@ -116,7 +116,7 @@ protected function analyzePnrRetrieveResponse($response) $errorTextNodeList = $domXpath->query($querySegmentErrorMsg); $message = $this->makeMessageFromMessagesNodeList($errorTextNodeList); - $analyzeResponse->errors[] = new Result\NotOk($code, $message, 'segment'); + $analyzeResponse->errors[] = new Result\NotOk($code, trim($message), 'segment'); } //Element errors: @@ -133,7 +133,7 @@ protected function analyzePnrRetrieveResponse($response) $errorTextNodeList = $domXpath->query($queryElementErrorMsg); $message = $this->makeMessageFromMessagesNodeList($errorTextNodeList); - $analyzeResponse->errors[] = new Result\NotOk($code, $message, 'element'); + $analyzeResponse->errors[] = new Result\NotOk($code, trim($message), 'element'); } diff --git a/tests/Amadeus/Client/ResponseHandler/BaseTest.php b/tests/Amadeus/Client/ResponseHandler/BaseTest.php index 6af60a550..ec2ef8db4 100644 --- a/tests/Amadeus/Client/ResponseHandler/BaseTest.php +++ b/tests/Amadeus/Client/ResponseHandler/BaseTest.php @@ -35,6 +35,22 @@ */ class BaseTest extends BaseTestCase { + public function testCanFindSimultaneousChangesErrorMessageInPnrReply() + { + $respHandler = new ResponseHandler\Base(); + + $sendResult = new SendResult(); + $sendResult->responseXml = $this->getTestFile('pnrAddMultiElementsSimultaneousChanges.txt'); + + $result = $respHandler->analyzeResponse($sendResult, 'PNR_AddMultiElements'); + + $this->assertEquals(Result::STATUS_ERROR, $result->status); + $this->assertEquals(1, count($result->errors)); + $this->assertEquals('8111', $result->errors[0]->code); + $this->assertEquals("SIMULTANEOUS CHANGES TO PNR - USE WRA/RT TO PRINT OR IGNORE", $result->errors[0]->text); + $this->assertEquals('general', $result->errors[0]->level); + } + public function testCanFindTopLevelErrorMessageInPnrReply() { $respHandler = new ResponseHandler\Base(); diff --git a/tests/Amadeus/Client/ResponseHandler/testfiles/pnrAddMultiElementsSimultaneousChanges.txt b/tests/Amadeus/Client/ResponseHandler/testfiles/pnrAddMultiElementsSimultaneousChanges.txt new file mode 100644 index 000000000..841c476c9 --- /dev/null +++ b/tests/Amadeus/Client/ResponseHandler/testfiles/pnrAddMultiElementsSimultaneousChanges.txt @@ -0,0 +1,676 @@ + + + + + + 8111 + EC + 1A + + + + + 3 + M + 1 + + SIMULTANEOUS CHANGES TO PNR - USE WRA/RT TO PRINT OR IGNORE + + + + + + 1A + YL92CN + 200516 + + + + + + + + 1A + T5XQD3 + C + + + + + + RP + WSSU + BRUXXXXXX + + + BRUXXXXXX + + BRU + + BRUXXXXXX + 9998WS + 200516 + 0834 + + + + + 3 + P12 + + --- TST RLR RLP OFR --- + + + + TST + + + RLR + + + RLP + + + OFR + + + PAD + + + + + + BRUXXXXXX + + N + + + + 1A + BRU + + + + + BE + + + + + + + BRUXXXXXX + + N + + + + 1A + BRU + + + + + BE + + + + + + + BRUXXXXXX + + N + + + + 1A + BRU + + + + + BE + + + + + + + 3 + + + + 2 + + + + 2016 + 8 + 12 + + + + + MOD + + + + + + + PT + 3 + + NM + 1 + + + + + JONES + 1 + + + DUNCAN MR + ADT + + + + + 706 + 30051971 + + + + + + + 1 + ADT + + + UN + Y + Y + JONES + DUNCAN MR + + + + + 706 + 30051971 + + + + + + + + PT + 2 + + NM + 2 + + + + + BOWIE + 1 + + + DAVID MR + ADT + + + + + 706 + 08011947 + + + + + + + 1 + ADT + + + UN + Y + Y + BOWIE + DAVID MR + + + + + 706 + 08011947 + + + + + + + + + + ST + 1 + + RU + 3 + + + + 230516 + + + HAG + + + 1A + + + + + 32 + + + + 2 + HK + + + + 3 + + -GENERIC TRAVEL REQUEST + + + + + PT + 2 + + + PT + 3 + + + + + + + ST + 4 + + AIR + 4 + + + + 120816 + 0700 + 120816 + 0900 + + + BRU + + + FCO + + + AZ + + + 157 + C + + + ET + + + + + 1 + + + + + AZ + SZEQNK + + + + 2 + HK + + + + 320 + 0 + 5 + + + 1 + + + + + + + + + + + + + + + RF + + + + 3 + P22 + + DUMMY + + + + + + OT + 2 + + AP + 5 + + + + 3 + 5 + + 3222579921 + + + + + + OT + 1 + + AP + 6 + + + + 3 + P02 + + DAVID.BOWIE@DUMMY.COM + + + + + + OT + 51 + + TK + 7 + + + PAX + + TL + 200516 + + BRUXXXXXX + + + + + + + OT + 81 + + SSR + 8 + + + + DOCS + HK + 1 + AZ + ////30MAY71/M//JONES/DUNCAN + + + + + PT + 3 + + + + + + + OT + 82 + + SSR + 9 + + + + DOCS + HK + 1 + AZ + ////08JAN47/M//BOWIE/DAVID + + + + + PT + 2 + + + + + + + OT + 74 + + OS + 10 + + + + 3 + 28 + YY + + DIT IS EEN TEST + + + + + + OT + 76 + + OS + 11 + + + + 3 + 28 + YY + + NOG EEN TEST + + + + + + OT + 3 + + RM + 12 + + + + RM + TID360 + + + + + RM + TID360 + + + + + + + OT + 43 + + RM + 13 + + + + RM + TRIP NAME: BUSINESS TRIP AS TEST FOR DUMMY + + + + + RM + TRIP NAME: BUSINESS TRIP AS TEST FOR DUMMY + + + + + + + OT + 63 + + RM + 21 + + + + RM + OFFERS 1/2 + + + + + RM + OFFERS 1/2 + + + + + + + OT + 79 + + RM + 22 + + + + RM + TEST REMARK + + + + + RM + TEST REMARK + + + + + + + OT + 72 + + FE + 63 + + + + 3 + 10 + + PAX AZ/AP ONLY + + + + ST + 4 + + + PT + 2 + + + PT + 3 + + + + + + + OT + 73 + + FV + 64 + + + + 3 + P18 + + PAX AZ + + + + ST + 4 + + + PT + 2 + + + PT + 3 + + + + + \ No newline at end of file