From 7ee14a918aaa9e68a2f456a3383b3059b4e6c240 Mon Sep 17 00:00:00 2001 From: Mirna Gama Date: Fri, 12 Jan 2024 15:32:16 -0300 Subject: [PATCH] [R9] Unit test class for token service --- .../service/auth/jwt/TokenServiceTest.java | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/test/java/com/mirna/hospitalmanagementapi/unit/application/service/auth/jwt/TokenServiceTest.java diff --git a/src/test/java/com/mirna/hospitalmanagementapi/unit/application/service/auth/jwt/TokenServiceTest.java b/src/test/java/com/mirna/hospitalmanagementapi/unit/application/service/auth/jwt/TokenServiceTest.java new file mode 100644 index 0000000..a8b63d3 --- /dev/null +++ b/src/test/java/com/mirna/hospitalmanagementapi/unit/application/service/auth/jwt/TokenServiceTest.java @@ -0,0 +1,63 @@ +package com.mirna.hospitalmanagementapi.unit.application.service.auth.jwt; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Order; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.api.TestMethodOrder; +import org.junit.jupiter.api.MethodOrderer.OrderAnnotation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; + +import com.mirna.hospitalmanagementapi.application.services.auth.jwt.TokenServiceImpl; +import com.mirna.hospitalmanagementapi.domain.dtos.auth.UserDTO; +import com.mirna.hospitalmanagementapi.domain.entities.auth.User; + +/** + * + * @author Mirna Gama + * @version 1.0 + */ +@SpringBootTest +@AutoConfigureMockMvc(addFilters = false) +@TestInstance(TestInstance.Lifecycle.PER_CLASS) +@TestMethodOrder(OrderAnnotation.class) +@ActiveProfiles("test") +public class TokenServiceTest { + + @Autowired + private TokenServiceImpl tokenService; + + private String testToken; + + /** + * Generates the authorization token + */ + @Test + @Order(1) + @DisplayName("Should generate an authorization token") + public void testGenerateToken() throws Exception { + UserDTO userDTO = new UserDTO("test", "password"); + + testToken = tokenService.generateToken(new User(userDTO)); + + assertNotNull(testToken); + } + + /** + * Gets the jwt subject + */ + @Test + @Order(2) + @DisplayName("Should get the authorization token subject") + public void testGetTokenSubject() throws Exception { + String subject = tokenService.getTokenSubject(testToken); + + assertEquals("test", subject); + } +}