You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by uc...@apache.org on 2014/06/26 11:03:44 UTC

git commit: Reeenable tryLocalExecution() test in ClientTest

Repository: incubator-flink
Updated Branches:
  refs/heads/master 69589fa90 -> 20fdcfb49


Reeenable tryLocalExecution() test in ClientTest


Project: http://git-wip-us.apache.org/repos/asf/incubator-flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-flink/commit/20fdcfb4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-flink/tree/20fdcfb4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-flink/diff/20fdcfb4

Branch: refs/heads/master
Commit: 20fdcfb49d827b8f8848b380fb3fd982790378ab
Parents: 69589fa
Author: uce <u....@fu-berlin.de>
Authored: Thu Jun 26 11:03:21 2014 +0200
Committer: uce <u....@fu-berlin.de>
Committed: Thu Jun 26 11:03:21 2014 +0200

----------------------------------------------------------------------
 .../stratosphere/client/program/ClientTest.java | 146 +++++++++----------
 1 file changed, 66 insertions(+), 80 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-flink/blob/20fdcfb4/stratosphere-clients/src/test/java/eu/stratosphere/client/program/ClientTest.java
----------------------------------------------------------------------
diff --git a/stratosphere-clients/src/test/java/eu/stratosphere/client/program/ClientTest.java b/stratosphere-clients/src/test/java/eu/stratosphere/client/program/ClientTest.java
index a948706..fecc117 100644
--- a/stratosphere-clients/src/test/java/eu/stratosphere/client/program/ClientTest.java
+++ b/stratosphere-clients/src/test/java/eu/stratosphere/client/program/ClientTest.java
@@ -12,23 +12,9 @@
  **********************************************************************************************************************/
 package eu.stratosphere.client.program;
 
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import static org.mockito.MockitoAnnotations.initMocks;
-import static org.powermock.api.mockito.PowerMockito.whenNew;
-
-import java.io.IOException;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-
+import eu.stratosphere.api.common.InvalidProgramException;
 import eu.stratosphere.api.common.Plan;
+import eu.stratosphere.api.java.ExecutionEnvironment;
 import eu.stratosphere.compiler.DataStatistics;
 import eu.stratosphere.compiler.PactCompiler;
 import eu.stratosphere.compiler.costs.CostEstimator;
@@ -40,107 +26,107 @@ import eu.stratosphere.nephele.client.AbstractJobResult.ReturnCode;
 import eu.stratosphere.nephele.client.JobClient;
 import eu.stratosphere.nephele.client.JobSubmissionResult;
 import eu.stratosphere.nephele.jobgraph.JobGraph;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
 
