You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by al...@apache.org on 2017/12/04 13:40:01 UTC
flink git commit: [FLINK-8177] Replace TestingContainer by mock in
YARN UtilsTest
Repository: flink
Updated Branches:
refs/heads/master e7ca1055a -> aa1f83333
[FLINK-8177] Replace TestingContainer by mock in YARN UtilsTest
The Container Interface was extended in Hadoop 2.9, meaning that the
test would not run when compiling with Hadoop 2.9. Using a mock fixes
this problem.
Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/aa1f8333
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/aa1f8333
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/aa1f8333
Branch: refs/heads/master
Commit: aa1f83333f31c01d8fd4ae5bdaaf48c44aadc221
Parents: e7ca105
Author: Aljoscha Krettek <al...@gmail.com>
Authored: Wed Nov 29 17:04:20 2017 +0100
Committer: Aljoscha Krettek <al...@gmail.com>
Committed: Mon Dec 4 14:38:15 2017 +0100
----------------------------------------------------------------------
.../java/org/apache/flink/yarn/UtilsTest.java | 97 +++-----------------
.../flink/yarn/YarnResourceManagerTest.java | 43 +++------
2 files changed, 22 insertions(+), 118 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flink/blob/aa1f8333/flink-yarn/src/test/java/org/apache/flink/yarn/UtilsTest.java
----------------------------------------------------------------------
diff --git a/flink-yarn/src/test/java/org/apache/flink/yarn/UtilsTest.java b/flink-yarn/src/test/java/org/apache/flink/yarn/UtilsTest.java
index ab7f93c..07f58dd 100644
--- a/flink-yarn/src/test/java/org/apache/flink/yarn/UtilsTest.java
+++ b/flink-yarn/src/test/java/org/apache/flink/yarn/UtilsTest.java
@@ -43,9 +43,6 @@ import org.apache.hadoop.yarn.api.records.Container;
import org.apache.hadoop.yarn.api.records.ContainerId;
import org.apache.hadoop.yarn.api.records.ContainerLaunchContext;
import org.apache.hadoop.yarn.api.records.NodeId;
-import org.apache.hadoop.yarn.api.records.Priority;
-import org.apache.hadoop.yarn.api.records.Resource;
-import org.apache.hadoop.yarn.api.records.Token;
import org.apache.hadoop.yarn.client.api.AMRMClient;
import org.apache.hadoop.yarn.client.api.NMClient;
import org.apache.hadoop.yarn.client.api.async.AMRMClientAsync;
@@ -74,10 +71,12 @@ import scala.concurrent.duration.FiniteDuration;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
/**
* Tests for {@link Utils}.
*/
+
public class UtilsTest extends TestLogger {
private static ActorSystem system;
@@ -119,7 +118,15 @@ public class UtilsTest extends TestLogger {
final List<Container> containerList = new ArrayList<>();
for (int i = 0; i < numInitialTaskManagers; i++) {
- containerList.add(new TestingContainer("container", 1234, i));
+ Container mockContainer = mock(Container.class);
+ when(mockContainer.getId()).thenReturn(
+ ContainerId.newInstance(
+ ApplicationAttemptId.newInstance(
+ ApplicationId.newInstance(System.currentTimeMillis(), 1),
+ 1),
+ i));
+ when(mockContainer.getNodeId()).thenReturn(NodeId.newInstance("container", 1234));
+ containerList.add(mockContainer);
}
doAnswer(new Answer() {
@@ -235,86 +242,4 @@ public class UtilsTest extends TestLogger {
}
}};
}
-
- static class TestingContainer extends Container {
-
- private final NodeId nodeId;
- private final ContainerId containerId;
-
- TestingContainer(String host, int port, int containerId) {
- this.nodeId = NodeId.newInstance(host, port);
- this.containerId = ContainerId.newInstance(
- ApplicationAttemptId.newInstance(
- ApplicationId.newInstance(
- System.currentTimeMillis(),
- 1),
- 1),
- containerId);
- }
-
- @Override
- public ContainerId getId() {
- return containerId;
- }
-
- @Override
- public void setId(ContainerId containerId) {
-
- }
-
- @Override
- public NodeId getNodeId() {
- return nodeId;
- }
-
- @Override
- public void setNodeId(NodeId nodeId) {
-
- }
-
- @Override
- public String getNodeHttpAddress() {
- return null;
- }
-
- @Override
- public void setNodeHttpAddress(String s) {
-
- }
-
- @Override
- public Resource getResource() {
- return null;
- }
-
- @Override
- public void setResource(Resource resource) {
-
- }
-
- @Override
- public Priority getPriority() {
- return null;
- }
-
- @Override
- public void setPriority(Priority priority) {
-
- }
-
- @Override
- public Token getContainerToken() {
- return null;
- }
-
- @Override
- public void setContainerToken(Token token) {
-
- }
-
- @Override
- public int compareTo(Container o) {
- return 0;
- }
- }
}
http://git-wip-us.apache.org/repos/asf/flink/blob/aa1f8333/flink-yarn/src/test/java/org/apache/flink/yarn/YarnResourceManagerTest.java
----------------------------------------------------------------------
diff --git a/flink-yarn/src/test/java/org/apache/flink/yarn/YarnResourceManagerTest.java b/flink-yarn/src/test/java/org/apache/flink/yarn/YarnResourceManagerTest.java
index 18a358f..031a4cb 100644
--- a/flink-yarn/src/test/java/org/apache/flink/yarn/YarnResourceManagerTest.java
+++ b/flink-yarn/src/test/java/org/apache/flink/yarn/YarnResourceManagerTest.java
@@ -93,6 +93,7 @@ import static org.mockito.Matchers.any;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
/**
* General tests for the YARN resource manager component.
@@ -288,35 +289,6 @@ public class YarnResourceManagerTest extends TestLogger {
}
}
- static class TestContainer extends UtilsTest.TestingContainer {
- Resource resource;
- Priority priority;
-
- TestContainer(String host, int port, int containerId) {
- super(host, port, containerId);
- }
-
- @Override
- public Resource getResource() {
- return resource;
- }
-
- @Override
- public void setResource(Resource resource) {
- this.resource = resource;
- }
-
- @Override
- public Priority getPriority() {
- return priority;
- }
-
- @Override
- public void setPriority(Priority priority) {
- this.priority = priority;
- }
- }
-
@Test
public void testStopWorker() throws Exception {
new Context() {{
@@ -332,9 +304,16 @@ public class YarnResourceManagerTest extends TestLogger {
registerSlotRequestFuture.get();
// Callback from YARN when container is allocated.
- Container testingContainer = new TestContainer(taskHost, 1234, 1);
- testingContainer.setResource(Resource.newInstance(200, 1));
- testingContainer.setPriority(Priority.UNDEFINED);
+ Container testingContainer = mock(Container.class);
+ when(testingContainer.getId()).thenReturn(
+ ContainerId.newInstance(
+ ApplicationAttemptId.newInstance(
+ ApplicationId.newInstance(System.currentTimeMillis(), 1),
+ 1),
+ 1));
+ when(testingContainer.getNodeId()).thenReturn(NodeId.newInstance("container", 1234));
+ when(testingContainer.getResource()).thenReturn(Resource.newInstance(200, 1));
+ when(testingContainer.getPriority()).thenReturn(Priority.UNDEFINED);
resourceManager.onContainersAllocated(ImmutableList.of(testingContainer));
verify(mockResourceManagerClient).addContainerRequest(any(AMRMClient.ContainerRequest.class));
verify(mockNMClient).startContainer(eq(testingContainer), any(ContainerLaunchContext.class));