public void TestCustomAttribute7TriggeredRules() { var fraudCheck = new fraudCheck { id = "1", reportGroup = "Planets", advancedFraudChecks = new advancedFraudChecksType { threatMetrixSessionId = "101", customAttribute1 = "pass", customAttribute2 = "42", customAttribute3 = "7", customAttribute4 = "jkl", customAttribute5 = "mno", } }; var fraudCheckResponse = _cnp.FraudCheck(fraudCheck); Assert.NotNull(fraudCheckResponse); Assert.AreEqual(42, fraudCheckResponse.advancedFraudResults.deviceReputationScore); Assert.AreEqual(7, fraudCheckResponse.advancedFraudResults.triggeredRule.Length); Assert.AreEqual("triggered_rule_1", fraudCheckResponse.advancedFraudResults.triggeredRule[0]); Assert.AreEqual("triggered_rule_2", fraudCheckResponse.advancedFraudResults.triggeredRule[1]); Assert.AreEqual("triggered_rule_3", fraudCheckResponse.advancedFraudResults.triggeredRule[2]); Assert.AreEqual("triggered_rule_4", fraudCheckResponse.advancedFraudResults.triggeredRule[3]); Assert.AreEqual("triggered_rule_5", fraudCheckResponse.advancedFraudResults.triggeredRule[4]); Assert.AreEqual("triggered_rule_6", fraudCheckResponse.advancedFraudResults.triggeredRule[5]); Assert.AreEqual("triggered_rule_7", fraudCheckResponse.advancedFraudResults.triggeredRule[6]); }
public void TestCustomAttribute7TriggeredRules() { var fraudCheck = new fraudCheck { id = "1", reportGroup = "Planets", advancedFraudChecks = new advancedFraudChecksType { threatMetrixSessionId = "123", customAttribute1 = "pass", customAttribute2 = "60", customAttribute3 = "7", customAttribute4 = "jkl", customAttribute5 = "mno", } }; var fraudCheckResponse = _litle.FraudCheck(fraudCheck); Assert.NotNull(fraudCheckResponse); Assert.AreEqual(60, fraudCheckResponse.advancedFraudResults.deviceReputationScore); //Assert.AreEqual(7, fraudCheckResponse.advancedFraudResults.triggeredRule.Length); Assert.AreEqual("triggered_rule_1", fraudCheckResponse.advancedFraudResults.triggeredRule); }
public void TestCustomAttribute5() { fraudCheck fraudCheck = new fraudCheck(); advancedFraudChecksType advancedFraudCheck = new advancedFraudChecksType(); fraudCheck.advancedFraudChecks = advancedFraudCheck; advancedFraudCheck.threatMetrixSessionId = "123"; advancedFraudCheck.customAttribute1 = "abc"; advancedFraudCheck.customAttribute2 = "def"; advancedFraudCheck.customAttribute3 = "ghi"; advancedFraudCheck.customAttribute4 = "jkl"; advancedFraudCheck.customAttribute5 = "mno"; var mock = new Mock <Communications>(); mock.Setup(Communications => Communications.HttpPost(It.IsRegex("..*<threatMetrixSessionId>123</threatMetrixSessionId>\r\n<customAttribute1>abc</customAttribute1>\r\n<customAttribute2>def</customAttribute2>\r\n<customAttribute3>ghi</customAttribute3>\r\n<customAttribute4>jkl</customAttribute4>\r\n<customAttribute5>mno</customAttribute5>\r\n.*", RegexOptions.Singleline), It.IsAny <Dictionary <String, String> >())) .Returns("<cnpOnlineResponse version='10.1' response='0' message='Valid Format' xmlns='http://www.vantivcnp.com/schema'><fraudCheckResponse id='127' reportGroup='Planets' customerId=''><cnpTxnId>742802348034313000</cnpTxnId><response>000</response><message>Approved</message><advancedFraudResults><deviceReviewStatus>pass</deviceReviewStatus><deviceReputationScore>42</deviceReputationScore><triggeredRule>triggered_rule_default</triggeredRule></advancedFraudResults></fraudCheckResponse></cnpOnlineResponse >"); Communications mockedCommunication = mock.Object; cnp.SetCommunication(mockedCommunication); fraudCheckResponse fraudCheckResponse = cnp.FraudCheck(fraudCheck); Assert.NotNull(fraudCheckResponse); Assert.AreEqual(742802348034313000, fraudCheckResponse.cnpTxnId); }
public fraudCheckResponse FraudCheck(fraudCheck fraudCheck) { litleOnlineRequest request = createLitleOnlineRequest(); fillInReportGroup(fraudCheck); request.fraudCheck = fraudCheck; litleOnlineResponse response = sendToLitle(request); fraudCheckResponse fraudCheckResponse = (fraudCheckResponse)response.fraudCheckResponse; return(fraudCheckResponse); }
public void TestFraudCheckWithAddressAndAmount() { var fraudCheck = new fraudCheck { id = "1", reportGroup = "Planets", advancedFraudChecks = new advancedFraudChecksType { customAttribute1 = "fail", customAttribute2 = "60", customAttribute3 = "7", customAttribute4 = "jkl", customAttribute5 = "mno", threatMetrixSessionId = "123" }, billToAddress = new contact { firstName = "Bob", lastName = "Bagels", addressLine1 = "37 Main Street", city = "Augusta", state = "Wisconsin", zip = "28209" }, shipToAddress = new contact { firstName = "P", lastName = "Sherman", addressLine1 = "42 Wallaby Way", city = "Sydney", state = "New South Wales", zip = "2127" }, amount = 51699 }; var fraudCheckResponse = _cnp.FraudCheck(fraudCheck); Assert.NotNull(fraudCheckResponse); Assert.AreEqual("sandbox", fraudCheckResponse.location); Assert.AreEqual("Call Discover", fraudCheckResponse.message); Assert.AreEqual("fail", fraudCheckResponse.advancedFraudResults.deviceReviewStatus); }
public void TestCustomAttribute1() { fraudCheck fraudCheck = new fraudCheck(); advancedFraudChecksType advancedFraudCheck = new advancedFraudChecksType(); fraudCheck.advancedFraudChecks = advancedFraudCheck; advancedFraudCheck.threatMetrixSessionId = "123"; advancedFraudCheck.customAttribute1 = "abc"; var mock = new Mock<Communications>(); mock.Setup(Communications => Communications.HttpPost(It.IsRegex("..*<threatMetrixSessionId>123</threatMetrixSessionId>\r\n<customAttribute1>abc</customAttribute1>\r\n.*", RegexOptions.Singleline), It.IsAny<Dictionary<String, String>>())) .Returns("<litleOnlineResponse version='10.1' response='0' message='Valid Format' xmlns='http://www.litle.com/schema'><fraudCheckResponse id='127' reportGroup='Planets' customerId=''><litleTxnId>742802348034313000</litleTxnId><response>000</response><message>Approved</message><advancedFraudResults><deviceReviewStatus>pass</deviceReviewStatus><deviceReputationScore>42</deviceReputationScore><triggeredRule>triggered_rule_default</triggeredRule></advancedFraudResults></fraudCheckResponse></litleOnlineResponse >"); Communications mockedCommunication = mock.Object; litle.setCommunication(mockedCommunication); fraudCheckResponse fraudCheckResponse = litle.FraudCheck(fraudCheck); Assert.NotNull(fraudCheckResponse); Assert.AreEqual(42, fraudCheckResponse.advancedFraudResults.deviceReputationScore); }
public void TestNoCustomAttributes() { fraudCheck fraudCheck = new fraudCheck(); advancedFraudChecksType advancedFraudCheck = new advancedFraudChecksType(); fraudCheck.advancedFraudChecks = advancedFraudCheck; advancedFraudCheck.threatMetrixSessionId = "123"; var mock = new Mock <Communications>(); mock.Setup(Communications => Communications.HttpPost(It.IsRegex(".*<threatMetrixSessionId>123</threatMetrixSessionId>\r\n.*", RegexOptions.Singleline))) .Returns("<cnpOnlineResponse version='10.1' response='0' message='Valid Format' xmlns='http://www.vantivcnp.com/schema'><fraudCheckResponse id='127' reportGroup='Planets' customerId=''><cnpTxnId>742802348034313000</cnpTxnId><response>000</response><message>Approved</message><advancedFraudResults><deviceReviewStatus>pass</deviceReviewStatus><deviceReputationScore>42</deviceReputationScore><triggeredRule>triggered_rule_default</triggeredRule></advancedFraudResults></fraudCheckResponse></cnpOnlineResponse >"); Communications mockedCommunication = mock.Object; cnp.SetCommunication(mockedCommunication); fraudCheckResponse fraudCheckResponse = cnp.FraudCheck(fraudCheck); Assert.NotNull(fraudCheckResponse); Assert.AreEqual("pass", fraudCheckResponse.advancedFraudResults.deviceReviewStatus); }
public void TestCustomAttribute7TriggeredRules() { var fraudCheck = new fraudCheck { advancedFraudChecks = new advancedFraudChecksType { threatMetrixSessionId = "123", customAttribute1 = "pass", customAttribute2 = "60", customAttribute3 = "7", customAttribute4 = "jkl", customAttribute5 = "mno" } }; var fraudCheckResponse = _litle.FraudCheck(fraudCheck); Assert.NotNull(fraudCheckResponse); Assert.AreEqual(60, fraudCheckResponse.advancedFraudResults.deviceReputationScore); // TODO: we should be parsing multiple triggered rules, noit just the first one //Assert.AreEqual(7, fraudCheckResponse.advancedFraudResults.triggeredRule.Length); Assert.AreEqual("triggered_rule_1", fraudCheckResponse.advancedFraudResults.triggeredRule); }
public fraudCheckResponse FraudCheck(fraudCheck transaction) { return(this.SendTransaction <fraudCheckResponse>(transaction)); }
public void TestFraudCheckWithAddressAndAmount() { var fraudCheck = new fraudCheck { amount = 51699, billToAddress = new contact { firstName = "Bob", lastName = "Bagels", addressLine1 = "37 Main Street", city = "Augusta", state = "Wisconsin", zip = "28209" }, shipToAddress = new contact { firstName = "P", lastName = "Sherman", addressLine1 = "42 Wallaby Way", city = "Sydney", state = "New South Wales", zip = "2127" }, advancedFraudChecks = new advancedFraudChecksType { threatMetrixSessionId = "123", customAttribute1 = "fail", customAttribute2 = "60", customAttribute3 = "7", customAttribute4 = "jkl", customAttribute5 = "mno" } }; var fraudCheckResponse = _litle.FraudCheck(fraudCheck); Assert.NotNull(fraudCheckResponse); Assert.AreEqual("Call Discover", fraudCheckResponse.message); Assert.AreEqual("fail", fraudCheckResponse.advancedFraudResults.deviceReviewStatus); }
public fraudCheckResponse FraudCheck(fraudCheck fraudCheck) { return(SendRequest(response => response.fraudCheckResponse, fraudCheck)); }