sonar fixes.

parent 286d3491
......@@ -3,6 +3,7 @@ package com.nisum.offertransactionservice.client;
import com.nisum.offertransactionservice.config.OfferTransactionConfig;
import com.nisum.offertransactionservice.dto.PERequest;
import com.nisum.offertransactionservice.dto.PEResponse;
import com.nisum.offertransactionservice.util.ExceptionUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
......@@ -62,8 +63,8 @@ public class ClientService {
accept(MediaType.APPLICATION_JSON).
body(Mono.just(uuid), String.class).
retrieve().
onStatus(HttpStatus::is4xxClientError, clientResponse -> handleError(clientResponse)).
onStatus(HttpStatus::is5xxServerError, clientResponse -> handleError(clientResponse)).
onStatus(HttpStatus::is4xxClientError, ExceptionUtil::handleError).
onStatus(HttpStatus::is5xxServerError, ExceptionUtil::handleError).
bodyToMono(String.class);
}
......@@ -74,8 +75,8 @@ public class ClientService {
contentType(MediaType.APPLICATION_JSON).
body(Mono.just(peRequest), PERequest.class).
retrieve().
onStatus(HttpStatus::is4xxClientError, clientResponse -> handleError(clientResponse)).
onStatus(HttpStatus::is5xxServerError, clientResponse -> handleError(clientResponse)).
onStatus(HttpStatus::is4xxClientError, ExceptionUtil::handleError).
onStatus(HttpStatus::is5xxServerError, ExceptionUtil::handleError).
bodyToFlux(PEResponse.class).
blockFirst();
}
......
package com.nisum.offertransactionservice.config;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.FieldDefaults;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
......
......@@ -18,6 +18,9 @@ import java.io.IOException;
@CrossOrigin("*")
public class OfferTransactionController {
private static final String SWY_RES_UNIQUE_UUID = "swy-res-unique-uuid";
private static final String USER_ID = "user-id";
@Autowired
private OfferCallingPEService offerCallingPEService;
......@@ -29,16 +32,16 @@ public class OfferTransactionController {
@PostMapping("offerTransactionCall")
public OfferTransactionResponse getOfferTransactionResponse(@Valid @RequestBody OfferTransactionRequest offerTransactionRequest) throws InterruptedException {
MDC.put("swy-res-unique-uuid", String.valueOf(offerTransactionRequest.getHhId()));
MDC.put("user-id", String.valueOf(offerTransactionRequest.getHhId()));
MDC.put(SWY_RES_UNIQUE_UUID, String.valueOf(offerTransactionRequest.getHhId()));
MDC.put(USER_ID, String.valueOf(offerTransactionRequest.getHhId()));
return offerCallingPEService.getDiscountedItemList(offerTransactionRequest);
}
@PostMapping("endOfSale")
public EndOfSaleResponse endOfSale(@Valid @RequestBody EndOfSaleReq endOfSaleReq) throws IOException {
MDC.put("swy-res-unique-uuid", endOfSaleReq.getOfferTransactionResponse().getHhid());
MDC.put("user-id", endOfSaleReq.getOfferTransactionResponse().getHhid());
MDC.put(SWY_RES_UNIQUE_UUID, endOfSaleReq.getOfferTransactionResponse().getHhid());
MDC.put(USER_ID, endOfSaleReq.getOfferTransactionResponse().getHhid());
String transactionID = endOfSaleService.putEndofSaleResInDb(endOfSaleReq);
EndOfSaleResponse endOfSaleResponse = new EndOfSaleResponse();
endOfSaleResponse.setUuId(transactionID);
......@@ -48,8 +51,8 @@ public class OfferTransactionController {
@PostMapping("/endOfTransaction")
public String endOfTransaction(@Valid @RequestBody String uuid) {
MDC.put("swy-res-unique-uuid", uuid);
MDC.put("user-id", uuid);
MDC.put(SWY_RES_UNIQUE_UUID, uuid);
MDC.put(USER_ID, uuid);
return endOfTransactionService.endOfTransaction(uuid);
}
......
package com.nisum.offertransactionservice.dao;
import com.nisum.offertransactionservice.dto.Offer;
import com.nisum.offertransactionservice.model.OfferLookup;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param;
import javax.swing.text.html.Option;
import java.util.Collection;
import java.util.List;
import java.util.Optional;
public interface OfferLookupRepo extends JpaRepository<OfferLookup,String> {
......
package com.nisum.offertransactionservice.dto;
import com.nisum.offertransactionservice.model.OfferLookupComposite;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.FieldDefaults;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
@Data
@NoArgsConstructor
@AllArgsConstructor
......
package com.nisum.offertransactionservice.dto;
import com.nisum.offertransactionservice.dto.Item;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
......
package com.nisum.offertransactionservice.dto;
import com.nisum.offertransactionservice.dto.Item;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
......
package com.nisum.offertransactionservice.dto;
import com.nisum.offertransactionservice.dto.Item;
import com.nisum.offertransactionservice.model.OfferLookup;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
......@@ -10,7 +8,6 @@ import lombok.experimental.FieldDefaults;
import java.util.List;
import static com.google.common.collect.Lists.newArrayList;
@Data
......
package com.nisum.offertransactionservice.dto;
import com.nisum.offertransactionservice.dto.Item;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
......
......@@ -4,7 +4,7 @@ import com.safeway.epe.model.Response;
public class GlobalApiGenericException extends RuntimeException {
private static final long serialVersionUID = -3841677326659278730L;
private String statusCode;
......
......@@ -8,7 +8,6 @@ import lombok.NoArgsConstructor;
import lombok.experimental.FieldDefaults;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import java.io.Serializable;
@Data
......
......@@ -31,8 +31,7 @@ public class EndOfSaleService {
endOfSaleRepo.save(endOfSaleEntity);
if(Objects.nonNull(endOfSaleReq.getOfferTransactionResponse().getTransactionId()))
return endOfSaleReq.getOfferTransactionResponse().getTransactionId();
final String toString = endOfSaleEntity.getUuid().toString();
return toString;
return endOfSaleEntity.getUuid().toString();
}
......
......@@ -4,35 +4,23 @@ import com.nisum.offertransactionservice.client.ClientService;
import com.nisum.offertransactionservice.genericexception.GlobalApiGenericException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import org.springframework.web.reactive.function.client.ExchangeFilterFunction;
import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Mono;
import javax.annotation.PostConstruct;
import java.util.Objects;
import static com.nisum.offertransactionservice.util.ExceptionUtil.handleError;
@Service
@PropertySource("classpath:application.properties")
@Slf4j
public class EndOfTransactionService {
@Autowired
ClientService clientService;
//TODO: configuration properties instead of @Value
public String endOfTransaction(String uuid) {
if (Objects.isNull(uuid) || uuid.isEmpty()) {
log.error("Offer transaction uuid is empty or null");
......
......@@ -14,10 +14,7 @@ import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Service;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.*;
import java.util.stream.Collectors;
@Service
......@@ -73,7 +70,7 @@ public class OfferCallingPEService {
}
return null;
})
.filter(offerLookupDTO -> offerLookupDTO!=null)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
......
......@@ -10,11 +10,17 @@ import reactor.core.publisher.Mono;
@Slf4j
public class ExceptionUtil {
public static Mono<? extends Throwable> handleError(ClientResponse clientResponse)throws GlobalApiGenericException {
private ExceptionUtil(){
throw new GlobalApiGenericException();
}
public static Mono<Throwable> handleError(ClientResponse clientResponse) {
final Mono<Response> responseMono = clientResponse.bodyToMono(Response.class);
return responseMono.flatMap(response -> {
log.error("Error Response While Calling Service {}",response);
throw new GlobalApiGenericException(response, response.getHttpStatusCode());
});
return responseMono.flatMap(ExceptionUtil::apply);
}
private static Mono<? extends Throwable> apply(Response response) {
log.error("Error Response While Calling Service {}", response);
throw new GlobalApiGenericException(response, response.getHttpStatusCode());
}
}
spring.profiles.active=dev
spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/storedb
spring.datasource.username=postgres
spring.datasource.password=dbpwd
spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/postgres
spring.datasource.username=user
spring.datasource.password=password123
endpoint.url.promotionEngineUrl=/promotionEngine/calculateDiscount
endpoint.url.peBaseUrl=http://localhost:7073
endpoint.url.storeProducerUrl=/store/producer
endpoint.url.spBaseUrl=http://localhost:7070
server.port = 7072
server.port = 7072
\ No newline at end of file
......@@ -60,7 +60,7 @@ public class OfferControllerTest {
public void endOfTransactionTest() {
Mockito.when(endOfTransactionService.endOfTransaction(ArgumentMatchers.anyString())).thenReturn("End Of Transaction note from Store Producer");
String res = offerTransactionController.endOfTransaction(UUID.randomUUID().toString());
Assert.assertEquals(res, "End Of Transaction note from Store Producer");
Assert.assertEquals( "End Of Transaction note from Store Producer",res);
}
private EndOfSaleReq getEndOfSaleReq() {
......
......@@ -27,7 +27,6 @@ import static com.github.tomakehurst.wiremock.client.WireMock.*;
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.DEFINED_PORT)
@AutoConfigureWireMock
@ActiveProfiles(value = "integration")
public class OfferTransactionControllerIntegrationTest extends AbstractTestBase{
@Rule
......@@ -81,6 +80,7 @@ public class OfferTransactionControllerIntegrationTest extends AbstractTestBase{
);
OfferTransactionResponse offerTransactionResponse = responseEntity.getBody();
System.out.println(offerTransactionResponse);
Assert.assertNotNull(offerTransactionResponse.getTransactionId());
}
......
......@@ -65,21 +65,21 @@ class OfferTransactionControllerTest {
when(offerCallingPEService.getOfferMetaDto(ArgumentMatchers.any())).thenReturn(getOfferLookupDto());
Mockito.doReturn(Optional.of(getOfferMeta())).when(offerMetaDataRepo).findByOfferIdAndOfferStatusIgnoreCase(Mockito.anyLong(), Mockito.anyString());
OfferTransactionResponse offerTransactionResponse = offerTransactionController.getOfferTransactionResponse(getOfferTransactionRequest());
assertEquals(Objects.nonNull(offerTransactionResponse.getTransactionId()),true);
assertEquals(true,Objects.nonNull(offerTransactionResponse.getTransactionId()));
}
@Description("Component test for endOfSale method")
@Test
void endOfSale() throws IOException {
when(endOfSaleRepo.save(Mockito.any(EndOfSaleEntity.class))).thenReturn(new EndOfSaleEntity());
assertEquals(Objects.nonNull(offerTransactionController.endOfSale(buildEndOfSaleReq())),true);
assertEquals(true,Objects.nonNull(offerTransactionController.endOfSale(buildEndOfSaleReq())));
}
@Description("Component test for endOfTransaction method")
@Test
void endOfTransaction() {
when(clientService.getStringMono(Mockito.anyString())).thenReturn(getMonoOfString());
assertEquals(Objects.nonNull(offerTransactionController.endOfTransaction(UU_ID_FOR_END_OF_TRANSACTION)),true);
assertEquals(true,Objects.nonNull(offerTransactionController.endOfTransaction(UU_ID_FOR_END_OF_TRANSACTION)));
}
private List<OfferLookup> getOffers() {
......
......@@ -42,7 +42,7 @@ public class EndOfSaleTest {
EndOfSaleReq endOfSaleReq = getEndOfSaleReq();
Mockito.when(endOfSaleRepo.save(ArgumentMatchers.any())).thenReturn(ArgumentMatchers.any());
String uuid = endOfSaleService.putEndofSaleResInDb(endOfSaleReq);
Assert.assertEquals(uuid,"123456788899999998");
Assert.assertEquals("123456788899999998",uuid);
}
@Test
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment