diff options
author | Harald Musum <musum@verizonmedia.com> | 2019-05-20 12:21:05 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2019-05-20 12:21:05 +0200 |
commit | 9e89cc47f51b415b4c637e5e5ecbb49d92fe1b02 (patch) | |
tree | b111cf2b4a34749bc8b0f0b7fa2901c0d84cb42e /node-admin | |
parent | e575145d2b019a2e47c933d9bd5ba4aace3d0a72 (diff) |
Add support for creating a symbolic link
Diffstat (limited to 'node-admin')
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()); + } } |