function acquia_connector_test_nspi_update in Acquia Connector 7.2
Same name and namespace in other branches
- 7.3 acquia_agent/tests/acquia_connector_test.module \acquia_connector_test_nspi_update()
1 call to acquia_connector_test_nspi_update()
- acquia_connector_test_xmlrpc_server_emulator in acquia_agent/
tests/ acquia_connector_test.module
1 string reference to 'acquia_connector_test_nspi_update'
- acquia_connector_test_xmlrpc in acquia_agent/
tests/ acquia_connector_test.module
File
- acquia_agent/
tests/ acquia_connector_test.module, line 293 - Test endpoint for Acquia Connector XML-RPC calls.
Code
function acquia_connector_test_nspi_update($data) {
$fields = array(
'time' => 'is_numeric',
'nonce' => 'is_string',
'hash' => 'is_string',
);
$result = acquia_connector_test_basic_authenticator($fields, $data);
if (!empty($result->is_error)) {
return $result;
}
if (!empty($data['authenticator']['identifier'])) {
if ($data['authenticator']['identifier'] != ACQTEST_ID && $data['authenticator']['identifier'] != ACQTEST_ERROR_ID) {
return xmlrpc_error(ACQTEST_SUBSCRIPTION_VALIDATION_ERROR, t('Subscription not found'));
}
if ($data['authenticator']['identifier'] == ACQTEST_ERROR_ID) {
return FALSE;
}
else {
$result = acquia_connector_test_validate_authenticator($data);
$spi_data = $data['body'];
$result->body = array(
'spi_data_received' => TRUE,
);
if (isset($spi_data['spi_def_update'])) {
$result->body['update_spi_definition'] = TRUE;
}
// Reflect send_method as nspi_messages if set.
if (isset($spi_data['send_method'])) {
$result->body['nspi_messages'][] = $spi_data['send_method'];
}
$result->authenticator['hash'] = _acquia_agent_hmac($result->secret['key'], $result->authenticator['time'], $result->authenticator['nonce'], $result->body);
if (isset($spi_data['test_validation_error'])) {
$result->authenticator['nonce'] = 'TEST';
// Force a validation fail.
}
unset($result->secret);
return (array) $result;
}
}
else {
return xmlrpc_error(ACQTEST_SUBSCRIPTION_VALIDATION_ERROR, t('Invalid arguments'));
}
}