function testFromNonce_ReturnsErrorWhenNonceIsConsumed()
 {
     $customer = Braintree_Customer::createNoValidate();
     $http = new Braintree_HttpClientApi(Braintree_Configuration::$global);
     $nonce = $http->nonce_for_new_card(array("credit_card" => array("number" => "4009348888881881", "expirationMonth" => "11", "expirationYear" => "2099"), "customerId" => $customer->id));
     Braintree_CreditCard::fromNonce($nonce);
     $this->setExpectedException('Braintree_Exception_NotFound', "consumed");
     Braintree_CreditCard::fromNonce($nonce);
 }
 function testFromNonce_ReturnsErrorWhenNonceIsLocked()
 {
     $customer = Braintree_Customer::createNoValidate();
     $clientTokenOptions = array();
     $clientToken = json_decode(Braintree_TestHelper::decodedClientToken($clientTokenOptions));
     $sharedCustomerIdentifier = "fake_identifier_" . rand();
     $options = array("credit_card" => array("number" => "4009348888881881", "expirationMonth" => "11", "expirationYear" => "2099"), "share" => true);
     $options["authorization_fingerprint"] = $clientToken->authorizationFingerprint;
     $options["shared_customer_identifier"] = $sharedCustomerIdentifier;
     $options["shared_customer_identifier_type"] = "testing";
     $response = Braintree_HttpClientApi::post('/client_api/v1/payment_methods/credit_cards.json', json_encode($options));
     $this->assertEquals(201, $response["status"]);
     unset($options["credit_card"]);
     $response = Braintree_HttpClientApi::get_cards($options);
     $body = json_decode($response["body"]);
     $nonce = $body->paymentMethods[0]->nonce;
     $this->setExpectedException('Braintree_Exception_NotFound', "locked");
     Braintree_CreditCard::fromNonce($nonce);
 }