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);
        }
Example #4
0
        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 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);
        }
Example #10
0
 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);
        }
Example #12
0
 public fraudCheckResponse FraudCheck(fraudCheck fraudCheck)
 {
     return(SendRequest(response => response.fraudCheckResponse, fraudCheck));
 }