Skip to content
Snippets Groups Projects
Commit 4c9661c6 authored by VidyaDharani Lokam's avatar VidyaDharani Lokam
Browse files

[MS-43214] improve core code coverage

parent 9b376940
No related branches found
No related tags found
1 merge request!368[MS-43214] improve core code coverage
variables:
CORE_BUILD_SUBDIR: unit-core
IBM_BUILD_SUBDIR: provider/unit-ibm/unit-ocp
IBM_INT_TEST_PY_SUBDIR: testing/unit_test_ibm
IBM_INT_TEST_PY_FILE: run_test.py
......
config.stopBubbling = true
lombok.addLombokGeneratedAnnotation = true
......@@ -214,6 +214,13 @@
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.11</version>
<configuration>
<excludes>
<exclude>org/opengroup/osdu/unitservice/configuration/*</exclude>
<exclude>org/opengroup/osdu/unitservice/swagger/*</exclude>
</excludes>
</configuration>
<executions>
<execution>
<goals>
......
package org.opengroup.osdu.unitservice.api;
import org.junit.Before;
import org.junit.Test;
import org.springframework.http.HttpStatus;
import static org.junit.Assert.assertEquals;
public class HealthCheckTest {
private HealthCheck sut;
@Before
public void setup() {
this.sut = new HealthCheck();
}
@Test
public void should_returnHttp200_when_checkLiveness() {
assertEquals(HttpStatus.OK, this.sut.livenessCheck().getStatusCode());
}
@Test
public void should_returnHttp200_when_checkReadiness() {
assertEquals(HttpStatus.OK, this.sut.readinessCheck().getStatusCode());
}
}
package org.opengroup.osdu.unitservice.api;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import org.opengroup.osdu.core.common.info.VersionInfoBuilder;
import org.opengroup.osdu.core.common.model.info.VersionInfo;
import java.io.IOException;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public class InfoApiTest {
@InjectMocks
private InfoApi sut;
@Mock
private VersionInfoBuilder versionInfoBuilder;
@Test
public void should_return200_getVersionInfo() throws IOException {
VersionInfo expectedVersionInfo = VersionInfo.builder()
.groupId("group")
.artifactId("artifact")
.version("0.1.0")
.buildTime("1000")
.branch("master")
.commitId("7777")
.commitMessage("Test commit")
.build();
when(versionInfoBuilder.buildVersionInfo()).thenReturn(expectedVersionInfo);
VersionInfo actualVersionInfo = this.sut.info();
assertEquals(expectedVersionInfo, actualVersionInfo);
}
}
......@@ -11,9 +11,10 @@ import org.opengroup.osdu.unitservice.util.AppError;
import org.opengroup.osdu.unitservice.util.AppException;
import org.junit.Test;
import org.springframework.http.ResponseEntity;
import java.io.IOException;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR;
@RunWith(MockitoJUnitRunner.class)
public class GlobalExceptionMapperTest {
......@@ -62,4 +63,18 @@ public class GlobalExceptionMapperTest {
assertEquals("Bad Request", body.getReason());
Mockito.verify(jaxRsDpsLog).error(exception.getError().getMessage(), exception);
}
@Test
public void should_handleIOException_andReturnInternalServerError() {
IOException exception = new IOException("IO error");
ResponseEntity<AppError> response = globalExceptionMapper.handleIOException(exception);
AppError body = response.getBody();
assertNotNull(body);
assertEquals(INTERNAL_SERVER_ERROR.value(), body.getCode());
assertEquals("IO error", body.getMessage());
assertEquals("IOException", body.getReason());
Mockito.verify(jaxRsDpsLog).error(Mockito.eq("IO error"), Mockito.any(AppException.class));
}
}
package org.opengroup.osdu.unitservice.middleware;
import org.junit.After;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import org.opengroup.osdu.core.common.http.ResponseHeadersFactory;
import org.opengroup.osdu.core.common.model.http.DpsHeaders;
import jakarta.servlet.FilterChain;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.never;
@RunWith(MockitoJUnitRunner.class)
public class ResponseHeaderFilterTest {
@Mock
private DpsHeaders dpsHeaders;
@Mock
private ResponseHeadersFactory responseHeadersFactory;
@Mock
private HttpServletRequest httpServletRequest;
@Mock
private HttpServletResponse httpServletResponse;
@Mock
private FilterChain filterChain;
@InjectMocks
private ResponseHeaderFilter responseHeaderFilter;
@Test
public void test_doFilter_Handles_OptionsRequest() throws Exception {
when(httpServletRequest.getMethod()).thenReturn("OPTIONS");
responseHeaderFilter.doFilter(httpServletRequest, httpServletResponse, filterChain);
verify(httpServletResponse).setStatus(HttpServletResponse.SC_OK);
}
@Test
public void test_doFilter_Handles_GETRequest() throws Exception {
when(httpServletRequest.getMethod()).thenReturn("GET");
responseHeaderFilter.doFilter(httpServletRequest, httpServletResponse, filterChain);
verify(httpServletResponse, never()).setStatus(HttpServletResponse.SC_OK);
}
@After
public void tearDown() {
responseHeaderFilter.destroy();
}
}
package org.opengroup.osdu.unitservice.middleware;
import jakarta.servlet.ServletException;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import org.opengroup.osdu.core.common.http.ResponseHeadersFactory;
import org.opengroup.osdu.core.common.model.http.DpsHeaders;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map;
import static org.mockito.Mockito.verify;
import static org.powermock.api.mockito.PowerMockito.when;
@RunWith(MockitoJUnitRunner.class)
public class UnitFilterTest {
@Mock
private DpsHeaders dpsHeaders;
@Mock
private ResponseHeadersFactory responseHeadersFactory;
@Mock
private FilterChain filterChain;
@Mock
private ServletRequest servletRequest;
@Mock
private HttpServletResponse httpServletResponse;
@InjectMocks
private UnitFilter unitFilter;
@Before
public void setUp() {
unitFilter.ACCESS_CONTROL_ALLOW_ORIGIN_DOMAINS = "*";
}
@Test
public void should_AddHeadersIn_doFilter() throws IOException, ServletException {
// Arrange
when(responseHeadersFactory.getResponseHeaders("*")).thenReturn(Map.of("Custom-Header", "Value"));
when(dpsHeaders.getCorrelationId()).thenReturn("correlation-id");
// Act
unitFilter.doFilter(servletRequest, httpServletResponse, filterChain);
// Assert
verify(filterChain).doFilter(servletRequest, httpServletResponse);
verify(dpsHeaders).addCorrelationIdIfMissing();
verify(httpServletResponse).setHeader("Custom-Header", "Value");
verify(httpServletResponse).addHeader(DpsHeaders.CORRELATION_ID, "correlation-id");
}
@After
public void tearDown() {
unitFilter.destroy();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment