boolean isClassInitializationToBeStubbedOut() { if (mocked == null || mocked.stubOutClassInitialization().length == 0) { return STUB_OUT_STATIC_INITIALIZERS; } return mocked.stubOutClassInitialization()[0]; }
int getMaxInstancesToCapture() { if (capturing != null) { return capturing.maxInstances(); } else if (mocked != null) { return mocked.capture(); } return 0; }
boolean isClassInitializationToBeStubbedOut() { return mocked != null && mocked.stubOutClassInitialization(); } boolean withInstancesToCapture() { return capturing != null; }
@RunWith(JMockit.class) public class PriamConfigTest { private @Mocked PriamServer priamServer;
@Test public void getToken_handlesException( @Mocked final InstanceIdentity identity, @Mocked final PriamInstance instance) { new Expectations() { { priamServer.getInstanceIdentity(); result = identity; identity.getInstance(); result = instance; instance.getToken(); result = new RuntimeException(); } }; Response response = resource.getToken(); assertEquals(500, response.getStatus()); }
@Test public void isReplaceToken_handlesException(@Mocked final InstanceIdentity identity) { new Expectations() { { priamServer.getInstanceIdentity(); result = identity; identity.isReplace(); result = new RuntimeException(); } }; Response response = resource.isReplaceToken(); assertEquals(500, response.getStatus()); }
@Test public void getToken_notFound( @Mocked final InstanceIdentity identity, @Mocked final PriamInstance instance) { final String token = ""; new Expectations() { { priamServer.getInstanceIdentity(); result = identity; identity.getInstance(); result = instance; instance.getToken(); result = token; } }; Response response = resource.getToken(); assertEquals(500, response.getStatus()); }
@Test public void getSeeds_handlesUnknownHostException(@Mocked final InstanceIdentity identity) throws Exception { new Expectations() { { priamServer.getInstanceIdentity(); result = identity; identity.getSeeds(); result = new UnknownHostException(); } }; Response response = resource.getSeeds(); assertEquals(500, response.getStatus()); }
@Test public void getInstances( @Mocked final PriamInstance instance1, @Mocked final PriamInstance instance2, @Mocked final PriamInstance instance3) { new Expectations() { final List<PriamInstance> instances = ImmutableList.of(instance1, instance2, instance3); { config.getAppName(); result = APP_NAME; factory.getAllIds(APP_NAME); result = instances; instance1.toString(); result = "instance1"; instance2.toString(); result = "instance2"; instance3.toString(); result = "instance3"; } }; assertEquals("instance1\ninstance2\ninstance3\n", resource.getInstances()); }
@Test public void getSeeds_notFound(@Mocked final InstanceIdentity identity) throws Exception { final List<String> seeds = ImmutableList.of(); new Expectations() { { priamServer.getInstanceIdentity(); result = identity; times = 1; identity.getSeeds(); result = seeds; times = 1; } }; Response response = resource.getSeeds(); assertEquals(500, response.getStatus()); }
@Test public void getSeeds(@Mocked final InstanceIdentity identity) throws Exception { final List<String> seeds = ImmutableList.of("seed1", "seed2", "seed3"); new Expectations() { { priamServer.getInstanceIdentity(); result = identity; times = 1; identity.getSeeds(); result = seeds; times = 1; } }; Response response = resource.getSeeds(); assertEquals(200, response.getStatus()); assertEquals("seed1,seed2,seed3", response.getEntity()); }
@Test public void getToken( @Mocked final InstanceIdentity identity, @Mocked final PriamInstance instance) { final String token = "myToken"; new Expectations() { { priamServer.getInstanceIdentity(); result = identity; times = 2; identity.getInstance(); result = instance; times = 2; instance.getToken(); result = token; times = 2; } }; Response response = resource.getToken(); assertEquals(200, response.getStatus()); assertEquals(token, response.getEntity()); }
@Test public void isReplaceToken(@Mocked final InstanceIdentity identity) { new Expectations() { { priamServer.getInstanceIdentity(); result = identity; identity.isReplace(); result = true; } }; Response response = resource.isReplaceToken(); assertEquals(200, response.getStatus()); assertEquals("true", response.getEntity()); }
@Test public void getReplacedAddress(@Mocked final InstanceIdentity identity) { final String replacedIp = "127.0.0.1"; new Expectations() { { priamServer.getInstanceIdentity(); result = identity; identity.getReplacedIp(); result = replacedIp; } }; Response response = resource.getReplacedIp(); assertEquals(200, response.getStatus()); assertEquals(replacedIp, response.getEntity()); }
@Test public void createInstance(@Mocked final PriamInstance instance) { final String instanceID = "i-abc123"; final String hostname = "dom.com"; final String ip = "123.123.123.123"; final String rack = "us-east-1a"; final String token = "1234567890"; new Expectations() { { config.getAppName(); result = APP_NAME; factory.create(APP_NAME, NODE_ID, instanceID, hostname, ip, rack, null, token); result = instance; instance.getId(); result = NODE_ID; } }; Response response = resource.createInstance(NODE_ID, instanceID, hostname, ip, rack, token); assertEquals(201, response.getStatus()); assertEquals("/" + NODE_ID, response.getMetadata().getFirst("location").toString()); }
@Test public void deleteInstance(@Mocked final PriamInstance instance) { new Expectations() { { config.getAppName(); result = APP_NAME; factory.getInstance(APP_NAME, instanceInfo.getRegion(), NODE_ID); result = instance; factory.delete(instance); } }; Response response = resource.deleteInstance(NODE_ID); assertEquals(204, response.getStatus()); }
@Test public void getInstance(@Mocked final PriamInstance instance) { final String expected = "plain text describing the instance"; new Expectations() { { config.getAppName(); result = APP_NAME; factory.getInstance(APP_NAME, instanceInfo.getRegion(), NODE_ID); result = instance; instance.toString(); result = expected; } }; assertEquals(expected, resource.getInstance(NODE_ID)); }