J'utilise ActiveMerchant pour intégrer le CIM Authorize.net. Je suis en train d'écrire des tests automatisés, et j'ai commencé à mettre en place des appels Webmock pour que mes tests ne soient pas en train de frapper Authorize.net chaque fois qu'ils s'exécutent.Utilisation de Webmock pour simuler une réponse ActiveMerchant réussie
J'ai créé des fichiers XML à partir des réponses de données de requêtes brutes et, pour la plupart, cela fonctionne bien. Cependant, quand je mock up une réponse réussie, ActiveMerchant pour une raison quelconque me dit toujours que Response.success? ce n'est pas vrai.
Ma fonction
if self.cim_customer_profile_id.nil?
ActiveMerchant::Billing::Base.mode = :test
customer_profile_information = {
:profile => {
:merchant_customer_id => self.customer.username.first(20),
:email => self.customer.email
}
}
gateway = ActiveMerchant::Billing::AuthorizeNetCimGateway.new(
:login => AUTHORIZE_NET_API_LOGIN_ID,
:password => AUTHORIZE_NET_API_TRANSACTION_KEY
)
response = gateway.create_customer_profile(customer_profile_information)
if response.success?
self.cim_customer_profile_id = response.authorization
else
raise StandardError, response.message
end
end
Et ma réponse est bouchonné:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
<?xml version="1.0" encoding="utf-8"?>
<createCustomerProfileResponse xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns='AnetApi/xml/v1/schema/AnetApiSchema.xsd'>
<messages>
<resultCode>
Ok
</resultCode>
<message>
<code>
I00001
</code>
<text>
Successful.
</text>
</message>
</messages>
<customerProfileId>10793616</customerProfileId>
<customerPaymentProfileIdList/>
<customerShippingAddressIdList/>
<validationDirectResponseList/>
</createCustomerProfileResponse>
Y at-il des raisons pour lesquelles ActiveMerchant ne fonctionnera pas avec une demande réussie, bouchonné,? Ou est-ce que je manque quelque chose qu'ActiveMerchant exige pour s'inscrire que la réponse est effectivement réussie?