diff --git a/pom.xml b/pom.xml
index e5b80610..183cef02 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,9 +30,9 @@
postgres
af
1.44-5dbd6d4
- 1.112-e9d16e0
+ 1.134-b64531d
1.0.7
- 1.141-b9f3cf6-server
+ 1.160-e326aa8
1.27-4907168
1.12-afdcd48
1.6-326f056
@@ -43,7 +43,7 @@
dev.vality
- swag-fraudbusters-management
+ swag-fraudbusters-management-server
${swag-fraudbusters-management.version}
diff --git a/src/main/java/dev/vality/fraudbusters/management/resource/notificator/converter/ValidationConverter.java b/src/main/java/dev/vality/fraudbusters/management/resource/notificator/converter/ValidationConverter.java
index 9152c025..1e120424 100644
--- a/src/main/java/dev/vality/fraudbusters/management/resource/notificator/converter/ValidationConverter.java
+++ b/src/main/java/dev/vality/fraudbusters/management/resource/notificator/converter/ValidationConverter.java
@@ -17,6 +17,7 @@ public class ValidationConverter
public ValidationResponse convert(
dev.vality.damsel.fraudbusters_notificator.ValidationResponse validationResponse) {
ValidationResponse response = new ValidationResponse();
+ response.setErrors(null);
if (validationResponse.isSetErrors()) {
List errors = validationResponse.getErrors();
List validationErrors = errors.stream()
diff --git a/src/main/java/dev/vality/fraudbusters/management/resource/payment/PaymentHistoricalDataResource.java b/src/main/java/dev/vality/fraudbusters/management/resource/payment/PaymentHistoricalDataResource.java
index a6aa76ee..66b79467 100644
--- a/src/main/java/dev/vality/fraudbusters/management/resource/payment/PaymentHistoricalDataResource.java
+++ b/src/main/java/dev/vality/fraudbusters/management/resource/payment/PaymentHistoricalDataResource.java
@@ -38,15 +38,19 @@ public ResponseEntity filterPayments(String from, String to,
String email, String providerCountry,
String cardToken, String fingerprint,
String terminal, String invoiceId,
- String maskedPan) {
+ String maskedPan, String template,
+ String rule) {
log.info("-> filterPaymentsInfo continuationId: {} size: {} partyId: {} shopId: {} paymentId: {} status: {} " +
- "email: {} providerCountry: {} cardToken: {} fingerprint: {} terminal: {}",
+ "email: {} providerCountry: {} cardToken: {} fingerprint: {} terminal: {} " +
+ "template: {} rule: {}",
continuationId, size, partyId, shopId, paymentId, status, email, providerCountry, cardToken,
- fingerprint,
- terminal);
+ fingerprint, terminal, template, rule);
+ var filter = createFilter(createTimestampInterval(from, to), partyId, shopId, paymentId, status, email,
+ providerCountry, cardToken, fingerprint, terminal)
+ .setTemplate(template)
+ .setRule(rule);
var payments = historicalDataServiceSrv.getPayments(
- createFilter(createTimestampInterval(from, to), partyId, shopId, paymentId, status, email,
- providerCountry, cardToken, fingerprint, terminal),
+ filter,
createPage(continuationId, size),
createSort(sortOrder, sortBy));
var paymentsResponse = new PaymentsResponse()
@@ -130,16 +134,20 @@ public ResponseEntity filterInspectResults(String from,
String cardToken,
String fingerprint,
String terminal, String invoiceId,
- String maskedPan) {
+ String maskedPan, String template,
+ String rule) {
log.info(
"-> filterInspectResults continuationId: {} size: {} partyId: {} shopId: {} paymentId: {} status: {} " +
- "email: {} providerCountry: {} cardToken: {} fingerprint: {} terminal: {}",
+ "email: {} providerCountry: {} cardToken: {} fingerprint: {} terminal: {} " +
+ "template: {} rule: {}",
continuationId, size, partyId, shopId, paymentId, status, email, providerCountry, cardToken,
- fingerprint,
- terminal);
+ fingerprint, terminal, template, rule);
+ var filter = createFilter(createTimestampInterval(from, to), partyId, shopId, paymentId, status, email,
+ providerCountry, cardToken, fingerprint, terminal)
+ .setTemplate(template)
+ .setRule(rule);
var fraudResults = historicalDataServiceSrv.getFraudResults(
- createFilter(createTimestampInterval(from, to), partyId, shopId, paymentId, status, email,
- providerCountry, cardToken, fingerprint, terminal),
+ filter,
createPage(continuationId, size),
createSort(sortOrder, sortBy));
var inspectResultsResponse = new InspectResultsResponse()
diff --git a/src/test/java/dev/vality/fraudbusters/management/resource/payment/PaymentHistoricalDataResourceTest.java b/src/test/java/dev/vality/fraudbusters/management/resource/payment/PaymentHistoricalDataResourceTest.java
index e76ac996..ca7cbec4 100644
--- a/src/test/java/dev/vality/fraudbusters/management/resource/payment/PaymentHistoricalDataResourceTest.java
+++ b/src/test/java/dev/vality/fraudbusters/management/resource/payment/PaymentHistoricalDataResourceTest.java
@@ -1,10 +1,12 @@
package dev.vality.fraudbusters.management.resource.payment;
+import dev.vality.damsel.fraudbusters.Filter;
import dev.vality.damsel.fraudbusters.HistoricalDataResponse;
import dev.vality.damsel.fraudbusters.HistoricalDataServiceSrv;
import dev.vality.fraudbusters.management.resource.utils.ExternalModelBeanFactory;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
+import org.mockito.ArgumentCaptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -18,7 +20,9 @@
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.util.LinkedMultiValueMap;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
@@ -44,6 +48,8 @@ public void filterPaymentsInfo() throws Exception {
when(iface.getPayments(any(), any(), any())).thenReturn(new HistoricalDataResponse()
.setData(ExternalModelBeanFactory.createHistoricalData()));
LinkedMultiValueMap params = createParams();
+ params.add("template", "shop-template");
+ params.add("rule", "many_emails_per_card");
this.mockMvc.perform(get("/payments-historical-data/payments-info")
.queryParams(params))
.andDo(print())
@@ -59,6 +65,11 @@ public void filterPaymentsInfo() throws Exception {
"\"paymentTool\":\"BankCard(token:null, payment_system:PaymentSystemRef(id:visa)," +
" bin:1234, last_digits:null, bank_name:test)\",\"provider\":{\"providerId\":\"test\"" +
",\"terminalId\":\"1234\",\"country\":\"RUS\"}}]}"));
+
+ ArgumentCaptor filterCaptor = ArgumentCaptor.forClass(Filter.class);
+ verify(iface).getPayments(filterCaptor.capture(), any(), any());
+ assertEquals("shop-template", filterCaptor.getValue().getTemplate());
+ assertEquals("many_emails_per_card", filterCaptor.getValue().getRule());
}
@Test
@@ -87,6 +98,8 @@ public void filterInspectResults() throws Exception {
when(iface.getFraudResults(any(), any(), any())).thenReturn(new HistoricalDataResponse()
.setData(ExternalModelBeanFactory.createHistoricalDataInspectResults()));
LinkedMultiValueMap params = createParams();
+ params.add("template", "shop-template");
+ params.add("rule", "many_emails_per_card");
this.mockMvc.perform(get("/payments-historical-data/inspect-results")
.queryParams(params))
.andDo(print())
@@ -104,6 +117,11 @@ public void filterInspectResults() throws Exception {
"\"terminalId\":\"1234\",\"country\":\"RUS\"}},\"checkedTemplate\":null," +
"\"resultStatus\":\"accept\",\"ruleChecked\":null," +
"\"notificationsRule\":null}]}"));
+
+ ArgumentCaptor filterCaptor = ArgumentCaptor.forClass(Filter.class);
+ verify(iface).getFraudResults(filterCaptor.capture(), any(), any());
+ assertEquals("shop-template", filterCaptor.getValue().getTemplate());
+ assertEquals("many_emails_per_card", filterCaptor.getValue().getRule());
}
@Test