summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2019-05-20 12:21:05 +0200
committerHarald Musum <musum@verizonmedia.com>2019-05-20 12:21:05 +0200
commit9e89cc47f51b415b4c637e5e5ecbb49d92fe1b02 (patch)
treeb111cf2b4a34749bc8b0f0b7fa2901c0d84cb42e /node-admin
parente575145d2b019a2e47c933d9bd5ba4aace3d0a72 (diff)
Add support for creating a symbolic link
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPath.java5
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPathTest.java12
2 files changed, 17 insertions, 0 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPath.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPath.java
index e2b19e73fa3..98944e32d8b 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPath.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPath.java
@@ -207,6 +207,11 @@ public class UnixPath {
}
}
+ public UnixPath createSymbolicLink(Path link) {
+ uncheck(() -> Files.createSymbolicLink(link, path));
+ return new UnixPath(link);
+ }
+
@Override
public String toString() {
return path.toString();
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPathTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPathTest.java
index 9b80b9a9ca2..6dfbc258474 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPathTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPathTest.java
@@ -75,4 +75,16 @@ public class UnixPathTest {
assertTrue(unixPath.isDirectory());
assertEquals(permissions, unixPath.getPermissions());
}
+
+ @Test
+ public void createSymbolicLink() {
+ String original = "foo\nbar\n";
+ UnixPath path = new UnixPath(fs.getPath("example.txt"));
+ path.writeUtf8File(original);
+ String fromFile = path.readUtf8File();
+ assertEquals(original, fromFile);
+
+ UnixPath link = path.createSymbolicLink(fs.getPath("link-to-example.txt"));
+ assertEquals(original, link.readUtf8File());
+ }
}