use of org.pentaho.platform.util.bean.TestAction 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.util.bean.TestAction in project pentaho-platform by pentaho.
the class ActionRunnerTest method testCallThrowsException.
@Test
public void testCallThrowsException() throws Exception {
Map<String, Serializable> paramsMap = createMapWithUserLocale();
IAction actionBeanSpy = Mockito.spy(new TestAction());
IBackgroundExecutionStreamProvider mockStreamProvider = Mockito.mock(IBackgroundExecutionStreamProvider.class);
when(mockStreamProvider.getInputStream()).thenThrow(new Exception("something went wrong"));
ActionRunner actionRunner = new ActionRunner(actionBeanSpy, "actionUser", paramsMap, mockStreamProvider);
exception.expect(ActionInvocationException.class);
actionRunner.call();
}
use of org.pentaho.platform.util.bean.TestAction in project pentaho-platform by pentaho.
the class ActionRunnerTest method testCallInvokesExecute.
@Test
public void testCallInvokesExecute() throws Exception {
Map<String, Serializable> paramsMap = createMapWithUserLocale();
IAction actionBeanSpy = Mockito.spy(new TestAction());
ActionRunner actionRunner = new ActionRunner(actionBeanSpy, "actionUser", paramsMap, null);
actionRunner.call();
Mockito.verify(actionBeanSpy).execute();
// Verify that, by default the isExecutionSuccessful returns true
Assert.assertTrue(actionBeanSpy.isExecutionSuccessful());
}
use of org.pentaho.platform.util.bean.TestAction in project pentaho-platform by pentaho.
the class DefaultActionInvokerTest method testValidate.
@Test
public void testValidate() throws Exception {
final DefaultActionInvoker ai = new DefaultActionInvoker();
ai.validate(new TestAction(), "user", new HashMap());
}
use of org.pentaho.platform.util.bean.TestAction in project pentaho-platform by pentaho.
the class DefaultActionInvokerTest method testValidateNullParams.
@Test(expected = ActionInvocationException.class)
public void testValidateNullParams() throws Exception {
final DefaultActionInvoker ai = new DefaultActionInvoker();
ai.validate(new TestAction(), "user", null);
}
Aggregations