package com.hubspot.singularity.scheduler; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import com.hubspot.mesos.client.MesosClient; import com.hubspot.mesos.json.MesosMasterMetricsSnapshotObject; import com.hubspot.mesos.json.MesosMasterStateObject; import com.hubspot.mesos.json.MesosSlaveStateObject; import com.hubspot.mesos.json.MesosTaskMonitorObject; public class TestingMesosClient implements MesosClient { private Map<String, List<MesosTaskMonitorObject>> slaveResourceUsage; public TestingMesosClient() { this.slaveResourceUsage = new HashMap<>(); } public void setSlaveResourceUsage(String hostname, List<MesosTaskMonitorObject> taskMonitorObjects) { slaveResourceUsage.put(hostname, taskMonitorObjects); } @Override public String getMasterUri(String hostnameAndPort) { return null; } @Override public String getMetricsSnapshotUri(String hostnameAndPort) { return null; } @Override public MesosMasterStateObject getMasterState(String uri) { return null; } @Override public MesosMasterMetricsSnapshotObject getMasterMetricsSnapshot(String uri) { return null; } @Override public String getSlaveUri(String hostname) { return null; } @Override public MesosSlaveStateObject getSlaveState(String uri) { return null; } @Override public List<MesosTaskMonitorObject> getSlaveResourceUsage(String hostname) { if (!slaveResourceUsage.containsKey(hostname)) { return Collections.emptyList(); } return slaveResourceUsage.get(hostname); } }