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