use of org.pentaho.platform.api.scheduler2.IBackgroundExecutionStreamProvider in project pentaho-platform by pentaho.
the class ActionRunnerTest method testCallWithStreamProvider.
@Test
public void testCallWithStreamProvider() throws Exception {
Map<String, Serializable> paramsMap = createMapWithUserLocale();
IAction actionBeanSpy = Mockito.spy(new TestAction());
IBackgroundExecutionStreamProvider mockStreamProvider = Mockito.mock(IBackgroundExecutionStreamProvider.class);
InputStream mockInputStream = Mockito.mock(InputStream.class);
OutputStream mockOutputStream = Mockito.mock(OutputStream.class);
when(mockStreamProvider.getInputStream()).thenReturn(mockInputStream);
String mockOutputPath = "/someUser/someOutput";
when(mockStreamProvider.getOutputPath()).thenReturn(mockOutputPath);
when(mockStreamProvider.getOutputStream()).thenReturn(mockOutputStream);
ISecurityHelper mockSecurityHelper = Mockito.mock(ISecurityHelper.class);
SecurityHelper.setMockInstance(mockSecurityHelper);
when(mockSecurityHelper.runAsUser(Mockito.anyString(), Mockito.any())).thenReturn(mockOutputPath);
PowerMockito.mockStatic(PentahoSystem.class);
IUnifiedRepository mockRepository = Mockito.mock(IUnifiedRepository.class);
when(PentahoSystem.get(isA(IUnifiedRepository.class.getClass()), Mockito.any())).thenReturn(mockRepository);
IAuthorizationPolicy mockAuthorizationPolicy = Mockito.mock(IAuthorizationPolicy.class);
when(PentahoSystem.get(isA(IAuthorizationPolicy.class.getClass()), Mockito.any())).thenReturn(mockAuthorizationPolicy);
when(mockAuthorizationPolicy.isAllowed(SchedulerOutputPathResolver.SCHEDULER_ACTION_NAME)).thenReturn(true);
String repoId = "SOME_REPO_ID";
Map<String, Serializable> dummyMetaData = new HashMap<>();
dummyMetaData.put(RepositoryFile.SCHEDULABLE_KEY, true);
when(mockRepository.getFileMetadata(repoId)).thenReturn(dummyMetaData);
RepositoryFile mockRepoFile = Mockito.mock(RepositoryFile.class);
when(mockRepoFile.isFolder()).thenReturn(true);
when(mockRepoFile.getId()).thenReturn(repoId);
ActionRunner actionRunner = new ActionRunner(actionBeanSpy, "actionUser", paramsMap, mockStreamProvider);
actionRunner.call();
Mockito.verify(actionBeanSpy).execute();
}
use of org.pentaho.platform.api.scheduler2.IBackgroundExecutionStreamProvider in project pentaho-platform by pentaho.
the class ActionRunnerTest method testCallWithStreamProviderAndVarargsAction.
@Test
public void testCallWithStreamProviderAndVarargsAction() throws Exception {
Map<String, Serializable> paramsMap = createMapWithUserLocale();
TestVarArgsAction testVarArgsAction = new TestVarArgsAction();
IBackgroundExecutionStreamProvider mockStreamProvider = Mockito.mock(IBackgroundExecutionStreamProvider.class);
InputStream mockInputStream = Mockito.mock(InputStream.class);
OutputStream mockOutputStream = Mockito.mock(OutputStream.class);
when(mockStreamProvider.getInputStream()).thenReturn(mockInputStream);
String mockOutputPath = "/someUser/someOutput";
when(mockStreamProvider.getOutputPath()).thenReturn(mockOutputPath);
when(mockStreamProvider.getOutputStream()).thenReturn(mockOutputStream);
ISecurityHelper mockSecurityHelper = Mockito.mock(ISecurityHelper.class);
SecurityHelper.setMockInstance(mockSecurityHelper);
when(mockSecurityHelper.runAsUser(Mockito.anyString(), Mockito.any())).thenReturn(mockOutputPath);
PowerMockito.mockStatic(PentahoSystem.class);
IUnifiedRepository mockRepository = Mockito.mock(IUnifiedRepository.class);
when(PentahoSystem.get(isA(IUnifiedRepository.class.getClass()), Mockito.any())).thenReturn(mockRepository);
IAuthorizationPolicy mockAuthorizationPolicy = Mockito.mock(IAuthorizationPolicy.class);
when(PentahoSystem.get(isA(IAuthorizationPolicy.class.getClass()), Mockito.any())).thenReturn(mockAuthorizationPolicy);
when(mockAuthorizationPolicy.isAllowed(SchedulerOutputPathResolver.SCHEDULER_ACTION_NAME)).thenReturn(true);
String repoId = "SOME_REPO_ID";
Map<String, Serializable> dummyMetaData = new HashMap<>();
dummyMetaData.put(RepositoryFile.SCHEDULABLE_KEY, true);
when(mockRepository.getFileMetadata(repoId)).thenReturn(dummyMetaData);
RepositoryFile mockRepoFile = Mockito.mock(RepositoryFile.class);
when(mockRepoFile.isFolder()).thenReturn(true);
when(mockRepoFile.getId()).thenReturn(repoId);
ActionRunner actionRunner = new ActionRunner(testVarArgsAction, "actionUser", paramsMap, mockStreamProvider);
actionRunner.call();
assertThat(testVarArgsAction.isExecuteWasCalled(), is(true));
}
use of org.pentaho.platform.api.scheduler2.IBackgroundExecutionStreamProvider in project pentaho-platform by pentaho.
the class LocalActionInvokerTest method getStreamProviderNullWithInputFileTest.
@Test
public void getStreamProviderNullWithInputFileTest() throws IOException {
Map<String, Serializable> paramMap = new HashMap<>();
File inputFile = new File("example.txt");
BufferedWriter output = new BufferedWriter(new FileWriter(inputFile));
output.write("TEST TEXT");
paramMap.put(ActionUtil.INVOKER_STREAMPROVIDER, null);
paramMap.put(ActionUtil.INVOKER_STREAMPROVIDER_INPUT_FILE, inputFile);
IBackgroundExecutionStreamProvider iBackgroundExecutionStreamProvider = defaultActionInvoker.getStreamProvider(paramMap);
Assert.assertNull(iBackgroundExecutionStreamProvider);
}
use of org.pentaho.platform.api.scheduler2.IBackgroundExecutionStreamProvider in project pentaho-platform by pentaho.
the class LocalActionInvokerTest method getStreamProviderNullTest.
@Test
public void getStreamProviderNullTest() {
Map<String, Serializable> paramMap = new HashMap<>();
paramMap.put(ActionUtil.INVOKER_STREAMPROVIDER, null);
IBackgroundExecutionStreamProvider iBackgroundExecutionStreamProvider = defaultActionInvoker.getStreamProvider(paramMap);
Assert.assertNull(iBackgroundExecutionStreamProvider);
}
use of org.pentaho.platform.api.scheduler2.IBackgroundExecutionStreamProvider in project pentaho-platform by pentaho.
the class LocalActionInvokerTest method getStreamProviderTest.
@Test
public void getStreamProviderTest() {
Map<String, Serializable> paramMap = new HashMap<>();
RepositoryFileStreamProvider repositoryFileStreamProvider = new RepositoryFileStreamProvider();
paramMap.put(ActionUtil.INVOKER_STREAMPROVIDER, repositoryFileStreamProvider);
IBackgroundExecutionStreamProvider iBackgroundExecutionStreamProvider = defaultActionInvoker.getStreamProvider(paramMap);
Assert.assertEquals(repositoryFileStreamProvider, iBackgroundExecutionStreamProvider);
}
Aggregations