From 8deb35eb5027c476a58f687de532eaa9ba7d52cd Mon Sep 17 00:00:00 2001
From: Cristiano Urban <cristiano.urban@inaf.it>
Date: Fri, 21 May 2021 14:16:57 +0200
Subject: [PATCH] Test: import project container node.

Signed-off-by: Cristiano Urban <cristiano.urban@inaf.it>
---
 server/Dockerfile                               |  8 +++++++-
 server/test_import/testdir-md5sum.txt           |  1 +
 server/test_import/testdir/test111.txt          |  1 +
 server/test_import/testdir/testdir2-md5sum.txt  |  1 +
 server/test_import/testdir/testdir2/test222.txt |  1 +
 transfer_service/import_rpc_server.py           | 16 ++++++++--------
 6 files changed, 19 insertions(+), 9 deletions(-)
 create mode 100644 server/test_import/testdir-md5sum.txt
 create mode 100644 server/test_import/testdir/test111.txt
 create mode 100644 server/test_import/testdir/testdir2-md5sum.txt
 create mode 100644 server/test_import/testdir/testdir2/test222.txt

diff --git a/server/Dockerfile b/server/Dockerfile
index 831be1b..efc67f9 100644
--- a/server/Dockerfile
+++ b/server/Dockerfile
@@ -7,7 +7,13 @@ RUN useradd -m -s /bin/bash server
 # Test user folders
 RUN mkdir -p /mnt/hot_storage/users/cristiano.urban && \
     mkdir -p /mnt/hot_storage/users/sara.bertocco && \
-    mkdir -p /mnt/hot_storage/users/sonia.zorba
+    mkdir -p /mnt/hot_storage/users/sonia.zorba && \
+    mkdir -p /mnt/hot_storage/users/ari-l
+    
+# Copy files for import test
+COPY test_import/testdir/ /mnt/hot_storage/users/ari-l/test_import/testdir/
+COPY test_import/testdir-md5sum.txt /mnt/hot_storage/users/ari-l/test_import/
+RUN chmod -R 755 /mnt/hot_storage/users/ari-l/test_import
 
 # Set up a workdir for the container
 WORKDIR /home/server/
diff --git a/server/test_import/testdir-md5sum.txt b/server/test_import/testdir-md5sum.txt
new file mode 100644
index 0000000..de08534
--- /dev/null
+++ b/server/test_import/testdir-md5sum.txt
@@ -0,0 +1 @@
+1181c1834012245d785120e3505ed169  ./test111.txt
diff --git a/server/test_import/testdir/test111.txt b/server/test_import/testdir/test111.txt
new file mode 100644
index 0000000..58c9bdf
--- /dev/null
+++ b/server/test_import/testdir/test111.txt
@@ -0,0 +1 @@
+111
diff --git a/server/test_import/testdir/testdir2-md5sum.txt b/server/test_import/testdir/testdir2-md5sum.txt
new file mode 100644
index 0000000..e1b4144
--- /dev/null
+++ b/server/test_import/testdir/testdir2-md5sum.txt
@@ -0,0 +1 @@
+348bd3ce10ec00ecc29d31ec97cd5839  ./test222.txt
diff --git a/server/test_import/testdir/testdir2/test222.txt b/server/test_import/testdir/testdir2/test222.txt
new file mode 100644
index 0000000..c200906
--- /dev/null
+++ b/server/test_import/testdir/testdir2/test222.txt
@@ -0,0 +1 @@
+222
diff --git a/transfer_service/import_rpc_server.py b/transfer_service/import_rpc_server.py
index c521bcf..28c4085 100644
--- a/transfer_service/import_rpc_server.py
+++ b/transfer_service/import_rpc_server.py
@@ -68,14 +68,14 @@ class ImportRPCServer(RedisRPCServer):
                 response = { "responseType": "ERROR",
                              "errorCode": 5,
                              "errorMsg": "Directory path expected." }
-            elif username not in path:
-                response = { "responseType": "ERROR",
-                             "errorCode": 6,
-                             "errorMsg": "Directory path does not contain the username." }
-            elif os.path.dirname(path) != pathPrefix + '/' + username:
-                response = { "responseType": "ERROR",
-                             "errorCode": 7,
-                             "errorMsg": "Invalid path, directory must be located in " + pathPrefix + '/' + username  }
+            #elif username not in path:
+            #    response = { "responseType": "ERROR",
+            #                 "errorCode": 6,
+            #                 "errorMsg": "Directory path does not contain the username." }
+            #elif os.path.dirname(path) != pathPrefix + '/' + username:
+            #    response = { "responseType": "ERROR",
+            #                 "errorCode": 7,
+            #                 "errorMsg": "Invalid path, directory must be located in " + pathPrefix + '/' + username  }
             elif self.importReadyQueue.len() >= self.maxReadyJobs:
                 response = { "responseType": "ERROR",
                              "errorCode": 8,
-- 
GitLab