Skip to content

Commit

Permalink
fix: add api to test connection (#18)
Browse files Browse the repository at this point in the history
Co-authored-by: BaldiVi <[email protected]>
  • Loading branch information
BaldiVi-1 and BaldiVi authored Jan 29, 2025
1 parent 9b3abb3 commit cf62e9f
Show file tree
Hide file tree
Showing 7 changed files with 68 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/main/java/it/gov/pagopa/tpp/controller/TppController.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,8 @@ public interface TppController {
@GetMapping("/entityId/{entityId}")
Mono<ResponseEntity<TppDTOWithoutTokenSection>> getTppByEntityId(@Valid @PathVariable String entityId);

@GetMapping("/network/connection/{tppName}")
Mono<ResponseEntity<NetworkResponseDTO>> testConnection(@Valid @PathVariable String tppName);


}
Original file line number Diff line number Diff line change
Expand Up @@ -66,4 +66,10 @@ public Mono<ResponseEntity<TppDTOWithoutTokenSection>> getTppByEntityId(String e
.map(ResponseEntity::ok);
}

@Override
public Mono<ResponseEntity<NetworkResponseDTO>> testConnection(String tppName) {
return tppService.testConnection(tppName)
.map(ResponseEntity::ok);
}

}
9 changes: 9 additions & 0 deletions src/main/java/it/gov/pagopa/tpp/dto/NetworkResponseDTO.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package it.gov.pagopa.tpp.dto;

import lombok.Data;

@Data
public class NetworkResponseDTO {
private String code;
private String message;
}
3 changes: 3 additions & 0 deletions src/main/java/it/gov/pagopa/tpp/service/TppService.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package it.gov.pagopa.tpp.service;

import it.gov.pagopa.tpp.dto.NetworkResponseDTO;
import it.gov.pagopa.tpp.dto.TokenSectionDTO;
import it.gov.pagopa.tpp.dto.TppDTO;
import it.gov.pagopa.tpp.dto.TppDTOWithoutTokenSection;
Expand All @@ -25,4 +26,6 @@ public interface TppService {

Mono<TppDTOWithoutTokenSection> getTppByEntityId(String entityId);

Mono<NetworkResponseDTO> testConnection(String tppName);

}
15 changes: 15 additions & 0 deletions src/main/java/it/gov/pagopa/tpp/service/TppServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import it.gov.pagopa.tpp.configuration.ExceptionMap;
import it.gov.pagopa.tpp.constants.TppConstants.ExceptionMessage;
import it.gov.pagopa.tpp.constants.TppConstants.ExceptionName;
import it.gov.pagopa.tpp.dto.NetworkResponseDTO;
import it.gov.pagopa.tpp.dto.TokenSectionDTO;
import it.gov.pagopa.tpp.dto.TppDTO;
import it.gov.pagopa.tpp.dto.TppDTOWithoutTokenSection;
Expand Down Expand Up @@ -220,4 +221,18 @@ public Mono<TokenSectionDTO> getTokenSection(String tppId) {
.doOnError(error -> log.error("[TPP-SERVICE][GET] Error retrieving TokenSection for tppId {}: {}", tppId, error.getMessage()));
}


@Override
public Mono<NetworkResponseDTO> testConnection(String tppName) {
return Mono.just(createNetworkResponse(tppName));
}

private NetworkResponseDTO createNetworkResponse(String tppName){
NetworkResponseDTO networkResponseDTO = new NetworkResponseDTO();
networkResponseDTO.setCode("PAGOPA_NETWORK_TEST");
networkResponseDTO.setMessage(tppName+" ha raggiunto i nostri sistemi");
return networkResponseDTO;
}


}
19 changes: 19 additions & 0 deletions src/test/java/it/gov/pagopa/tpp/controller/TppControllerTest.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package it.gov.pagopa.tpp.controller;

import com.fasterxml.jackson.databind.ObjectMapper;
import it.gov.pagopa.tpp.dto.NetworkResponseDTO;
import it.gov.pagopa.tpp.dto.TokenSectionDTO;
import it.gov.pagopa.tpp.dto.TppDTO;
import it.gov.pagopa.tpp.dto.TppDTOWithoutTokenSection;
Expand Down Expand Up @@ -178,4 +179,22 @@ void getEnabled_Ok() {
Assertions.assertTrue(resultResponse.containsAll(MOCK_TPP_DTO_LIST));
});
}

@Test
void testConnection() {
NetworkResponseDTO networkResponseDTO = new NetworkResponseDTO();
networkResponseDTO.setMessage("tppName ha raggiunto i nostri sistemi");
networkResponseDTO.setCode("PAGOPA_NETWORK_TEST");
Mockito.when(tppService.testConnection("tppName")).thenReturn(Mono.just(networkResponseDTO));

webClient.get()
.uri("/emd/tpp/network/connection/{tppName}","tppName")
.exchange()
.expectStatus().isOk()
.expectBody(NetworkResponseDTO.class)
.consumeWith(response -> {
NetworkResponseDTO resultResponse = response.getResponseBody();
Assertions.assertNotNull(resultResponse);
});
}
}
12 changes: 12 additions & 0 deletions src/test/java/it/gov/pagopa/tpp/service/TppServiceTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import it.gov.pagopa.common.web.exception.ClientExceptionWithBody;
import it.gov.pagopa.tpp.configuration.ExceptionMap;
import it.gov.pagopa.tpp.dto.NetworkResponseDTO;
import it.gov.pagopa.tpp.dto.mapper.TokenSectionObjectToDTOMapper;
import it.gov.pagopa.tpp.dto.mapper.TppObjectToDTOMapper;
import it.gov.pagopa.tpp.dto.mapper.TppWithoutTokenSectionObjectToDTOMapper;
Expand Down Expand Up @@ -262,6 +263,17 @@ void getTokenSection_TppNotFound() {
throwable.getMessage().contains("Tpp not found during get process"))
.verify();
}


@Test
void testConnection(){
NetworkResponseDTO networkResponseDTO = new NetworkResponseDTO();
networkResponseDTO.setMessage("tppName ha raggiunto i nostri sistemi");
networkResponseDTO.setCode("PAGOPA_NETWORK_TEST");
StepVerifier.create(tppService.testConnection("tppName"))
.expectNext(networkResponseDTO)
.verifyComplete();
}
}


0 comments on commit cf62e9f

Please sign in to comment.