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);

Reply via email to