/** * @author nathanhelenihi * @group api * @dataProvider fixtureAuthCfgObject */ public function testCallApi(array $fxt) { if (!$fxt['from_env']) { $this->markTestSkipped('Environment credentials not set.'); } $obj = new LoopBookingList($fxt); $obj->setConfig('dataFormat', 'array'); if (!$obj->isEnabled()) { $this->markTestSkipped('API is disabled!'); } // No optional parameters should throw exception $caught = false; try { $rsp = $obj->callApi(); } catch (\exception $e) { $caught = true; $this->assertInstanceOf('MyAllocator\\phpsdk\\src\\Exception\\ApiException', $e); } if (!$caught) { $this->fail('should have thrown an exception'); } // Arrival parameters $rsp = $obj->callApiWithParams(array('ArrivalStartDate' => '2014-12-08', 'ArrivalEndDate' => '2014-12-15')); $this->assertTrue(isset($rsp['response']['body']['Bookings'])); // Modification parameters $rsp = $obj->callApiWithParams(array('ModificationStartDate' => '2014-12-08', 'ModificationEndDate' => '2014-12-15')); $this->assertTrue(isset($rsp['response']['body']['Bookings'])); // Creation parameters $rsp = $obj->callApiWithParams(array('CreationStartDate' => '2014-12-08', 'CreationEndDate' => '2014-12-15')); $this->assertTrue(isset($rsp['response']['body']['Bookings'])); }
/** * @author nathanhelenihi * @group api * @dataProvider fixtureAuthCfgObject */ public function testCallApi(array $fxt) { if (!$fxt['from_env']) { $this->markTestSkipped('Environment credentials not set.'); } $obj = new LoopBookingList($fxt); $obj->setConfig('dataFormat', 'xml'); if (!$obj->isEnabled()) { $this->markTestSkipped('API is disabled!'); } // Arrival Parameters $auth = $fxt['auth']; $xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n <LoopBookingList>\n <Auth>\n <VendorId>{$auth->vendorId}</VendorId>\n <VendorPassword>{$auth->vendorPassword}</VendorPassword>\n <UserId>{$auth->userId}</UserId>\n <UserPassword>{$auth->userPassword}</UserPassword>\n <PropertyId>{$auth->propertyId}</PropertyId>\n </Auth>\n <ArrivalStartDate>2014-12-08</ArrivalStartDate>\n <ArrivalEndDate>2014-12-15</ArrivalEndDate>\n </LoopBookingList>\n "; $rsp = $obj->callApiWithParams($xml); $this->assertEquals(200, $rsp['response']['code']); $this->assertFalse(strpos($rsp['response']['body'], '<Errors>'), 'Response contains errors!'); // Modification Parameters $xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n <LoopBookingList>\n <Auth>\n <VendorId>{$auth->vendorId}</VendorId>\n <VendorPassword>{$auth->vendorPassword}</VendorPassword>\n <UserId>{$auth->userId}</UserId>\n <UserPassword>{$auth->userPassword}</UserPassword>\n <PropertyId>{$auth->propertyId}</PropertyId>\n </Auth>\n <ModificationStartDate>2014-12-07</ModificationStartDate>\n <ModificationEndDate>2014-12-15</ModificationEndDate>\n </LoopBookingList>\n "; $rsp = $obj->callApiWithParams($xml); $this->assertEquals(200, $rsp['response']['code']); $this->assertFalse(strpos($rsp['response']['body'], '<Errors>'), 'Response contains errors!'); // Arrival Parameters $auth = $fxt['auth']; $xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n <LoopBookingList>\n <Auth>\n <VendorId>{$auth->vendorId}</VendorId>\n <VendorPassword>{$auth->vendorPassword}</VendorPassword>\n <UserId>{$auth->userId}</UserId>\n <UserPassword>{$auth->userPassword}</UserPassword>\n <PropertyId>{$auth->propertyId}</PropertyId>\n </Auth>\n <CreationStartDate>2014-12-08</CreationStartDate>\n <CreationEndDate>2014-12-15</CreationEndDate>\n </LoopBookingList>\n "; $rsp = $obj->callApiWithParams($xml); $this->assertEquals(200, $rsp['response']['code']); $this->assertFalse(strpos($rsp['response']['body'], '<Errors>'), 'Response contains errors!'); }