summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2018-04-06 13:02:46 +0200
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2018-04-09 15:28:24 +0200
commit27c4546fc9857561ec747f8a64337a44077f0bf8 (patch)
tree24b6427be2447294d9477d8932b34cb27a9d0458 /controller-server
parente871ba3e38053dbb011f5fda98f66ece05987a5c (diff)
Add mock for tests!
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/MockBuildService.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/MockBuildService.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/MockBuildService.java
new file mode 100644
index 00000000000..80b56867308
--- /dev/null
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/MockBuildService.java
@@ -0,0 +1,40 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.hosted.controller.deployment;
+
+import com.yahoo.vespa.hosted.controller.api.integration.BuildService;
+import com.yahoo.vespa.hosted.controller.application.DeploymentJobs;
+import com.yahoo.vespa.hosted.controller.application.DeploymentJobs.JobType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author jvenstad
+ */
+public class MockBuildService implements BuildService {
+
+ private final List<BuildJob> jobs = new ArrayList<>();
+
+ @Override
+ public boolean trigger(BuildJob buildJob) {
+ return jobs.add(buildJob);
+ }
+
+ /** List all running jobs. */
+ public List<BuildJob> jobs() {
+ return new ArrayList<>(jobs);
+ }
+
+ /** List and remove all running jobs. */
+ public List<BuildJob> takeJobsToRun() {
+ List<BuildJob> jobsToRun = jobs();
+ jobs.clear();
+ return jobsToRun;
+ }
+
+ /** Remove all running jobs for the given project. */
+ public boolean removeJob(long projectId, JobType jobType) {
+ return jobs.remove(new BuildJob(projectId, jobType.jobName()));
+ }
+
+}