INFRA-3970 | Dhruv | fixes tests for egress controller
This commit is contained in:
@@ -24,6 +24,7 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
class EgressControllerTest {
|
||||
|
||||
private MockMvc mockMvc;
|
||||
|
||||
@Mock
|
||||
@@ -38,32 +39,72 @@ class EgressControllerTest {
|
||||
return egressDto;
|
||||
}
|
||||
|
||||
private static EgressUpdateRequestData getEgressUpdateRequestData(String cluster,
|
||||
List<EgressDto> egressData) {
|
||||
private static EgressDto getEgressDto(
|
||||
String host, String port, String team,
|
||||
String vertical, String manifestEnvironment, String manifestName
|
||||
) {
|
||||
EgressDto egressDto = new EgressDto();
|
||||
egressDto.setHost(host);
|
||||
egressDto.setPort(port);
|
||||
egressDto.setTeam(team);
|
||||
egressDto.setVertical(vertical);
|
||||
egressDto.setManifestEnvironment(manifestEnvironment);
|
||||
egressDto.setManifestName(manifestName);
|
||||
return egressDto;
|
||||
}
|
||||
|
||||
private static EgressUpdateRequestData getEgressUpdateRequestData(
|
||||
String cluster,
|
||||
List<EgressDto> egressData
|
||||
) {
|
||||
EgressUpdateRequestData egressUpdateRequestData = new EgressUpdateRequestData();
|
||||
egressUpdateRequestData.setCluster(cluster);
|
||||
egressUpdateRequestData.setEgressData(egressData);
|
||||
return egressUpdateRequestData;
|
||||
}
|
||||
|
||||
private static List<EgressDto> getEgressDtoList() {
|
||||
private static List<EgressDto> getRequestEgressDtoList() {
|
||||
return List.of(getEgressDto("test1.com", "8080", "team1", "vertical1", "env1",
|
||||
"manifest1"),
|
||||
getEgressDto("test2.com", "8081", "team2", "vertical2", "evn2",
|
||||
"manifest2"),
|
||||
getEgressDto("test3.com", "8082", "team3", "vertical3", "env3",
|
||||
"manifest3"));
|
||||
}
|
||||
|
||||
|
||||
private static List<EgressDto> getResponseEgressDtoList() {
|
||||
return List.of(getEgressDto("test1.com", "8080"),
|
||||
getEgressDto("test2.com", "8081"),
|
||||
getEgressDto("test3.com", "8082"));
|
||||
}
|
||||
|
||||
private static Egress getEgress(String host, String port, String cluster) {
|
||||
private static Egress getEgress(
|
||||
String host, String port, String cluster, String team,
|
||||
String vertical, String manifestEnvironment, String manifestName
|
||||
) {
|
||||
Egress egress = new Egress();
|
||||
egress.setHost(host);
|
||||
egress.setPort(port);
|
||||
egress.setCluster(cluster);
|
||||
egress.setTeam(team);
|
||||
egress.setVertical(vertical);
|
||||
egress.setManifestEnvironment(manifestEnvironment);
|
||||
egress.setManifestName(manifestName);
|
||||
return egress;
|
||||
}
|
||||
|
||||
private static List<Egress> getEgressList() {
|
||||
return List.of(getEgress("test1.com", "8080", "spike.np.navi-tech.in"),
|
||||
getEgress("test2.com", "8081", "spike.np.navi-tech.in"),
|
||||
getEgress("test3.com", "8082", "spike.np.navi-tech.in"));
|
||||
private static List<Egress> getEgressList() {
|
||||
return List.of(
|
||||
getEgress("test1.com", "8080", "spike.np.navi-tech.in",
|
||||
"team1", "vertical1", "env1",
|
||||
"manifest1"),
|
||||
getEgress("test2.com", "8081", "prod.cmd.navi-tech.in",
|
||||
"team2", "vertical2", "evn2",
|
||||
"manifest2"),
|
||||
getEgress("test3.com", "8082", "aps1.prod.navi-tech.in",
|
||||
"team3", "vertical3", "env3",
|
||||
"manifest3"));
|
||||
}
|
||||
|
||||
@BeforeEach
|
||||
@@ -78,10 +119,11 @@ class EgressControllerTest {
|
||||
@Nested
|
||||
@DisplayName("GET /api/egress")
|
||||
class GetEgressTest {
|
||||
|
||||
@Test
|
||||
@DisplayName("GET /api/egress - 200")
|
||||
void shouldGetEgress() throws Exception {
|
||||
List<EgressDto> egresses = getEgressDtoList();
|
||||
List<EgressDto> egresses = getResponseEgressDtoList();
|
||||
String expectedJson = objectMapper.writeValueAsString(egresses);
|
||||
final String cluster = "test-cluster";
|
||||
when(egressService.getEgresses("test-cluster")).thenReturn(egresses);
|
||||
@@ -113,7 +155,7 @@ class EgressControllerTest {
|
||||
@Test
|
||||
@DisplayName("POST /api/egress - 200")
|
||||
void shouldUpdateEgress() throws Exception {
|
||||
List<EgressDto> egresses = getEgressDtoList();
|
||||
List<EgressDto> egresses = getRequestEgressDtoList();
|
||||
EgressUpdateRequest egressUpdateRequest = new EgressUpdateRequest();
|
||||
List<EgressUpdateRequestData> egressUpdateRequestData =
|
||||
List.of(getEgressUpdateRequestData("spike.np.navi-tech.in", egresses));
|
||||
@@ -136,7 +178,7 @@ class EgressControllerTest {
|
||||
@Test
|
||||
@DisplayName("POST /api/egress - 400 Bad Request Reason: Invalid cluster name")
|
||||
void shouldThrowBadRequestOnInvalidCluster() throws Exception {
|
||||
List<EgressDto> egresses = getEgressDtoList();
|
||||
List<EgressDto> egresses = getRequestEgressDtoList();
|
||||
List<EgressUpdateRequestData> egressUpdateRequestData =
|
||||
List.of(getEgressUpdateRequestData("spke.np.navi-tech.in", egresses));
|
||||
EgressUpdateRequest egressUpdateRequest = new EgressUpdateRequest();
|
||||
@@ -165,7 +207,7 @@ class EgressControllerTest {
|
||||
@Test
|
||||
@DisplayName("POST /api/egress - 500 Internal Server Error")
|
||||
void shouldUpdateEgressInterServerError() throws Exception {
|
||||
List<EgressDto> egresses = getEgressDtoList();
|
||||
List<EgressDto> egresses = getRequestEgressDtoList();
|
||||
List<EgressUpdateRequestData> egressUpdateRequestData =
|
||||
List.of(getEgressUpdateRequestData("spike.np.navi-tech.in", egresses));
|
||||
EgressUpdateRequest egressUpdateRequest = new EgressUpdateRequest();
|
||||
@@ -173,8 +215,6 @@ class EgressControllerTest {
|
||||
boolean dryRun = true;
|
||||
when(egressService.updateEgresses(egressUpdateRequestData, dryRun))
|
||||
.thenThrow(new RuntimeException());
|
||||
String expectedJson = objectMapper.writeValueAsString(egressUpdateRequest);
|
||||
|
||||
mockMvc.perform(MockMvcRequestBuilders.post("/api/egress?dryRun=" + dryRun)
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content(objectMapper.writeValueAsString(egressUpdateRequest)))
|
||||
|
||||
@@ -34,13 +34,7 @@ class EgressServiceImplTest {
|
||||
private ObjectMapper objectMapper;
|
||||
|
||||
private EgressService egressService;
|
||||
|
||||
private static EgressDto getEgressDto(String host, String port) {
|
||||
EgressDto egressDto = new EgressDto();
|
||||
egressDto.setHost(host);
|
||||
egressDto.setPort(port);
|
||||
return egressDto;
|
||||
}
|
||||
|
||||
|
||||
private static EgressDto getEgressDto(
|
||||
String host, String port, String team,
|
||||
@@ -122,11 +116,14 @@ class EgressServiceImplTest {
|
||||
void shouldAddEgresses() {
|
||||
List<EgressUpdateRequestData> egressUpdateRequestData = new ArrayList<>();
|
||||
egressUpdateRequestData.add(getEgressUpdateRequestData("spike.np.navi-tech.in",
|
||||
List.of(getEgressDto("test1.com", "8080"))));
|
||||
List.of(getEgressDto("test1.com", "8080", "team1", "vertical1", "env1",
|
||||
"manifest1"))));
|
||||
egressUpdateRequestData.add(getEgressUpdateRequestData("prod.cmd.navi-tech.in",
|
||||
List.of(getEgressDto("test2.com", "8081"))));
|
||||
List.of(getEgressDto("test2.com", "8081", "team2", "vertical2", "evn2",
|
||||
"manifest2"))));
|
||||
egressUpdateRequestData.add(getEgressUpdateRequestData("aps1.prod.navi-tech.in",
|
||||
List.of(getEgressDto("test3.com", "8082"))));
|
||||
List.of(getEgressDto("test3.com", "8082", "team3", "vertical3", "env3",
|
||||
"manifest3"))));
|
||||
List<Egress> egresses = getEgressList();
|
||||
Set<Egress> newEgresses = new HashSet<>(egresses);
|
||||
boolean dryRun = false;
|
||||
@@ -145,11 +142,14 @@ class EgressServiceImplTest {
|
||||
void shouldNotUpdateRepositoryWhenDryRunIsTrue() {
|
||||
List<EgressUpdateRequestData> egressUpdateRequestData = new ArrayList<>();
|
||||
egressUpdateRequestData.add(getEgressUpdateRequestData("spike.np.navi-tech.in",
|
||||
List.of(getEgressDto("test1.com", "8080"))));
|
||||
List.of(getEgressDto("test1.com", "8080", "team1", "vertical1", "env1",
|
||||
"manifest1"))));
|
||||
egressUpdateRequestData.add(getEgressUpdateRequestData("prod.cmd.navi-tech.in",
|
||||
List.of(getEgressDto("test2.com", "8081"))));
|
||||
List.of(getEgressDto("test2.com", "8081", "team2", "vertical2", "evn2",
|
||||
"manifest2"))));
|
||||
egressUpdateRequestData.add(getEgressUpdateRequestData("aps1.prod.navi-tech.in",
|
||||
List.of(getEgressDto("test3.com", "8082"))));
|
||||
List.of(getEgressDto("test3.com", "8082", "team3", "vertical3", "env3",
|
||||
"manifest3"))));
|
||||
List<Egress> egresses = getEgressList();
|
||||
Set<Egress> newEgresses = new HashSet<>(egresses);
|
||||
boolean dryRun = true;
|
||||
|
||||
Reference in New Issue
Block a user