Skip to content

Commit

Permalink
Extra unittest coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
DerMika committed Feb 5, 2016
1 parent 9041991 commit e574d5c
Show file tree
Hide file tree
Showing 5 changed files with 104 additions and 1 deletion.
18 changes: 17 additions & 1 deletion tests/Amadeus/Client/ParamsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -115,10 +115,12 @@ public function testCanCreateParamsWithOverrideSessionHandlerAndRequestCreator()
{
$dummySessionHandler = $this->getMockBuilder('Amadeus\Client\Session\Handler\HandlerInterface')->getMock();
$dummyRequestCreator = $this->getMockBuilder('Amadeus\Client\RequestCreator\RequestCreatorInterface')->getMock();
$dummyResponseHandler = $this->getMockBuilder('Amadeus\Client\ResponseHandler\ResponseHandlerInterface')->getMock();

$theParamArray = [
'sessionHandler' => $dummySessionHandler,
'requestCreator' => $dummyRequestCreator
'requestCreator' => $dummyRequestCreator,
'responseHandler' => $dummyResponseHandler,
];

$params = new Params($theParamArray);
Expand All @@ -127,6 +129,20 @@ public function testCanCreateParamsWithOverrideSessionHandlerAndRequestCreator()
$this->assertNull($params->sessionHandlerParams);
$this->assertInstanceOf('Amadeus\Client\Session\Handler\HandlerInterface', $params->sessionHandler);
$this->assertInstanceOf('Amadeus\Client\RequestCreator\RequestCreatorInterface', $params->requestCreator);
$this->assertInstanceOf('Amadeus\Client\ResponseHandler\ResponseHandlerInterface', $params->responseHandler);
}

public function testCanLoadFromArrayParamObjects()
{
$theParamArray = [
'sessionHandlerParams' => new Params\SessionHandlerParams(),
'requestCreatorParams' => new Params\RequestCreatorParams()
];

$params = new Params($theParamArray);

$this->assertInstanceOf('Amadeus\Client\Params\SessionHandlerParams', $params->sessionHandlerParams);
$this->assertInstanceOf('Amadeus\Client\Params\RequestCreatorParams', $params->requestCreatorParams);
}
}

47 changes: 47 additions & 0 deletions tests/Amadeus/Client/Session/Handler/SoapHeader4Test.php
Original file line number Diff line number Diff line change
Expand Up @@ -404,6 +404,53 @@ public function testCanReadSessionDataFromResponse()
$this->assertEquals($expected, $actual);
}

public function testCanSendMessage()
{
$overrideSoapClient = $this->getMock(
'Amadeus\Client\SoapClient',
['__getLastRequest', '__getLastResponse', 'PNR_Retrieve'],
[],
'',
false
);

$dummyPnrRequest = $this->getTestFile('dummyPnrRequest.txt');
$dummyPnrReply = $this->getTestFile('sessionheadertestresponse.txt');
$dummyPnrReplyExtractedMessage = $this->getTestFile('dummyPnrReplyExtractedMessage.txt');

$overrideSoapClient
->expects($this->atLeastOnce())
->method('__getLastRequest')
->will($this->returnValue($dummyPnrRequest));

$overrideSoapClient
->expects($this->atLeastOnce())
->method('__getLastResponse')
->will($this->returnValue($dummyPnrReply));

$overrideSoapClient
->expects($this->any())
->method('PNR_Retrieve')
->will($this->returnValue(''));

$sessionHandlerParams = $this->makeSessionHandlerParams($overrideSoapClient);
$sessionHandler = new SoapHeader4($sessionHandlerParams);

$pnrRetrieveMessage = new Client\Struct\Pnr\Retrieve(
Client\Struct\Pnr\Retrieve::RETR_TYPE_BY_RECLOC,
'ABC123'
);

$messageResponse = $sessionHandler->sendMessage(
'PNR_Retrieve',
$pnrRetrieveMessage,
['asString'=>true,'endSession'=>false]
);

$this->assertInternalType('string', $messageResponse);
$this->assertEquals($dummyPnrReplyExtractedMessage, $messageResponse);
}

