From 1907e7fb4997acf5643fce59ce13d4148f698143 Mon Sep 17 00:00:00 2001
From: Nicola Fulvio Calabria <nicola.calabria@inaf.it>
Date: Fri, 8 Oct 2021 15:56:41 +0200
Subject: [PATCH] Minor fixes

---
 .../java/it/inaf/oats/vospace/UriService.java |  6 ++---
 .../it/inaf/oats/vospace/UriServiceTest.java  | 24 +++++++++++--------
 2 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/src/main/java/it/inaf/oats/vospace/UriService.java b/src/main/java/it/inaf/oats/vospace/UriService.java
index f140d2a..40b509f 100644
--- a/src/main/java/it/inaf/oats/vospace/UriService.java
+++ b/src/main/java/it/inaf/oats/vospace/UriService.java
@@ -329,8 +329,6 @@ public class UriService {
         String linkTarget = linkNode.getTarget();
 
         if (URIUtils.isURIInternal(linkTarget)) {
-            return linkNode;
-        } else {
             String targetPath = URIUtils.returnVosPathFromNodeURI(linkTarget, authority);
 
             Optional<Node> targetNodeOpt = nodeDao.listNode(targetPath);
@@ -341,6 +339,8 @@ public class UriService {
             } else {
                 return targetNode;
             }
+        } else {
+            return linkNode;
         }
     }
 
@@ -364,7 +364,7 @@ public class UriService {
             return this.uri;
         }
 
-        public boolean isEndpointCompliant(String endpoint) {
+        public boolean isEndpointCompliant(String endpoint) {            
             return endpoint.toLowerCase()
                     .startsWith(this.protocolString + "://");
         }
diff --git a/src/test/java/it/inaf/oats/vospace/UriServiceTest.java b/src/test/java/it/inaf/oats/vospace/UriServiceTest.java
index b14dc36..95042b2 100644
--- a/src/test/java/it/inaf/oats/vospace/UriServiceTest.java
+++ b/src/test/java/it/inaf/oats/vospace/UriServiceTest.java
@@ -15,6 +15,7 @@ import it.inaf.oats.vospace.exception.InvalidArgumentException;
 import it.inaf.oats.vospace.exception.NodeBusyException;
 import it.inaf.oats.vospace.exception.PermissionDeniedException;
 import it.inaf.oats.vospace.exception.ProtocolNotSupportedException;
+import it.inaf.oats.vospace.persistence.LinkedServiceDAO;
 import it.inaf.oats.vospace.persistence.LocationDAO;
 import it.inaf.oats.vospace.persistence.NodeDAO;
 import it.inaf.oats.vospace.persistence.model.Location;
@@ -69,6 +70,9 @@ public class UriServiceTest {
 
     @MockBean
     private CreateNodeService createNodeService;
+    
+    @MockBean
+    private LinkedServiceDAO linkedServiceDAO;
 
     @MockBean
     private FileServiceClient fileServiceClient;
@@ -94,12 +98,15 @@ public class UriServiceTest {
             return request;
         }
     }
-
+    
+    public final static String PORTAL_URL = "http://portalurl.ia2.inaf.it/portal/files";
+    
     @BeforeEach
     public void init() {
         Location location = new Location();
         location.setType(LocationType.ASYNC);
         when(locationDAO.getNodeLocation(any())).thenReturn(Optional.of(location));
+        when(linkedServiceDAO.isLinkedServiceUrl(eq(PORTAL_URL))).thenReturn(Boolean.TRUE);       
     }
 
     @Test
@@ -381,14 +388,7 @@ public class UriServiceTest {
         when(user.getName()).thenReturn("user1");
         
         when(servletRequest.getUserPrincipal()).thenReturn(user);
-
-        
-        when(rapClient.exchangeToken(argThat(req -> {
-            assertEquals("<token>", req.getSubjectToken());
-            assertEquals("http://file-service/mydummydata1", req.getResource());
-            return true;
-        }), any())).thenReturn("<new-token>");
-        
+       
         JobSummary job = getPullFromVoSpaceJob(targetOfPull);
         Transfer tr = uriService.getTransfer(job);
         
@@ -589,9 +589,13 @@ public class UriServiceTest {
         mockPublicNode("parent_dir");
         mockPublicNode("parent_dir/file1");
         mockPublicNode("parent_dir/file2");
+        
+        when(fileServiceClient.startArchiveJob(any(), any()))
+                .thenReturn("http://file-service/mockarchive");
 
         uriService.getNegotiatedTransfer(job, transfer);
-
+        
+        
         verify(fileServiceClient, times(1)).startArchiveJob(transfer, "archive-job-id");
     }
 
-- 
GitLab