From 879bfc926ec77a031594474dfb5cbc64b797de64 Mon Sep 17 00:00:00 2001 From: lpapadopoulos <lpapadopoulos@ubitech.eu> Date: Wed, 29 May 2024 13:38:26 +0300 Subject: [PATCH] Fix unit tests --- ...raphicSiteManagementApiControllerTest.java | 90 +++++++++++-------- 1 file changed, 54 insertions(+), 36 deletions(-) diff --git a/src/test/java/org/etsi/osl/services/api/gsm674/GeographicSiteManagementApiControllerTest.java b/src/test/java/org/etsi/osl/services/api/gsm674/GeographicSiteManagementApiControllerTest.java index ad1adef..4aea003 100644 --- a/src/test/java/org/etsi/osl/services/api/gsm674/GeographicSiteManagementApiControllerTest.java +++ b/src/test/java/org/etsi/osl/services/api/gsm674/GeographicSiteManagementApiControllerTest.java @@ -5,6 +5,9 @@ import org.etsi.osl.tmf.gsm674.model.GeographicSite; import org.etsi.osl.tmf.gsm674.reposervices.GeographicSiteManagementService; import org.junit.jupiter.api.BeforeEach; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.test.context.ActiveProfiles; import org.junit.jupiter.api.Test; @@ -16,8 +19,11 @@ import org.springframework.http.ResponseEntity; import java.security.Principal; import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; import java.util.List; import java.util.Optional; +import java.util.Set; import java.util.UUID; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -25,8 +31,11 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; - +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContext; +import org.springframework.security.core.context.SecurityContextHolder; @AutoConfigureMockMvc @ActiveProfiles("testing") class GeographicSiteManagementApiControllerTest { @@ -54,17 +63,26 @@ class GeographicSiteManagementApiControllerTest { assertEquals(sites, response.getBody()); } -// @Test -// void testFetchGeographicSite() { -// GeographicSite site = new GeographicSite(); -// // Add test data to sites list -// when(service.findGeographicSiteByUUID("123")).thenReturn(site); -// -// ResponseEntity<GeographicSite> response = controller.retrieveGeographicSite("123"); -// -// assertEquals(HttpStatus.OK, response.getStatusCode()); -// assertEquals(site, response.getBody()); -// } + @Test + void testFetchGeographicSite() { + GeographicSite site = new GeographicSite(); + // Add test data to sites list + when(service.findGeographicSiteByUUID("123")).thenReturn(site); +// Mock SecurityContext and Authentication + SecurityContext securityContext = mock(SecurityContext.class); + Set<GrantedAuthority> authorities = new HashSet<>(); + authorities.add(new SimpleGrantedAuthority("ROLE_ADMIN")); + Authentication authentication = new UsernamePasswordAuthenticationToken("user", "password", authorities); + + SecurityContextHolder.setContext(securityContext); + + when(securityContext.getAuthentication()).thenReturn(authentication); + + ResponseEntity<GeographicSite> response = controller.retrieveGeographicSite(null,"123"); + + assertEquals(HttpStatus.OK, response.getStatusCode()); + assertEquals(site, response.getBody()); + } @Test void testCreateGeographicSite() { @@ -107,29 +125,29 @@ class GeographicSiteManagementApiControllerTest { assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, response.getStatusCode()); } -// @Test -// void testPatchGeographicalSite() { -// String siteId = "siteId"; -// GeographicSite updatedSite = new GeographicSite(); -// // Set up mock service behavior -// when(service.updateGeographicSite(anyString(), any())).thenReturn(updatedSite); -// -// ResponseEntity<GeographicSite> response = controller.patchGeographicalSite(siteId, updatedSite); -// -// assertEquals(HttpStatus.OK, response.getStatusCode()); -// assertEquals(updatedSite, response.getBody()); -// } -// -// @Test -// void testPatchGeographicalSiteException() { -// String siteId = "siteId"; -// GeographicSite updatedSite = new GeographicSite(); -// // Set up mock service behavior -// when(service.updateGeographicSite(anyString(), any())).thenThrow(RuntimeException.class); -// -// ResponseEntity<GeographicSite> response = controller.patchGeographicalSite(siteId, updatedSite); -// -// assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, response.getStatusCode()); -// } + @Test + void testPatchGeographicalSite() { + String siteId = "siteId"; + GeographicSite updatedSite = new GeographicSite(); + // Set up mock service behavior + when(service.updateGeographicSite(anyString(), any())).thenReturn(updatedSite); + + ResponseEntity<GeographicSite> response = controller.patchGeographicalSite(null,siteId, updatedSite); + + assertEquals(HttpStatus.OK, response.getStatusCode()); + assertEquals(updatedSite, response.getBody()); + } + + @Test + void testPatchGeographicalSiteException() { + String siteId = "siteId"; + GeographicSite updatedSite = new GeographicSite(); + // Set up mock service behavior + when(service.updateGeographicSite(anyString(), any())).thenThrow(RuntimeException.class); + + ResponseEntity<GeographicSite> response = controller.patchGeographicalSite(null,siteId, updatedSite); + + assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, response.getStatusCode()); + } } -- GitLab