public function testAntifraudFactory()
 {
     $ctId = mt_rand(0, 1000000);
     $diMessage = array('contribution_tracking_id' => $ctId, 'date' => 1455128736, 'gateway' => 'adyen', 'gateway_txn_id' => mt_rand(0, 10000000), 'payment_method' => 'cc', 'user_ip' => '8.8.4.4', 'order_id' => $ctId . '.0');
     $scoreBreakdown = array('getScoreCountry' => 25, 'getScoreEmailDomain' => 10);
     $afMessage = DonationInterfaceAntifraudFactory::create($diMessage, 12.5, $scoreBreakdown, 'process');
     $this->assertEquals($diMessage['contribution_tracking_id'], $afMessage['contribution_tracking_id']);
     $this->assertEquals(1455128736, $afMessage['date']);
     $this->assertEquals('adyen', $afMessage['gateway']);
     $this->assertEquals($diMessage['order_id'], $afMessage['order_id']);
     $this->assertEquals('cc', $afMessage['payment_method']);
     $this->assertEquals(12.5, $afMessage['risk_score']);
     $this->assertEquals($scoreBreakdown, $afMessage['score_breakdown']);
     $this->assertEquals('8.8.4.4', $afMessage['user_ip']);
     $this->assertEquals('process', $afMessage['validation_action']);
 }
 protected function sendAntifraudMessage($dbMessage, $riskScore, $scoreBreakdown, $action)
 {
     $antifraudMessage = DonationInterfaceAntifraudFactory::create($dbMessage, $riskScore, $scoreBreakdown, $action);
     $this->logger->debug("Sending antifraud message with risk score {$riskScore} and action {$action}.");
     Configuration::getDefaultConfig()->object('data-store/payments-antifraud')->push($antifraudMessage);
 }