public function testAuthorize()
{
$client = new Client($this->configParams);
$fieldMappings = array('merchant_id' => 'SellerId', 'amazon_order_reference_id' => 'AmazonOrderReferenceId', 'authorization_amount' => 'AuthorizationAmount.Amount', 'currency_code' => 'AuthorizationAmount.CurrencyCode', 'authorization_reference_id' => 'AuthorizationReferenceId', 'capture_now' => 'CaptureNow', 'seller_authorization_note' => 'SellerAuthorizationNote', 'transaction_timeout' => 'TransactionTimeout', 'soft_descriptor' => 'SoftDescriptor', 'mws_auth_token' => 'MWSAuthToken');
$action = 'Authorize';
$parameters = $this->setParametersAndPost($fieldMappings, $action);
$expectedParameters = $parameters['expectedParameters'];
$apiCallParams = $parameters['apiCallParams'];
$expectedStringParams = $this->callPrivateMethod($client, 'calculateSignatureAndParametersToString', $expectedParameters);
$response = $client->authorize($apiCallParams);
$apiParametersString = $client->getParameters();
$this->assertEquals($apiParametersString, $expectedStringParams);
}