public void testAddAuthorization() { authorization authorization = new authorization(); authorization.reportGroup = "Planets"; authorization.orderId = "12344"; authorization.amount = 106; authorization.orderSource = orderSourceType.ecommerce; cardType card = new cardType(); card.type = methodOfPaymentTypeEnum.VI; card.number = "4100000000000002"; card.expDate = "1210"; authorization.card = card; batchRequest.addAuthorization(authorization); Assert.AreEqual(1, batchRequest.getNumAuthorization()); Assert.AreEqual(authorization.amount, batchRequest.getSumOfAuthorization()); mockLitleFile.Verify(litleFile => litleFile.createRandomFile(It.IsAny<String>(), It.IsAny<String>(), It.IsAny<String>(), mockLitleTime.Object)); mockLitleFile.Verify(litleFile => litleFile.AppendLineToFile(mockFilePath, authorization.Serialize())); }
public void TestSimpleAuthWithFraudCheck() { authorization auth = new authorization(); auth.card = new cardType(); auth.card.type = methodOfPaymentTypeEnum.VI; auth.card.number = "4100000000000001"; auth.card.expDate = "1213"; auth.orderId = "12344"; auth.amount = 2; auth.orderSource = orderSourceType.ecommerce; auth.cardholderAuthentication = new fraudCheckType(); auth.cardholderAuthentication.customerIpAddress = "192.168.1.1"; String expectedResult = @" <authorization id="""" reportGroup=""""> <orderId>12344</orderId> <amount>2</amount> <orderSource>ecommerce</orderSource> <card> <type>VI</type> <number>4100000000000001</number> <expDate>1213</expDate> </card> <cardholderAuthentication> <customerIpAddress>192.168.1.1</customerIpAddress> </cardholderAuthentication> </authorization>"; Assert.AreEqual(expectedResult, auth.Serialize()); var mock = new Mock<Communications>(); mock.Setup(Communications => Communications.HttpPost(It.IsRegex(".*<authorization id=\".*>.*<customerIpAddress>192.168.1.1</customerIpAddress>.*</authorization>.*", RegexOptions.Singleline), It.IsAny<Dictionary<String, String>>())) .Returns("<litleOnlineResponse version='8.14' response='0' message='Valid Format' xmlns='http://www.litle.com/schema'><authorizationResponse><litleTxnId>123</litleTxnId></authorizationResponse></litleOnlineResponse>"); Communications mockedCommunication = mock.Object; litle.setCommunication(mockedCommunication); litle.Authorize(auth); authorizationResponse authorizationResponse = litle.Authorize(auth); Assert.NotNull(authorizationResponse); Assert.AreEqual(123, authorizationResponse.litleTxnId); }
public void TestSimpleAuthWithBillMeLaterRequest() { authorization auth = new authorization(); auth.card = new cardType(); auth.card.type = methodOfPaymentTypeEnum.VI; auth.card.number = "4100000000000001"; auth.card.expDate = "1213"; auth.orderId = "12344"; auth.amount = 2; auth.orderSource = orderSourceType.ecommerce; auth.billMeLaterRequest = new billMeLaterRequest(); auth.billMeLaterRequest.virtualAuthenticationKeyData = "Data"; auth.billMeLaterRequest.virtualAuthenticationKeyPresenceIndicator = "Presence"; String expectedResult = @" <authorization id="""" reportGroup=""""> <orderId>12344</orderId> <amount>2</amount> <orderSource>ecommerce</orderSource> <card> <type>VI</type> <number>4100000000000001</number> <expDate>1213</expDate> </card> <billMeLaterRequest> <virtualAuthenticationKeyPresenceIndicator>Presence</virtualAuthenticationKeyPresenceIndicator> <virtualAuthenticationKeyData>Data</virtualAuthenticationKeyData> </billMeLaterRequest> </authorization>"; Assert.AreEqual(expectedResult, auth.Serialize()); var mock = new Mock<Communications>(); mock.Setup(Communications => Communications.HttpPost(It.IsRegex(".*<authorization id=\".*>.*<billMeLaterRequest>\r\n<virtualAuthenticationKeyPresenceIndicator>Presence</virtualAuthenticationKeyPresenceIndicator>\r\n<virtualAuthenticationKeyData>Data</virtualAuthenticationKeyData>\r\n</billMeLaterRequest>.*</authorization>.*", RegexOptions.Singleline), It.IsAny<Dictionary<String, String>>())) .Returns("<litleOnlineResponse version='8.14' response='0' message='Valid Format' xmlns='http://www.litle.com/schema'><authorizationResponse><litleTxnId>123</litleTxnId></authorizationResponse></litleOnlineResponse>"); Communications mockedCommunication = mock.Object; litle.setCommunication(mockedCommunication); litle.Authorize(auth); authorizationResponse authorizationResponse = litle.Authorize(auth); Assert.NotNull(authorizationResponse); Assert.AreEqual(123, authorizationResponse.litleTxnId); }
public void TestAuthWithPosCatLevelEnum() { authorization auth = new authorization(); auth.pos = new pos(); auth.orderId = "ABC123"; auth.amount = 98700; auth.pos.catLevel = posCatLevelEnum.selfservice; String expectedResult = @" <authorization id="""" reportGroup=""""> <orderId>ABC123</orderId> <amount>98700</amount> <pos> <catLevel>self service</catLevel> </pos> </authorization>"; Assert.AreEqual(expectedResult, auth.Serialize()); var mock = new Mock<Communications>(); mock.Setup(Communications => Communications.HttpPost(It.IsAny<String>(), It.IsAny<Dictionary<String, String>>())) .Returns("<litleOnlineResponse version='8.23' response='0' message='Valid Format' xmlns='http://www.litle.com/schema'><authorizationResponse><litleTxnId>123</litleTxnId></authorizationResponse></litleOnlineResponse>"); Communications mockedCommunication = mock.Object; litle.setCommunication(mockedCommunication); authorizationResponse authorizationResponse = litle.Authorize(auth); Assert.NotNull(authorizationResponse); Assert.AreEqual(123, authorizationResponse.litleTxnId); }
public void TestAuthWithAdvancedFraud() { authorization auth = new authorization(); auth.litleTxnId = 123; auth.advancedFraudChecks = new advancedFraudChecksType(); auth.advancedFraudChecks.threatMetrixSessionId = "800"; String expectedResult = @" <authorization id="""" reportGroup=""""> <litleTxnId>123</litleTxnId> <advancedFraudChecks> <threatMetrixSessionId>800</threatMetrixSessionId> </advancedFraudChecks> </authorization>"; Assert.AreEqual(expectedResult, auth.Serialize()); var mock = new Mock<Communications>(); mock.Setup(Communications => Communications.HttpPost(It.IsAny<String>(), It.IsAny<Dictionary<String, String>>())) .Returns("<litleOnlineResponse version='8.23' response='0' message='Valid Format' xmlns='http://www.litle.com/schema'><authorizationResponse><litleTxnId>123</litleTxnId><fraudResult><advancedFraudResults><deviceReviewStatus>\"ReviewStatus\"</deviceReviewStatus><deviceReputationScore>800</deviceReputationScore></advancedFraudResults></fraudResult></authorizationResponse></litleOnlineResponse>"); Communications mockedCommunication = mock.Object; litle.setCommunication(mockedCommunication); authorizationResponse authorizationResponse = litle.Authorize(auth); Assert.NotNull(authorizationResponse); Assert.AreEqual(123, authorizationResponse.litleTxnId); }
public void TestAuthWithAdvancedFraud() { authorization auth = new authorization(); auth.orderId = "123"; auth.amount = 10; auth.advancedFraudChecks = new advancedFraudChecksType(); auth.advancedFraudChecks.threatMetrixSessionId = "800"; auth.advancedFraudChecks.customAttribute1 = "testAttribute1"; auth.advancedFraudChecks.customAttribute2 = "testAttribute2"; auth.advancedFraudChecks.customAttribute3 = "testAttribute3"; auth.advancedFraudChecks.customAttribute4 = "testAttribute4"; auth.advancedFraudChecks.customAttribute5 = "testAttribute5"; String expectedResult = @" <authorization id="""" reportGroup=""""> <orderId>123</orderId> <amount>10</amount> <advancedFraudChecks> <threatMetrixSessionId>800</threatMetrixSessionId> <customAttribute1>testAttribute1</customAttribute1> <customAttribute2>testAttribute2</customAttribute2> <customAttribute3>testAttribute3</customAttribute3> <customAttribute4>testAttribute4</customAttribute4> <customAttribute5>testAttribute5</customAttribute5> </advancedFraudChecks> </authorization>"; string test = auth.Serialize(); Assert.AreEqual(expectedResult, auth.Serialize()); var mock = new Mock<Communications>(); mock.Setup(Communications => Communications.HttpPost(It.IsAny<String>(), It.IsAny<Dictionary<String, String>>())) .Returns("<litleOnlineResponse version='8.23' response='0' message='Valid Format' xmlns='http://www.litle.com/schema'><authorizationResponse><orderId>123</orderId><fraudResult><advancedFraudResults><deviceReviewStatus>\"ReviewStatus\"</deviceReviewStatus><deviceReputationScore>800</deviceReputationScore></advancedFraudResults></fraudResult></authorizationResponse></litleOnlineResponse>"); Communications mockedCommunication = mock.Object; litle.setCommunication(mockedCommunication); authorizationResponse authorizationResponse = litle.Authorize(auth); Assert.NotNull(authorizationResponse); Assert.AreEqual("123", authorizationResponse.orderId); }