+import java.io.IOException;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.mockito.MockitoAnnotations.initMocks;
+import static org.powermock.api.mockito.PowerMockito.doAnswer;
+import static org.powermock.api.mockito.PowerMockito.whenNew;
 
 
 /**
  * Simple and maybe stupid test to check the {@link Client} class.
- * However, the use of mocks can be copied copied easily from this example.
- *
  */
 @RunWith(PowerMockRunner.class)
 @PrepareForTest(Client.class)
 public class ClientTest {
 
-	@Mock
-	Configuration configMock;
-
-	@Mock
-	PackagedProgram program;
-	@Mock
-	JobWithJars planWithJarsMock;
-	@Mock
-	Plan planMock;
-	
-	@Mock
-	PactCompiler compilerMock;
-	@Mock
-	OptimizedPlan optimizedPlanMock;
-	
-	@Mock
-	NepheleJobGraphGenerator generatorMock;
-	@Mock
-	JobGraph jobGraphMock;
-
-	@Mock
-	JobClient jobClientMock;
-	@Mock
-	JobSubmissionResult jobSubmissionResultMock;
-	
+	@Mock Configuration configMock;
+	@Mock PackagedProgram program;
+	@Mock JobWithJars planWithJarsMock;
+	@Mock Plan planMock;
+	@Mock PactCompiler compilerMock;
+	@Mock OptimizedPlan optimizedPlanMock;
+	@Mock NepheleJobGraphGenerator generatorMock;
+	@Mock JobGraph jobGraphMock;
+	@Mock JobClient jobClientMock;
+	@Mock JobSubmissionResult jobSubmissionResultMock;
+
 	@Before
-	public void setUp() throws Exception
-	{
+	public void setUp() throws Exception {
 		initMocks(this);
-		
+
 		when(configMock.getString(ConfigConstants.JOB_MANAGER_IPC_ADDRESS_KEY, null)).thenReturn("localhost");
 		when(configMock.getInteger(ConfigConstants.JOB_MANAGER_IPC_PORT_KEY, ConfigConstants.DEFAULT_JOB_MANAGER_IPC_PORT)).thenReturn(6123);
-		
+
 		when(planMock.getJobName()).thenReturn("MockPlan");
 //		when(mockJarFile.getAbsolutePath()).thenReturn("mockFilePath");
-		
+
 		when(program.getPlanWithJars()).thenReturn(planWithJarsMock);
 		when(planWithJarsMock.getPlan()).thenReturn(planMock);
-		
+
 		whenNew(PactCompiler.class).withArguments(any(DataStatistics.class), any(CostEstimator.class)).thenReturn(this.compilerMock);
 		when(compilerMock.compile(planMock)).thenReturn(optimizedPlanMock);
-		
+
 		whenNew(NepheleJobGraphGenerator.class).withNoArguments().thenReturn(generatorMock);
 		when(generatorMock.compileJobGraph(optimizedPlanMock)).thenReturn(jobGraphMock);
-		
+
 		whenNew(JobClient.class).withArguments(any(JobGraph.class), any(Configuration.class)).thenReturn(this.jobClientMock);
-		
+
 		when(this.jobClientMock.submitJob()).thenReturn(jobSubmissionResultMock);
 	}
-	
+
 	@Test
-	public void shouldSubmitToJobClient() throws ProgramInvocationException, IOException
-	{
+	public void shouldSubmitToJobClient() throws ProgramInvocationException, IOException {
 		when(jobSubmissionResultMock.getReturnCode()).thenReturn(ReturnCode.SUCCESS);
-		
+
 		Client out = new Client(configMock);
 		out.run(program.getPlanWithJars(), -1, false);
 		program.deleteExtractedLibraries();
-		
+
 		verify(this.compilerMock, times(1)).compile(planMock);
 		verify(this.generatorMock, times(1)).compileJobGraph(optimizedPlanMock);
 		verify(this.jobClientMock, times(1)).submitJob();
 	}
-	
-	/**
-	 * @throws Exception
-	 */
-	@Test(expected=ProgramInvocationException.class)
-	public void shouldThrowException() throws Exception
-	{
+
+	@Test(expected = ProgramInvocationException.class)
+	public void shouldThrowException() throws Exception {
 		when(jobSubmissionResultMock.getReturnCode()).thenReturn(ReturnCode.ERROR);
-		
+
 		Client out = new Client(configMock);
 		out.run(program.getPlanWithJars(), -1, false);
 		program.deleteExtractedLibraries();
-		
+
 		verify(this.jobClientMock).submitJob();
 	}
-	
-//
-//	@Test(expected=InvalidProgramException.class)
-//	public void tryLocalExecution() throws Exception {
-//		new Client(configMock);
-//		LocalExecutor.execute(planMock);
-//	}
-//	
-//	@Test(expected=InvalidProgramException.class)
-//	public void tryLocalEnvironmentExecution() throws Exception {
-//		new Client(configMock);
-//		new LocalEnvironment();
-//	}
-}
\ No newline at end of file
+
+	@Test(expected = InvalidProgramException.class)
+	public void tryLocalExecution() throws Exception {
+		PackagedProgram packagedProgramMock = mock(PackagedProgram.class);
+
+		when(packagedProgramMock.isUsingInteractiveMode()).thenReturn(true);
+
+		doAnswer(new Answer<Void>() {
+			@Override
+			public Void answer(InvocationOnMock invocation) throws Throwable {
+				ExecutionEnvironment.createLocalEnvironment();
+				return null;
+			}
+		}).when(packagedProgramMock).invokeInteractiveModeForExecution();
+
+		new Client(configMock).run(packagedProgramMock, 1, true);
+	}
+}