summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOla Aunrønning <olaa@verizonmedia.com>2021-06-09 21:18:43 +0200
committerGitHub <noreply@github.com>2021-06-09 21:18:43 +0200
commitb77e40981df87b1da2f8a35f5b78390a75c33642 (patch)
treee5b098385890062f2225172f52c61d34fe465d4b
parent722e3a94d82e1c0ce5fd30e974464d23766c0a5a (diff)
parent2109e301490bbfd0e98b77f0b360b4f1abe5af5a (diff)
Merge pull request #18183 from vespa-engine/olaa/horizon-proxy
Add Horizon client
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/ServiceRegistry.java3
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/horizon/HorizonClient.java26
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/horizon/MockHorizonClient.java47
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/horizon/package-info.java5
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ServiceRegistryMock.java8
5 files changed, 89 insertions, 0 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/ServiceRegistry.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/ServiceRegistry.java
index 0b17428296c..fdd66c037d9 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/ServiceRegistry.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/ServiceRegistry.java
@@ -16,6 +16,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.deployment.ArtifactRepo
import com.yahoo.vespa.hosted.controller.api.integration.deployment.TesterCloud;
import com.yahoo.vespa.hosted.controller.api.integration.dns.NameService;
import com.yahoo.vespa.hosted.controller.api.integration.entity.EntityService;
+import com.yahoo.vespa.hosted.controller.api.integration.horizon.HorizonClient;
import com.yahoo.vespa.hosted.controller.api.integration.organization.ContactRetriever;
import com.yahoo.vespa.hosted.controller.api.integration.organization.DeploymentIssues;
import com.yahoo.vespa.hosted.controller.api.integration.organization.IssueHandler;
@@ -96,4 +97,6 @@ public interface ServiceRegistry {
ChangeRequestClient changeRequestClient();
AccessControlService accessControlService();
+
+ HorizonClient horizonClient();
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/horizon/HorizonClient.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/horizon/HorizonClient.java
new file mode 100644
index 00000000000..5624fc7e4e6
--- /dev/null
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/horizon/HorizonClient.java
@@ -0,0 +1,26 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.hosted.controller.api.integration.horizon;
+
+import com.yahoo.slime.Slime;
+import java.io.InputStream;
+
+/**
+ * @author olaa
+ */
+public interface HorizonClient {
+
+ InputStream getMetrics(Slime query);
+
+ InputStream getUser();
+
+ InputStream getDashboard(String dashboardId) ;
+
+ InputStream getFavorite(String userId);
+
+ InputStream getTopFolders();
+
+ InputStream getRecent(String userId);
+
+ InputStream getClipboard(String dashboardId);
+
+}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/horizon/MockHorizonClient.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/horizon/MockHorizonClient.java
new file mode 100644
index 00000000000..8afd613fb11
--- /dev/null
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/horizon/MockHorizonClient.java
@@ -0,0 +1,47 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.hosted.controller.api.integration.horizon;
+
+import com.yahoo.slime.Slime;
+
+import java.io.InputStream;
+
+/**
+ * @author olaa
+ */
+public class MockHorizonClient implements HorizonClient {
+
+ @Override
+ public InputStream getMetrics(Slime query) {
+ return null;
+ }
+
+ @Override
+ public InputStream getUser() {
+ return null;
+ }
+
+ @Override
+ public InputStream getDashboard(String dashboardId) {
+ return null;
+ }
+
+ @Override
+ public InputStream getFavorite(String userId) {
+ return null;
+ }
+
+ @Override
+ public InputStream getTopFolders() {
+ return null;
+ }
+
+ @Override
+ public InputStream getRecent(String userId) {
+ return null;
+ }
+
+ @Override
+ public InputStream getClipboard(String dashboardId) {
+ return null;
+ }
+}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/horizon/package-info.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/horizon/package-info.java
new file mode 100644
index 00000000000..80bb635089c
--- /dev/null
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/horizon/package-info.java
@@ -0,0 +1,5 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+@ExportPackage
+package com.yahoo.vespa.hosted.controller.api.integration.horizon;
+
+import com.yahoo.osgi.annotation.ExportPackage; \ No newline at end of file
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ServiceRegistryMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ServiceRegistryMock.java
index 4a068681a50..a4ce0316e25 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ServiceRegistryMock.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ServiceRegistryMock.java
@@ -23,6 +23,8 @@ import com.yahoo.vespa.hosted.controller.api.integration.certificates.EndpointCe
import com.yahoo.vespa.hosted.controller.api.integration.certificates.EndpointCertificateValidatorMock;
import com.yahoo.vespa.hosted.controller.api.integration.dns.MemoryNameService;
import com.yahoo.vespa.hosted.controller.api.integration.entity.MemoryEntityService;
+import com.yahoo.vespa.hosted.controller.api.integration.horizon.HorizonClient;
+import com.yahoo.vespa.hosted.controller.api.integration.horizon.MockHorizonClient;
import com.yahoo.vespa.hosted.controller.api.integration.organization.MockContactRetriever;
import com.yahoo.vespa.hosted.controller.api.integration.organization.MockIssueHandler;
import com.yahoo.vespa.hosted.controller.api.integration.resource.CostReportConsumerMock;
@@ -74,6 +76,7 @@ public class ServiceRegistryMock extends AbstractComponent implements ServiceReg
private final ArchiveService archiveService = new MockArchiveService();
private final MockChangeRequestClient changeRequestClient = new MockChangeRequestClient();
private final AccessControlService accessControlService = new MockAccessControlService();
+ private final HorizonClient horizonClient = new MockHorizonClient();
public ServiceRegistryMock(SystemName system) {
this.zoneRegistryMock = new ZoneRegistryMock(system);
@@ -235,6 +238,11 @@ public class ServiceRegistryMock extends AbstractComponent implements ServiceReg
return accessControlService;
}
+ @Override
+ public HorizonClient horizonClient() {
+ return horizonClient;
+ }
+
public ConfigServerMock configServerMock() {
return configServerMock;
}