    @Test
    public void testExecShellScriptCommandWithTimeout() throws Exception {

        TestWorkItemManager manager = new TestWorkItemManager();
        WorkItemImpl workItem = new WorkItemImpl();
        workItem.setParameter("ShellScriptLocation", "src/test/resources/TestScript.sh");
        workItem.setParameter("TimeoutInMillis", "10");
        ExecShellScriptWorkItemHandler handler = new ExecShellScriptWorkItemHandler();
        handler.setLogThrownException(true);

        handler.executeWorkItem(workItem, manager);

        assertNotNull(manager.getResults());
        assertEquals(1, manager.getResults().size());
        assertTrue(manager.getResults().containsKey(workItem.getId()));

        Map<String, Object> results = ((TestWorkItemManager) manager).getResults(workItem.getId());
        List<String> result = (List<String>) results.get(ExecWorkItemHandler.RESULT);
        assertNotNull(result);
        assertTrue(result.isEmpty());

    }