/home/desid573/public_html/app/braintree/tests/unit
Edit: /home/desid573/public_html/app/braintree/tests/unit/UtilTest.php (12998B)
[
[
"message" => "error_message",
"extensions" => [
"errorClass" => "AUTHENTICATION"
]
]
]
];
Braintree\Util::throwGraphQLResponseException($response);
}
/**
* @expectedException Braintree\Exception\Authorization
*/
public function testThrowGraphQLAuthorizationException()
{
$response = [
"errors" => [
[
"message" => "error_message",
"extensions" => [
"errorClass" => "AUTHORIZATION"
]
]
]
];
Braintree\Util::throwGraphQLResponseException($response);
}
/**
* @expectedException Braintree\Exception\NotFound
*/
public function testThrowGraphQLNotFoundException()
{
$response = [
"errors" => [
[
"message" => "error_message",
"extensions" => [
"errorClass" => "NOT_FOUND"
]
]
]
];
Braintree\Util::throwGraphQLResponseException($response);
}
/**
* @expectedException Braintree\Exception\UpgradeRequired
*/
public function testThrowGraphQLUnsupportedClientException()
{
$response = [
"errors" => [
[
"message" => "error_message",
"extensions" => [
"errorClass" => "UNSUPPORTED_CLIENT"
]
]
]
];
Braintree\Util::throwGraphQLResponseException($response);
}
/**
* @expectedException Braintree\Exception\TooManyRequests
*/
public function testThrowGraphQLResourceLimitException()
{
$response = [
"errors" => [
[
"message" => "error_message",
"extensions" => [
"errorClass" => "RESOURCE_LIMIT"
]
]
]
];
Braintree\Util::throwGraphQLResponseException($response);
}
/**
* @expectedException Braintree\Exception\ServerError
*/
public function testThrowGraphQLInternalException()
{
$response = [
"errors" => [
[
"message" => "error_message",
"extensions" => [
"errorClass" => "INTERNAL"
]
]
]
];
Braintree\Util::throwGraphQLResponseException($response);
}
/**
* @expectedException Braintree\Exception\DownForMaintenance
*/
public function testThrowGraphQLServiceAvailabilityException()
{
$response = [
"errors" => [
[
"message" => "error_message",
"extensions" => [
"errorClass" => "SERVICE_AVAILABILITY"
]
]
]
];
Braintree\Util::throwGraphQLResponseException($response);
}
/**
* @expectedException Braintree\Exception\Unexpected
*/
public function testThrowGraphQLUnexpectedException()
{
$response = [
"errors" => [
[
"message" => "error_message",
"extensions" => [
"errorClass" => "UNDOCUMENTED_ERROR"
]
]
]
];
Braintree\Util::throwGraphQLResponseException($response);
}
public function testDoesNotThrowGraphQLValidationException()
{
$response = [
"errors" => [
[
"message" => "error_message",
"extensions" => [
"errorClass" => "VALIDATION"
]
]
]
];
Braintree\Util::throwGraphQLResponseException($response);
}
/**
* @expectedException Braintree\Exception\Unexpected
*/
public function testThrowGraphQLUnexpectedExceptionAndNotValidationExceptionWhenBothArePresent()
{
$response = [
"errors" => [
[
"message" => "validation_error",
"extensions" => [
"errorClass" => "VALIDATION"
]
],
[
"message" => "error_message",
"extensions" => [
"errorClass" => "UNDOCUMENTED_ERROR"
]
]
]
];
Braintree\Util::throwGraphQLResponseException($response);
}
public function testExtractAttributeAsArrayReturnsEmptyArray()
{
$attributes = [];
$this->assertEquals([], Braintree\Util::extractAttributeAsArray($attributes, "foo"));
}
public function testExtractAttributeAsArrayReturnsSingleElementArray()
{
$attributes = ['verification' => 'val1'];
$this->assertEquals(['val1'], Braintree\Util::extractAttributeAsArray($attributes, "verification"));
}
public function testExtractAttributeAsArrayReturnsArrayOfObjects()
{
$attributes = ['verification' => [['status' => 'val1']]];
$expected = new Braintree\CreditCardVerification(['status' => 'val1']);
$this->assertEquals([$expected], Braintree\Util::extractAttributeAsArray($attributes, "verification"));
}
public function testDelimeterToUnderscore()
{
$this->assertEquals("a_b_c", Braintree\Util::delimiterToUnderscore("a-b-c"));
}
public function testCleanClassName()
{
$cn = Braintree\Util::cleanClassName('Braintree\Transaction');
$this->assertEquals('transaction', $cn);
}
public function testBuildClassName()
{
$cn = Braintree\Util::buildClassName('creditCard');
$this->assertEquals('Braintree\CreditCard', $cn);
}
public function testimplodeAssociativeArray()
{
$array = [
'test1' => 'val1',
'test2' => 'val2',
'test3' => new DateTime('2015-05-15 17:21:00'),
];
$string = Braintree\Util::implodeAssociativeArray($array);
$this->assertEquals('test1=val1, test2=val2, test3=Fri, 15 May 2015 17:21:00 +0000', $string);
}
public function testVerifyKeys_withThreeLevels()
{
$signature = [
'firstName',
['creditCard' => ['number', ['billingAddress' => ['streetAddress']]]]
];
$data = [
'firstName' => 'Dan',
'creditCard' => [
'number' => '5100',
'billingAddress' => [
'streetAddress' => '1 E Main St'
]
]
];
Braintree\Util::verifyKeys($signature, $data);
}
public function testVerifyKeys_withArrayOfArrays()
{
$signature = [
['addOns' => [['update' => ['amount', 'existingId']]]]
];
$goodData = [
'addOns' => [
'update' => [
[
'amount' => '50.00',
'existingId' => 'increase_10',
],
[
'amount' => '60.00',
'existingId' => 'increase_20',
]
]
]
];
Braintree\Util::verifyKeys($signature, $goodData);
$badData = [
'addOns' => [
'update' => [
[
'invalid' => '50.00',
]
]
]
];
$this->setExpectedException('InvalidArgumentException');
Braintree\Util::verifyKeys($signature, $badData);
}
public function testVerifyKeys_arrayAsValue()
{
$signature = ['key'];
$data = ['key' => ['value']];
$this->setExpectedException('InvalidArgumentException');
Braintree\Util::verifyKeys($signature, $data);
}
public function testVerifyKeys()
{
$signature = [
'amount', 'customerId', 'orderId', 'channel', 'paymentMethodToken', 'type',
['creditCard' =>
['token', 'cvv', 'expirationDate', 'number'],
],
['customer' =>
[
'id', 'company', 'email', 'fax', 'firstName',
'lastName', 'phone', 'website'],
],
['billing' =>
[
'firstName', 'lastName', 'company', 'countryName',
'extendedAddress', 'locality', 'postalCode', 'region',
'streetAddress'],
],
['shipping' =>
[
'firstName', 'lastName', 'company', 'countryName',
'extendedAddress', 'locality', 'postalCode', 'region',
'streetAddress'],
],
['options' =>
[
'storeInVault', 'submitForSettlement',
'addBillingAddressToPaymentMethod'],
],
['customFields' => ['_anyKey_']
],
];
// test valid
$userKeys = [
'amount' => '100.00',
'customFields' => ['HEY' => 'HO',
'WAY' => 'NO'],
'creditCard' => [
'number' => '5105105105105100',
'expirationDate' => '05/12',
],
];
$n = Braintree\Util::verifyKeys($signature, $userKeys);
$this->assertNull($n);
$userKeys = [
'amount' => '100.00',
'customFields' => ['HEY' => 'HO',
'WAY' => 'NO'],
'bogus' => 'FAKE',
'totallyFake' => 'boom',
'creditCard' => [
'number' => '5105105105105100',
'expirationDate' => '05/12',
],
];
// test invalid
$this->setExpectedException('InvalidArgumentException');
Braintree\Util::verifyKeys($signature, $userKeys);
}
/**
* @expectedException Braintree\Exception\ValidationsFailed
*/
public function testReturnException()
{
$this->success = false;
Braintree\Util::returnObjectOrThrowException('Braintree\Transaction', $this);
}
public function testReturnObject()
{
$this->success = true;
$this->transaction = new stdClass();
$t = Braintree\Util::returnObjectOrThrowException('Braintree\Transaction', $this);
$this->assertInternalType('object', $t);
}
}