/**
* @return SessionHandlerParams
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<PNR_Reply xmlns="http://xml.amadeus.com/PNRACC_14_2_1A"><pnrHeader><reservationInfo><reservation><companyId>1A</companyId><controlNumber>25YDLB</controlNumber><date>270116</date><time>1520</time></reservation></reservationInfo></pnrHeader><securityInformation><responsibilityInformation><typeOfPnrElement>RP</typeOfPnrElement><agentId>1ARC</agentId><officeId>BRU1A0980</officeId><iataCode>00081900</iataCode></responsibilityInformation><queueingInformation><queueingOfficeId>BRU1A0980</queueingOfficeId></queueingInformation><cityCode>EHD</cityCode><secondRpInformation><creationOfficeId>BRU1A0980</creationOfficeId><agentSignature>2003DD</agentSignature><creationDate>270116</creationDate><creatorIataCode>00081900</creatorIataCode><creationTime>1519</creationTime></secondRpInformation></securityInformation><freetextData><freetextDetail><subjectQualifier>3</subjectQualifier><type>P12</type></freetextDetail><longFreetext>--- RLR ---</longFreetext></freetextData><pnrHeaderTag><statusInformation><indicator>RLR</indicator></statusInformation></pnrHeaderTag><sbrPOSDetails><sbrUserIdentificationOwn><originIdentification><originatorId>00081900</originatorId><inHouseIdentification1>BRU1A0980</inHouseIdentification1></originIdentification><originatorTypeCode>T</originatorTypeCode></sbrUserIdentificationOwn><sbrSystemDetails><deliveringSystem><companyId>1A</companyId><locationId>BRU</locationId></deliveringSystem></sbrSystemDetails><sbrPreferences><userPreferences><codedCountry>BE</codedCountry></userPreferences></sbrPreferences></sbrPOSDetails><sbrCreationPosDetails><sbrUserIdentificationOwn><originIdentification><originatorId>00081900</originatorId><inHouseIdentification1>BRU1A0980</inHouseIdentification1></originIdentification><originatorTypeCode>T</originatorTypeCode></sbrUserIdentificationOwn><sbrSystemDetails><deliveringSystem><companyId>1A</companyId><locationId>BRU</locationId></deliveringSystem></sbrSystemDetails><sbrPreferences><userPreferences><codedCountry>BE</codedCountry></userPreferences></sbrPreferences></sbrCreationPosDetails><sbrUpdatorPosDetails><sbrUserIdentificationOwn><originIdentification><inHouseIdentification1>AMSKL0571</inHouseIdentification1></originIdentification><originatorTypeCode>A</originatorTypeCode></sbrUserIdentificationOwn><sbrSystemDetails><deliveringSystem><companyId>KL</companyId><locationId>AMS</locationId></deliveringSystem></sbrSystemDetails><sbrPreferences><userPreferences><codedCountry>NL</codedCountry></userPreferences></sbrPreferences></sbrUpdatorPosDetails><technicalData><enveloppeNumberData><sequenceDetails><number>4</number></sequenceDetails></enveloppeNumberData><lastTransmittedEnvelopeNumber><currentRecord>3</currentRecord></lastTransmittedEnvelopeNumber><purgeDateData><dateTime><year>2016</year><month>6</month><day>28</day></dateTime></purgeDateData></technicalData><travellerInfo><elementManagementPassenger><reference><qualifier>PT</qualifier><number>1</number></reference><segmentName>NM</segmentName><lineNumber>1</lineNumber></elementManagementPassenger><passengerData><travellerInformation><traveller><surname>DEVLIEGHERE</surname><quantity>1</quantity></traveller><passenger><firstName>DIETER MR</firstName></passenger></travellerInformation></passengerData><enhancedPassengerData><enhancedTravellerInformation><travellerNameInfo><quantity>1</quantity></travellerNameInfo><otherPaxNamesDetails><nameType>UN</nameType><referenceName>Y</referenceName><displayedName>Y</displayedName><surname>DEVLIEGHERE</surname><givenName>DIETER MR</givenName></otherPaxNamesDetails></enhancedTravellerInformation></enhancedPassengerData></travellerInfo><originDestinationDetails><originDestination></originDestination><itineraryInfo><elementManagementItinerary><reference><qualifier>ST</qualifier><number>1</number></reference><segmentName>AIR</segmentName><lineNumber>2</lineNumber></elementManagementItinerary><travelProduct><product><depDate>240616</depDate><depTime>1050</depTime><arrDate>240616</arrDate><arrTime>1220</arrTime></product><boardpointDetail><cityCode>BRU</cityCode></boardpointDetail><offpointDetail><cityCode>OPO</cityCode></offpointDetail><companyDetail><identification>SN</identification></companyDetail><productDetails><identification>3811</identification><classOfService>J</classOfService></productDetails><typeDetail><detail>ET</detail></typeDetail></travelProduct><itineraryMessageAction><business><function>1</function></business></itineraryMessageAction><itineraryReservationInfo><reservation><companyId>SN</companyId><controlNumber>DPJF3W</controlNumber></reservation></itineraryReservationInfo><relatedProduct><quantity>1</quantity><status>HK</status></relatedProduct><flightDetail><productDetails><equipment>319</equipment><numOfStops>0</numOfStops><weekDay>5</weekDay></productDetails><timeDetail><checkinTime>1000</checkinTime></timeDetail><facilities><entertainement>M</entertainement><entertainementDescription>S</entertainementDescription></facilities></flightDetail><selectionDetails><selection><option>P2</option></selection></selectionDetails><markerRailTour></markerRailTour></itineraryInfo><itineraryInfo><elementManagementItinerary><reference><qualifier>ST</qualifier><number>2</number></reference><segmentName>AIR</segmentName><lineNumber>3</lineNumber></elementManagementItinerary><travelProduct><product><depDate>280616</depDate><depTime>0840</depTime><arrDate>280616</arrDate><arrTime>1215</arrTime></product><boardpointDetail><cityCode>OPO</cityCode></boardpointDetail><offpointDetail><cityCode>AMS</cityCode></offpointDetail><companyDetail><identification>KL</identification></companyDetail><productDetails><identification>2588</identification><classOfService>Y</classOfService></productDetails><typeDetail><detail>ET</detail></typeDetail></travelProduct><itineraryMessageAction><business><function>1</function></business></itineraryMessageAction><itineraryReservationInfo><reservation><companyId>KL</companyId><controlNumber>25YDLB</controlNumber></reservation></itineraryReservationInfo><relatedProduct><quantity>1</quantity><status>HK</status></relatedProduct><flightDetail><productDetails><equipment>73W</equipment><numOfStops>0</numOfStops><weekDay>2</weekDay></productDetails></flightDetail><selectionDetails><selection><option>P2</option></selection></selectionDetails><itineraryfreeFormText><freeTextQualification><textSubjectQualifier>3</textSubjectQualifier></freeTextQualification><freeText> OPERATED BY TRANSAVIA AIRLINES</freeText></itineraryfreeFormText><markerRailTour></markerRailTour></itineraryInfo><itineraryInfo><elementManagementItinerary><reference><qualifier>ST</qualifier><number>3</number></reference><segmentName>AIR</segmentName><lineNumber>4</lineNumber></elementManagementItinerary><travelProduct><product><depDate>280616</depDate><depTime>1333</depTime><arrDate>280616</arrDate><arrTime>1508</arrTime></product><boardpointDetail><cityCode>AMS</cityCode></boardpointDetail><offpointDetail><cityCode>ZYR</cityCode></offpointDetail><companyDetail><identification>KL</identification></companyDetail><productDetails><identification>2973</identification><classOfService>Y</classOfService></productDetails><typeDetail><detail>ET</detail></typeDetail></travelProduct><itineraryMessageAction><business><function>1</function></business></itineraryMessageAction><itineraryReservationInfo><reservation><companyId>KL</companyId><controlNumber>25YDLB</controlNumber></reservation></itineraryReservationInfo><relatedProduct><quantity>1</quantity><status>HK</status></relatedProduct><flightDetail><productDetails><equipment>TRN</equipment><numOfStops>1</numOfStops><weekDay>2</weekDay></productDetails></flightDetail><selectionDetails><selection><option>P2</option></selection></selectionDetails><itineraryfreeFormText><freeTextQualification><textSubjectQualifier>3</textSubjectQualifier></freeTextQualification><freeText> OPERATED BY ACCESRAIL</freeText></itineraryfreeFormText><markerRailTour></markerRailTour></itineraryInfo></originDestinationDetails><segmentGroupingInfo><groupingCode>CNX</groupingCode><marriageDetail><tatooNum>2</tatooNum></marriageDetail><marriageDetail><tatooNum>3</tatooNum></marriageDetail></segmentGroupingInfo><dataElementsMaster><marker2></marker2><dataElementsIndiv><elementManagementData><reference><qualifier>OT</qualifier><number>6</number></reference><segmentName>AP</segmentName><lineNumber>5</lineNumber></elementManagementData><otherDataFreetext><freetextDetail><subjectQualifier>3</subjectQualifier><type>P02</type></freetextDetail><longFreetext>DIETER.DEVLIEGHERE@BENELUX.AMADEUS.COM</longFreetext></otherDataFreetext></dataElementsIndiv><dataElementsIndiv><elementManagementData><reference><qualifier>OT</qualifier><number>7</number></reference><segmentName>TK</segmentName><lineNumber>6</lineNumber></elementManagementData><ticketElement><ticket><indicator>OK</indicator><date>270116</date><officeId>BRU1A0980</officeId></ticket></ticketElement></dataElementsIndiv><dataElementsIndiv><elementManagementData><reference><qualifier>OT</qualifier><number>19</number></reference><segmentName>SSR</segmentName><lineNumber>7</lineNumber></elementManagementData><serviceRequest><ssr><type>OTHS</type><status> </status><companyId>1A</companyId><freeText>NOSHOW WILL RESULT IN ADM IF UNTKTD/BRUSN 27JAN</freeText></ssr></serviceRequest></dataElementsIndiv><dataElementsIndiv><elementManagementData><reference><qualifier>OT</qualifier><number>21</number></reference><segmentName>SSR</segmentName><lineNumber>8</lineNumber></elementManagementData><serviceRequest><ssr><type>ADTK</type><status> </status><companyId>1A</companyId><freeText>TO KL BY 24JUN16/1800Z OTHERWISE WILL BE XXLD</freeText></ssr></serviceRequest></dataElementsIndiv><dataElementsIndiv><elementManagementData><reference><qualifier>OT</qualifier><number>18</number></reference><segmentName>OS</segmentName><lineNumber>9</lineNumber></elementManagementData><otherDataFreetext><freetextDetail><subjectQualifier>3</subjectQualifier><type>28</type><companyId>KL</companyId></freetextDetail><longFreetext>PLS VISIT WWW.SNCB-EUROPE.COM/AIRRAIL</longFreetext></otherDataFreetext></dataElementsIndiv><dataElementsIndiv><elementManagementData><reference><qualifier>OT</qualifier><number>20</number></reference><segmentName>RC</segmentName><lineNumber>10</lineNumber></elementManagementData><miscellaneousRemarks><remarks><type>RC</type><freetext>RESTRICTED</freetext></remarks></miscellaneousRemarks></dataElementsIndiv></dataElementsMaster></PNR_Reply>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://xml.amadeus.com/PNRRET_14_2_1A" xmlns:ns2="http://www.w3.org/2005/08/addressing" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-secext-1.0.xsd" xmlns:ns4="http://xml.amadeus.com/2010/06/Security_v1"><SOAP-ENV:Header><ns2:MessageID>FAEA565D-566D-4AD8-ACDF-3A144007151E</ns2:MessageID><ns2:Action>http://webservices.amadeus.com/PNRRET_14_2_1A</ns2:Action><ns2:To>https://nodeD1.test.webservices.amadeus.com/ENDPOINT</ns2:To><oas:Security xmlns:oas="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <oas:UsernameToken xmlns:oas1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" oas1:Id="UsernameToken-1"> <oas:Username>USERID</oas:Username> <oas:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">NONCE</oas:Nonce> <oas:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">PWDIGEST</oas:Password> <oas1:Created>2016-01-27T16:40:36:497Z</oas1:Created> </oas:UsernameToken> </oas:Security><ns4:AMA_SecurityHostedUser><ns4:UserID POS_Type="1" PseudoCityCode="OFFICE" AgentDutyCode="SU" RequestorType="U"/></ns4:AMA_SecurityHostedUser></SOAP-ENV:Header><SOAP-ENV:Body><ns1:PNR_Retrieve><ns1:retrievalFacts><ns1:retrieve><ns1:type>2</ns1:type></ns1:retrieve><ns1:reservationOrProfileIdentifier><ns1:reservation><ns1:controlNumber>25YDLB</ns1:controlNumber></ns1:reservation></ns1:reservationOrProfileIdentifier></ns1:retrievalFacts></ns1:PNR_Retrieve></SOAP-ENV:Body></SOAP-ENV:Envelope>
Loading

0 comments on commit e574d5c

Please sign in to comment.