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