public void CannotHandleStatusResponseWhenFingerPrintsDoNoMatch() { var statusResponseXml = new StreamReader("Util\\TestResponses\\StatusResponseSuccess.xml").ReadToEnd(); // Setup signature provider var signatureProvider = new Mock <ISignatureProvider>(); signatureProvider.Setup(x => x.VerifySignature("LAwZjEiH+Z8BAzRTNGopGq3OT8V80if3H6pKcNfWcyyXb0yqzYcX3/+vkTeirq+A4Sv7UuVdrcmGqzbZW7kDzX1/fxbyGahfYlsbysQLvxDdR6ExIjHohRx1RHwFZ1NO1hbw3R4ab27hHBz43gtytz4YP5nT6B9zwW+eHIlNIuY=", "2012-05-19T12:20:01.000Z0000000000078316Success108429563")).Returns(true); signatureProvider.Setup(x => x.GetThumbprintAcquirerCertificate()).Returns("bogus"); var responseHandler = new iDealHttpResponseHandler(); Assert.Throws <SecurityException>(() => responseHandler.HandleResponse(statusResponseXml, signatureProvider.Object) ); }
public void CanHandleErrorResponse() { var errorResponse = new StreamReader("Util\\TestResponses\\ErrorResponse.xml").ReadToEnd(); var signatureProvider = new Mock <ISignatureProvider>().Object; var responseHandler = new iDealHttpResponseHandler(); Assert.Throws <iDealException>(() => responseHandler.HandleResponse(errorResponse, signatureProvider)); try { responseHandler.HandleResponse(errorResponse, signatureProvider); } catch (iDealException e) { Assert.AreEqual("Betalen met iDEAL is nu niet mogelijk. Probeer het later nogmaals of betaal op een andere manier.", e.ConsumerMessage); Assert.AreEqual("SE2700", e.ErrorCode); Assert.AreEqual("System generating error: acquirer", e.ErrorDetail); Assert.AreEqual("Invalid electronic signature", e.ErrorMessage); } }
public void CanHandleStatusResponse() { var statusResponseXml = new StreamReader("Util\\TestResponses\\StatusResponseSuccess.xml").ReadToEnd(); // Setup signature provider var signatureProvider = new Mock <ISignatureProvider>(); signatureProvider.Setup(x => x.VerifySignature("LAwZjEiH+Z8BAzRTNGopGq3OT8V80if3H6pKcNfWcyyXb0yqzYcX3/+vkTeirq+A4Sv7UuVdrcmGqzbZW7kDzX1/fxbyGahfYlsbysQLvxDdR6ExIjHohRx1RHwFZ1NO1hbw3R4ab27hHBz43gtytz4YP5nT6B9zwW+eHIlNIuY=", "2012-05-19T12:20:01.000Z0000000000078316Success108429563")).Returns(true); signatureProvider.Setup(x => x.GetThumbprintAcquirerCertificate()).Returns("6CFC36389C7A3C49440B8733D258CB2167FAC18F"); var responseHandler = new iDealHttpResponseHandler(); var statusResponse = (StatusResponse)responseHandler.HandleResponse(statusResponseXml, signatureProvider.Object); Assert.AreEqual(8, statusResponse.AcquirerId); Assert.AreEqual(Status.Status.Success, statusResponse.Status); Assert.AreEqual("Webpirates", statusResponse.ConsumerName); Assert.AreEqual("108429563", statusResponse.ConsumerAccountNumber); Assert.AreEqual("Meppel", statusResponse.ConsumerCity); Assert.AreEqual("LAwZjEiH+Z8BAzRTNGopGq3OT8V80if3H6pKcNfWcyyXb0yqzYcX3/+vkTeirq+A4Sv7UuVdrcmGqzbZW7kDzX1/fxbyGahfYlsbysQLvxDdR6ExIjHohRx1RHwFZ1NO1hbw3R4ab27hHBz43gtytz4YP5nT6B9zwW+eHIlNIuY=", statusResponse.SignatureValue); Assert.AreEqual("6CFC36389C7A3C49440B8733D258CB2167FAC18F", statusResponse.Fingerprint); }