### Question:
LauncherAM { @VisibleForTesting Map<String, String> getActionData() { return actionData; } LauncherAM(
            AMRMClientAsyncFactory amrmClientAsyncFactory,
            AMRMCallBackHandler amrmCallBackHandler,
            HdfsOperations hdfsOperations,
            LocalFsOperations localFsOperations,
            PrepareActionsHandler prepareHandler,
            LauncherAMCallbackNotifierFactory callbackNotifierFactory,
            LauncherSecurityManager launcherSecurityManager,
            String containerId,
            Configuration launcherConf); static void main(String[] args); void run(); static final String OOZIE_ACTION_CONF_XML; static final String OOZIE_LAUNCHER_JOB_ID; static final String OOZIE_LAUNCHER_VCORES_PROPERTY; static final String OOZIE_LAUNCHER_MEMORY_MB_PROPERTY; static final String OOZIE_LAUNCHER_PRIORITY_PROPERTY; static final String OOZIE_LAUNCHER_QUEUE_PROPERTY; static final String OOZIE_LAUNCHER_JAVAOPTS_PROPERTY; static final String OOZIE_LAUNCHER_ENV_PROPERTY; static final String OOZIE_LAUNCHER_SHARELIB_PROPERTY; static final String OOZIE_LAUNCHER_LOG_LEVEL_PROPERTY; static final String OOZIE_LAUNCHER_MAX_ATTEMPTS; static final String JAVA_CLASS_PATH; static final String OOZIE_ACTION_ID; static final String OOZIE_JOB_ID; static final String ACTION_PREFIX; static final String CONF_OOZIE_ACTION_MAX_OUTPUT_DATA; static final String CONF_OOZIE_ACTION_MAIN_ARG_PREFIX; static final String CONF_OOZIE_ACTION_MAIN_ARG_COUNT; static final String CONF_OOZIE_EXTERNAL_STATS_MAX_SIZE; static final String OOZIE_ACTION_DIR_PATH; static final String ACTION_PREPARE_XML; static final String ACTION_DATA_SEQUENCE_FILE; static final String ACTION_DATA_EXTERNAL_CHILD_IDS; static final String ACTION_DATA_OUTPUT_PROPS; static final String ACTION_DATA_STATS; static final String ACTION_DATA_NEW_ID; static final String ACTION_DATA_ERROR_PROPS; static final String CONF_OOZIE_ACTION_MAIN_CLASS; static final String LAUNCHER_JOB_CONF_XML; static final String ACTION_CONF_XML; static final String ACTION_DATA_FINAL_STATUS; static final String OOZIE_SUBMITTER_USER; }### Answer:
@Test public void testUpdateActionDataFailsWithActionError() throws Exception { setupActionOutputContents(); given(localFsOperationsMock.getLocalFileContentAsString(any(File.class), eq(ACTION_DATA_EXTERNAL_CHILD_IDS), anyInt())) .willThrow(new IOException()); thrown.expect(IOException.class); try { executeLauncher(); } finally { Map<String, String> actionData = launcherAM.getActionData(); assertThat(actionData, not(hasKey(ACTION_DATA_EXTERNAL_CHILD_IDS))); verify(launcherCallbackNotifierMock).notifyURL(OozieActionResult.FAILED); } }