summaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
commit72231250ed81e10d66bfe70701e64fa5fe50f712 (patch)
tree2728bba1131a6f6e5bdf95afec7d7ff9358dac50 /config-model/src/test/java/com/yahoo/config/model/MockModelContext.java
Publish
Diffstat (limited to 'config-model/src/test/java/com/yahoo/config/model/MockModelContext.java')
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/MockModelContext.java103
1 files changed, 103 insertions, 0 deletions
diff --git a/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java b/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java
new file mode 100644
index 00000000000..c462cde3fb2
--- /dev/null
+++ b/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java
@@ -0,0 +1,103 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.config.model;
+
+import com.yahoo.config.model.api.*;
+import com.yahoo.config.application.api.ApplicationPackage;
+import com.yahoo.config.model.application.provider.BaseDeployLogger;
+import com.yahoo.config.application.api.DeployLogger;
+import com.yahoo.config.application.api.FileRegistry;
+import com.yahoo.config.model.application.provider.MockFileRegistry;
+import com.yahoo.config.model.application.provider.StaticConfigDefinitionRepo;
+import com.yahoo.config.model.test.MockApplicationPackage;
+import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.config.provision.Rotation;
+import com.yahoo.config.provision.Zone;
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Optional;
+import java.util.Set;
+
+/**
+* @author musum
+*/
+public class MockModelContext implements ModelContext {
+ private final ApplicationPackage applicationPackage;
+
+ public MockModelContext() {
+ this.applicationPackage = MockApplicationPackage.createEmpty();
+ }
+
+ public MockModelContext(ApplicationPackage applicationPackage) {
+ this.applicationPackage = applicationPackage;
+ }
+
+ @Override
+ public ApplicationPackage applicationPackage() {
+ return applicationPackage;
+ }
+
+ @Override
+ public Optional<Model> previousModel() {
+ return Optional.empty();
+ }
+
+ @Override
+ public Optional<ApplicationPackage> permanentApplicationPackage() {
+ return Optional.empty();
+ }
+
+ @Override
+ public Optional<HostProvisioner> hostProvisioner() {
+ return Optional.empty();
+ }
+
+ @Override
+ public DeployLogger deployLogger() {
+ return new BaseDeployLogger();
+ }
+
+ @Override
+ public ConfigDefinitionRepo configDefinitionRepo() {
+ return new StaticConfigDefinitionRepo();
+ }
+
+ @Override
+ public FileRegistry getFileRegistry() {
+ return new MockFileRegistry();
+ }
+
+ @Override
+ public Properties properties() {
+ return new Properties() {
+ @Override
+ public boolean multitenant() {
+ return false;
+ }
+
+ @Override
+ public ApplicationId applicationId() {
+ return ApplicationId.defaultId();
+ }
+
+ @Override
+ public List<ConfigServerSpec> configServerSpecs() {
+ return Collections.emptyList();
+ }
+
+ @Override
+ public boolean hostedVespa() {return false; }
+
+ @Override
+ public Zone zone() {
+ return Zone.defaultZone();
+ }
+
+ @Override
+ public Set<Rotation> rotations() {
+ return new HashSet<>();
+ }
+ };
+ }
+}