Repository: aries-containers Updated Branches: refs/heads/master d4221c6ad -> f84b725bd
Unit tests for Marathon binding Project: http://git-wip-us.apache.org/repos/asf/aries-containers/repo Commit: http://git-wip-us.apache.org/repos/asf/aries-containers/commit/f84b725b Tree: http://git-wip-us.apache.org/repos/asf/aries-containers/tree/f84b725b Diff: http://git-wip-us.apache.org/repos/asf/aries-containers/diff/f84b725b Branch: refs/heads/master Commit: f84b725bd5bc2f4e668fefbed424beefb15c5e6c Parents: d4221c6 Author: David Bosschaert <[email protected]> Authored: Thu Jun 15 11:41:39 2017 +0100 Committer: David Bosschaert <[email protected]> Committed: Thu Jun 15 11:41:39 2017 +0100 ---------------------------------------------------------------------- .../containers/marathon/impl/ServiceImpl.java | 2 +- .../marathon/impl/ServiceImplTest.java | 31 ++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/aries-containers/blob/f84b725b/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ServiceImpl.java ---------------------------------------------------------------------- diff --git a/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ServiceImpl.java b/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ServiceImpl.java index 182d4b4..7cf926f 100644 --- a/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ServiceImpl.java +++ b/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ServiceImpl.java @@ -72,7 +72,7 @@ class ServiceImpl implements Service { @Override public void setInstanceCount(int count) { App updatedApp = new App(); - updatedApp.setInstances(count);; + updatedApp.setInstances(count); marathonClient.updateApp(marathonAppID, updatedApp, true); } http://git-wip-us.apache.org/repos/asf/aries-containers/blob/f84b725b/containers-marathon/src/test/java/org/apache/aries/containers/marathon/impl/ServiceImplTest.java ---------------------------------------------------------------------- diff --git a/containers-marathon/src/test/java/org/apache/aries/containers/marathon/impl/ServiceImplTest.java b/containers-marathon/src/test/java/org/apache/aries/containers/marathon/impl/ServiceImplTest.java index b435d72..d02ddea 100644 --- a/containers-marathon/src/test/java/org/apache/aries/containers/marathon/impl/ServiceImplTest.java +++ b/containers-marathon/src/test/java/org/apache/aries/containers/marathon/impl/ServiceImplTest.java @@ -30,6 +30,8 @@ import org.apache.aries.containers.Container; import org.apache.aries.containers.ServiceConfig; import org.junit.Test; import org.mockito.Mockito; +import org.mockito.invocation.InvocationOnMock; +import org.mockito.stubbing.Answer; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertSame; @@ -37,6 +39,7 @@ import static org.junit.Assert.assertSame; import mesosphere.marathon.client.Marathon; import mesosphere.marathon.client.model.v2.App; import mesosphere.marathon.client.model.v2.GetAppResponse; +import mesosphere.marathon.client.model.v2.Result; import mesosphere.marathon.client.model.v2.Task; public class ServiceImplTest { @@ -129,6 +132,34 @@ public class ServiceImplTest { assertEquals(new HashSet<>(Arrays.asList("task1", "task2")), foundTasks); } + @Test + public void testSetInstanceCount() throws Exception { + List<App> updatedApps = new ArrayList<>(); + + Marathon mc = Mockito.mock(Marathon.class); + Mockito.when(mc.updateApp(Mockito.eq("mid1"), Mockito.isA(App.class), Mockito.eq(true))). + then(new Answer<Result>() { + @Override + public Result answer(InvocationOnMock invocation) throws Throwable { + updatedApps.add((App) invocation.getArguments()[1]); + return Mockito.mock(Result.class); + } + }); + + ServiceConfig cfg = ServiceConfig.builder("svc1", "a/b/c:d").build(); + + App app = new App(); + app.setId("mid1"); + ServiceImpl svc = new ServiceImpl(mc, app, cfg); + + assertEquals("Precondition", 0, updatedApps.size()); + svc.setInstanceCount(5); + assertEquals(1, updatedApps.size()); + + App updated = updatedApps.iterator().next(); + assertEquals(5, (int) updated.getInstances()); + } + private GetAppResponse getAppResponse(App a) { GetAppResponse gar = Mockito.mock(GetAppResponse.class); Mockito.when(gar.getApp()).thenReturn(a);
