diff --git a/certify-core/src/main/java/io/mosip/certify/core/constants/ErrorConstants.java b/certify-core/src/main/java/io/mosip/certify/core/constants/ErrorConstants.java index d7fdfa38..0d5dfe12 100644 --- a/certify-core/src/main/java/io/mosip/certify/core/constants/ErrorConstants.java +++ b/certify-core/src/main/java/io/mosip/certify/core/constants/ErrorConstants.java @@ -25,5 +25,4 @@ public class ErrorConstants { public static final String UNSUPPORTED_OPENID_VERSION = "unsupported_openid4vci_draft_version"; public static final String INVALID_TEMPLATE_ID = "template_with_id_not_found"; public static final String EMPTY_TEMPLATE_CONTENT = "empty_template_content"; - public static final String EMPTY_TEMPLATE_NAME = "empty_template_name"; } diff --git a/certify-service/src/test/java/io/mosip/certify/controller/SvgTemplateControllerTest.java b/certify-service/src/test/java/io/mosip/certify/controller/SvgTemplateControllerTest.java new file mode 100644 index 00000000..4d2d2480 --- /dev/null +++ b/certify-service/src/test/java/io/mosip/certify/controller/SvgTemplateControllerTest.java @@ -0,0 +1,72 @@ +package io.mosip.certify.controller; + +import io.mosip.certify.core.constants.ErrorConstants; +import io.mosip.certify.core.dto.ParsedAccessToken; +import io.mosip.certify.core.entity.SvgTemplate; +import io.mosip.certify.core.exception.TemplateException; +import io.mosip.certify.core.spi.SvgTemplateService; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; + +import java.net.http.HttpHeaders; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.UUID; + +@RunWith(SpringRunner.class) +@WebMvcTest(value=SvgTemplateController.class) +public class SvgTemplateControllerTest { + @Autowired + MockMvc mockMvc; + + @MockBean + SvgTemplateService svgTemplateService; + + @MockBean + ParsedAccessToken parsedAccessToken; + + @Test + public void getSvgTemplate_withValidId_thenPass() throws Exception { + SvgTemplate svgTemplate = new SvgTemplate(); + UUID id = UUID.randomUUID(); + svgTemplate.setId(id); + String template = """ + + + + Hello, SVG! + + """; + svgTemplate.setTemplate(template); + LocalDateTime date = LocalDateTime.now(); + svgTemplate.setCreatedtimes(date); + svgTemplate.setUpdatedtimes(date); + + Mockito.when(svgTemplateService.getSvgTemplate(Mockito.any())).thenReturn(svgTemplate); + + mockMvc.perform(get("/public/svg-template/" + id)) + .andExpect(status().isOk()) + .andExpect(content().string(svgTemplate.getTemplate())) + .andExpect(content().contentType("image/svg+xml")) + .andExpect(header().string("Cache-Control", "max-age=86400, public")); + } + + @Test + public void getSvgTemplate_withInValidId_thenFail() throws Exception { + TemplateException templateException = new TemplateException(ErrorConstants.INVALID_TEMPLATE_ID); + UUID id = UUID.randomUUID(); + Mockito.when(svgTemplateService.getSvgTemplate(id)).thenThrow(templateException); + + mockMvc.perform(get("/public/svg-template/" + id)) + .andExpect(status().isNotFound()); + } +} diff --git a/certify-service/src/test/java/io/mosip/certify/services/SvgRenderTemplateServiceTest.java b/certify-service/src/test/java/io/mosip/certify/services/SvgRenderTemplateServiceTest.java index 65df6fd1..d79728f3 100644 --- a/certify-service/src/test/java/io/mosip/certify/services/SvgRenderTemplateServiceTest.java +++ b/certify-service/src/test/java/io/mosip/certify/services/SvgRenderTemplateServiceTest.java @@ -2,7 +2,7 @@ import io.mosip.certify.core.constants.ErrorConstants; import io.mosip.certify.core.entity.SvgTemplate; -import io.mosip.certify.core.exception.CertifyException; +import io.mosip.certify.core.exception.TemplateException; import io.mosip.certify.core.repository.SvgTemplateRepository; import lombok.extern.slf4j.Slf4j; import org.junit.Assert; @@ -51,10 +51,10 @@ public void getSvgTemplate_withValidDetail_thenPass() { @Test public void getSvgTemplate_withInvalidId_thenFail() { Mockito.when(svgRenderTemplateRepository.findById(Mockito.any())).thenReturn(Optional.empty()); - CertifyException certifyException = Assert.assertThrows(CertifyException.class, () -> { + TemplateException templateException = Assert.assertThrows(TemplateException.class, () -> { svgRenderTemplateService.getSvgTemplate(UUID.randomUUID()); }); - Assert.assertEquals(ErrorConstants.INVALID_TEMPLATE_ID, certifyException.getErrorCode()); + Assert.assertEquals(ErrorConstants.INVALID_TEMPLATE_ID, templateException.getErrorCode()); } }