package com.hubspot.baragon.service; import java.util.Collections; import com.google.common.base.Optional; import com.hubspot.baragon.BaragonServiceTestModule; import com.hubspot.baragon.data.BaragonKnownAgentsDatastore; import com.hubspot.baragon.exceptions.InvalidAgentMetadataStringException; import com.hubspot.baragon.models.BaragonAgentEc2Metadata; import com.hubspot.baragon.models.BaragonAgentMetadata; import com.hubspot.baragon.models.BaragonKnownAgentMetadata; import org.jukito.JukitoModule; import org.jukito.JukitoRunner; import org.junit.Test; import org.junit.runner.RunWith; import static org.junit.Assert.assertEquals; @RunWith(JukitoRunner.class) public class KnownAgentTest { public static final String CLUSTER_NAME = "test-cluster"; public static final String AGENT_ID = "123.123.123.123:8080"; public static final String BASE_URI = "http://123.123.123.123:8080/baragon-agent/v2"; public static final String DOMAIN = "test.com"; public static class Module extends JukitoModule { @Override protected void configureTest() { install(new BaragonServiceTestModule()); } } @Test public void testKnownAgentBaragonMetadata(BaragonKnownAgentsDatastore datastore) { final BaragonKnownAgentMetadata metadata = new BaragonKnownAgentMetadata(BASE_URI, AGENT_ID, Optional.of(DOMAIN), new BaragonAgentEc2Metadata(Optional.<String>absent(), Optional.<String>absent(), Optional.<String>absent(), Optional.<String>absent()), Collections.<String, String>emptyMap(), true, System.currentTimeMillis()); datastore.addKnownAgent(CLUSTER_NAME, metadata); assertEquals(Collections.singletonList(metadata), datastore.getKnownAgentsMetadata(CLUSTER_NAME)); } @Test public void testKnownAgentString() { assertEquals(new BaragonAgentMetadata(BASE_URI, AGENT_ID, Optional.<String>absent(), new BaragonAgentEc2Metadata(Optional.<String>absent(), Optional.<String>absent(), Optional.<String>absent(), Optional.<String>absent()), Collections.<String, String>emptyMap(), false), BaragonAgentMetadata.fromString(BASE_URI)); } @Test( expected = InvalidAgentMetadataStringException.class ) public void testInvalidBaragonAgentString() { BaragonAgentMetadata.fromString("a;ksdjalskdjhklasdjla"); } }