public function AcquiaLiftTest::testGetCampaigns in Acquia Lift Connector 7.2
Test AcquiaLiftAPI->getExistingAgents()
File
- tests/
AcquiaLiftAPI.test, line 396 - Unit tests for Acquia Lift module.
Class
- AcquiaLiftTest
- @file Unit tests for Acquia Lift module.
Code
public function testGetCampaigns() {
$lift_api = $this
->getAcquiaLiftAPI();
$lift_api
->getCampaigns();
$logged_requests = DummyAcquiaLiftHttpClient::getLoggedRequests();
$expected_uri = "{$lift_api->getApiUrl()}/campaigns?client_id={$lift_api->getPublicKey()}";
// Confirm the request URI is as expected.
$this
->assertAPIRequestURI($expected_uri, $logged_requests[0]['uri']);
$logs = array();
$this
->assertLogs($logs);
DummyAcquiaLiftHttpClient::clearLoggedRequests();
$lift_api = $this
->getAcquiaLiftAPI(TRUE);
try {
$lift_api
->getCampaigns();
} catch (Exception $e) {
$this
->assertTrue($e instanceof AcquiaLiftException);
}
// Confirm the expected requests and logs.
$this
->assertAPIRequestURI($expected_uri, $logged_requests[0]['uri']);
$logs = array(
array(
'level' => PersonalizeLogLevel::ERROR,
'message' => 'Could not retrieve agents from Lift',
),
);
$this
->assertLogs($logs);
DummyAcquiaLiftHttpClient::clearLoggedRequests();
$response = array(
'error' => 'Campaign does not contain any decision sets.',
);
$lift_api = $this
->getAcquiaLiftAPI(TRUE, $response);
try {
$lift_api
->getCampaigns();
} catch (Exception $e) {
$this
->assertTrue($e instanceof AcquiaLiftServerErrorException);
}
DummyAcquiaLiftHttpClient::clearLoggedRequests();
}