summaryrefslogtreecommitdiffstats
path: root/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/MakeDirectoryTaskTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/MakeDirectoryTaskTest.java')
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/MakeDirectoryTaskTest.java49
1 files changed, 49 insertions, 0 deletions
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/MakeDirectoryTaskTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/MakeDirectoryTaskTest.java
new file mode 100644
index 00000000000..cb4d8ab677c
--- /dev/null
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/MakeDirectoryTaskTest.java
@@ -0,0 +1,49 @@
+// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.hosted.node.admin.task;
+
+import com.yahoo.vespa.hosted.node.admin.io.FileSystem;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.InOrder;
+
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.inOrder;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public class MakeDirectoryTaskTest {
+ private final FileSystem fileSystem = mock(FileSystem.class);
+ private final Task.TaskContext context = mock(Task.TaskContext.class);
+ private final Path root = Paths.get("/");
+ private final Path fooDir = root.resolve("foo");
+ private final Path barDir = fooDir.resolve("bar");
+ private final MakeDirectoryTask task = new MakeDirectoryTask(barDir);
+
+ @Before
+ public void setUp() {
+ when(context.getFileSystem()).thenReturn(fileSystem);
+ }
+
+ @Test
+ public void directoryExists() {
+ when(fileSystem.isDirectory(barDir)).thenReturn(true);
+ assertFalse(task.execute(context));
+ }
+
+ @Test
+ public void withParents() {
+ when(fileSystem.isDirectory(barDir)).thenReturn(false);
+ when(fileSystem.isDirectory(fooDir)).thenReturn(false);
+ when(fileSystem.isDirectory(root)).thenReturn(true);
+ assertTrue(task.withParents().execute(context));
+
+ InOrder inOrder = inOrder(fileSystem);
+ inOrder.verify(fileSystem).createDirectory(fooDir);
+ inOrder.verify(fileSystem).createDirectory(barDir);
+ inOrder.verifyNoMoreInteractions();
+ }
+} \ No newline at end of file