summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorvalerijf <valerijf@yahoo-inc.com>2016-06-27 11:05:14 +0200
committervalerijf <valerijf@yahoo-inc.com>2016-06-27 11:05:14 +0200
commit7403554c63f97bd3dbc8097d55d5c3f2e0bc5b0a (patch)
treeb60b0d7f42297a18551043b007cfe07b65dc64d7 /node-admin
parent5f205be77c962b77c874f88d5b405276527cecf2 (diff)
Mocks will now throw exception if semaphore is not acquired during initialization
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/NodeAdminStateUpdaterTest.java17
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerMock.java6
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/NodeRepoMock.java6
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/OrchestratorMock.java6
4 files changed, 35 insertions, 0 deletions
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/NodeAdminStateUpdaterTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/NodeAdminStateUpdaterTest.java
index 2b8517ab33b..f2d1037062b 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/NodeAdminStateUpdaterTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/NodeAdminStateUpdaterTest.java
@@ -6,6 +6,8 @@ import com.yahoo.vespa.hosted.node.admin.docker.ContainerName;
import com.yahoo.vespa.hosted.node.admin.integrationTests.OrchestratorMock;
import com.yahoo.vespa.hosted.node.admin.noderepository.NodeRepository;
import com.yahoo.vespa.hosted.node.admin.noderepository.NodeState;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
import org.mockito.stubbing.Answer;
@@ -29,6 +31,21 @@ import static org.mockito.Mockito.when;
*/
public class NodeAdminStateUpdaterTest {
+ @Before
+ public void before() {
+ try {
+ OrchestratorMock.semaphore.acquire();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ OrchestratorMock.reset();
+ }
+
+ @After
+ public void after() {
+ OrchestratorMock.semaphore.release();
+ }
+
@Test
@SuppressWarnings("unchecked")
public void testExceptionIsCaughtAndDataIsPassedAndFreeze() throws Exception {
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerMock.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerMock.java
index b72d1e02049..d1669a847ea 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerMock.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerMock.java
@@ -24,6 +24,12 @@ public class DockerMock implements Docker {
private List<Container> containers = new ArrayList<>();
public static StringBuilder requests = new StringBuilder();
+ public DockerMock() {
+ if(OrchestratorMock.semaphore.tryAcquire()) {
+ throw new RuntimeException("OrchestratorMock.semaphore must be acquired before using DockerMock");
+ }
+ }
+
@Override
public void startContainer(DockerImage dockerImage, HostName hostName, ContainerName containerName,
double minCpuCores, double minDiskAvailableGb, double minMainMemoryAvailableGb) {
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/NodeRepoMock.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/NodeRepoMock.java
index f066f27f560..160a2b8e351 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/NodeRepoMock.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/NodeRepoMock.java
@@ -18,6 +18,12 @@ public class NodeRepoMock implements NodeRepository {
public static final List<ContainerNodeSpec> containerNodeSpecs = new ArrayList<>();
+ public NodeRepoMock() {
+ if(OrchestratorMock.semaphore.tryAcquire()) {
+ throw new RuntimeException("OrchestratorMock.semaphore must be acquired before using NodeRepoMock");
+ }
+ }
+
@Override
public List<ContainerNodeSpec> getContainersToRun() throws IOException {
return containerNodeSpecs;
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/OrchestratorMock.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/OrchestratorMock.java
index a4eb3c38cf3..9c740bcdf44 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/OrchestratorMock.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/OrchestratorMock.java
@@ -23,6 +23,12 @@ public class OrchestratorMock implements Orchestrator {
public static final Semaphore semaphore = new Semaphore(1);
+ public OrchestratorMock() {
+ if(semaphore.tryAcquire()) {
+ throw new RuntimeException("OrchestratorMock.semaphore must be acquired before using OrchestratorMock");
+ }
+ }
+
@Override
public boolean suspend(HostName hostName) {
synchronized (monitor) {