protected void assertNoProvisioningScripts() { if (!getDummyResource().getScriptHistory().isEmpty()) { IntegrationTestTools.displayScripts(getDummyResource().getScriptHistory()); AssertJUnit.fail(getDummyResource().getScriptHistory().size()+" provisioning scripts were executed while not expected any"); } }
protected void assertDummyProvisioningScriptsNone() { IntegrationTestTools.assertScripts(getDummyResource().getScriptHistory()); }
protected void displayProvisioningScripts(String dummyName) { display("Provisioning scripts "+dummyName, getDummyResource(dummyName).getScriptHistory()); }
private void assertDummyScriptsDelete() { ProvisioningScriptSpec script = new ProvisioningScriptSpec("The Jabberwock, with eyes of flame"); IntegrationTestTools.assertScripts(getDummyResource().getScriptHistory(), script); }
@Test public void test002testReconcileScriptsWhenReconciling() throws Exception{ final String TEST_NAME = "test002testReconcileScriptsWhenReconciling"; displayTestTitle(TEST_NAME); getDummyResource().getScriptHistory().clear(); importObjectFromFile(new File(TASK_RECON_DUMMY_FILENAME)); waitForTaskStart(TASK_RECON_DUMMY_OID, false, DEFAULT_TASK_WAIT_TIMEOUT); waitForTaskNextRunAssertSuccess(TASK_RECON_DUMMY_OID, false, DEFAULT_TASK_WAIT_TIMEOUT); waitForTaskFinish(TASK_RECON_DUMMY_OID, false); for (ScriptHistoryEntry script : getDummyResource().getScriptHistory()){ String userName = (String) script.getParams().get("midpoint_usercn"); String idPath = (String) script.getParams().get("midpoint_idpath"); String tempPath = (String) script.getParams().get("midpoint_temppath"); LOGGER.trace("userName {} idPath {} tempPath {}", new Object[]{userName,idPath,tempPath}); if (!idPath.contains(userName)){ AssertJUnit.fail("Expected that idPath will contain userName [idPath: " + idPath + ", userName " + userName +"]"); } if (!tempPath.contains(userName)){ AssertJUnit.fail("Expected that tempPath will contain userName [idPath: " + idPath + ", userName " + userName +"]"); } } }
private void assertDummyScripts(String dummyName, String operation, String errorArg) { displayProvisioningScripts(dummyName); ProvisioningScriptSpec script = new ProvisioningScriptSpec("operation:"+operation); script.addArgSingle(DummyResource.POWERFAIL_ARG_ERROR, errorArg); script.setLanguage(DummyResource.SCRIPT_LANGUAGE_POWERFAIL); IntegrationTestTools.assertScripts(getDummyResource(dummyName).getScriptHistory(), script); }
for (ScriptHistoryEntry script : getDummyResource().getScriptHistory()){ String userName = (String) script.getParams().get("midpoint_usercn"); String idPath = (String) script.getParams().get("midpoint_idpath");
getDummyResource().getScriptHistory().clear(); for (ScriptHistoryEntry script : getDummyResource().getScriptHistory()){
@Test public void test135ExecuteScript() throws Exception { final String TEST_NAME = "test135ExecuteScript"; displayTestTitle(TEST_NAME); // GIVEN Task task = taskManager.createTaskInstance(TestDummy.class.getName() + "." + TEST_NAME); OperationResult result = task.getResult(); syncServiceMock.reset(); dummyResource.purgeScriptHistory(); OperationProvisioningScriptsType scriptsType = unmarshallValueFromFile(SCRIPTS_FILE, OperationProvisioningScriptsType.class); display("Provisioning scripts", PrismTestUtil.serializeAnyDataWrapped(scriptsType)); ProvisioningScriptType script = scriptsType.getScript().get(0); // WHEN provisioningService.executeScript(RESOURCE_DUMMY_OID, script, task, result); // THEN result.computeStatus(); display("executeScript result", result); TestUtil.assertSuccess("executeScript has failed (result)", result); ProvisioningScriptSpec expectedScript = new ProvisioningScriptSpec("Where to go now?"); expectedScript.addArgMulti("direction", "left", "right"); IntegrationTestTools.assertScripts(dummyResource.getScriptHistory(), expectedScript); assertSteadyResource(); }
private void assertDummyScriptsModify(PrismObject<UserType> user, boolean recon) { ProvisioningScriptSpec modScript = new ProvisioningScriptSpec("Beware the Jabberwock, my son!"); String name = null; String fullName = null; String costCenter = null; if (user != null) { name = user.asObjectable().getName().getOrig(); fullName = user.asObjectable().getFullName().getOrig(); costCenter = user.asObjectable().getCostCenter(); } modScript.addArgSingle("howMuch", costCenter); modScript.addArgSingle("howLong", "from here to there"); modScript.addArgSingle("who", name); modScript.addArgSingle("whatchacallit", fullName); if (recon) { ProvisioningScriptSpec reconBeforeScript = new ProvisioningScriptSpec("The vorpal blade went snicker-snack!"); reconBeforeScript.addArgSingle("who", name); ProvisioningScriptSpec reconAfterScript = new ProvisioningScriptSpec("He left it dead, and with its head"); reconAfterScript.addArgSingle("how", "enabled"); IntegrationTestTools.assertScripts(getDummyResource().getScriptHistory(), reconBeforeScript, modScript, reconAfterScript); } else { IntegrationTestTools.assertScripts(getDummyResource().getScriptHistory(), modScript); } }
@Test public void test134DeleteScript() throws Exception { final String TEST_NAME = "test134DeleteScript"; displayTestTitle(TEST_NAME); // GIVEN Task task = taskManager.createTaskInstance(TestDummy.class.getName() + "." + TEST_NAME); OperationResult result = task.getResult(); syncServiceMock.reset(); dummyResource.purgeScriptHistory(); OperationProvisioningScriptsType scriptsType = unmarshallValueFromFile(SCRIPTS_FILE, OperationProvisioningScriptsType.class); display("Provisioning scripts", PrismTestUtil.serializeAnyDataWrapped(scriptsType)); // WHEN provisioningService.deleteObject(ShadowType.class, ACCOUNT_NEW_SCRIPT_OID, null, scriptsType, task, result); // THEN result.computeStatus(); display("modifyObject result", result); TestUtil.assertSuccess("modifyObject has failed (result)", result); syncServiceMock.assertNotifySuccessOnly(); // Check if the account was modified in the dummy resource DummyAccount dummyAccount = getDummyAccount("william", williamIcfUid); assertNull("Dummy account not gone", dummyAccount); ProvisioningScriptSpec beforeScript = new ProvisioningScriptSpec("Goodbye World"); beforeScript.addArgMulti("what", "cruel"); ProvisioningScriptSpec afterScript = new ProvisioningScriptSpec("R.I.P."); IntegrationTestTools.assertScripts(dummyResource.getScriptHistory(), beforeScript, afterScript); assertSteadyResource(); }
display("Script history", getDummyResource().getScriptHistory()); ArrayList<ProvisioningScriptSpec> scripts = new ArrayList<>(); addReconScripts(scripts, ACCOUNT_HERMAN_DUMMY_USERNAME, "Herman Toothrot", false); addReconScripts(scripts, USER_RAPP_USERNAME, USER_RAPP_FULLNAME, false); addReconScripts(scripts, ACCOUNT_STAN_NAME, ACCOUNT_STAN_FULLNAME, false); IntegrationTestTools.assertScripts(getDummyResource().getScriptHistory(), scripts.toArray(new ProvisioningScriptSpec[0]));
assertEquals("Wrong password", "3lizab3th123", dummyAccount.getPassword()); IntegrationTestTools.assertScripts(dummyResource.getScriptHistory());
display("Script history", getDummyResource().getScriptHistory()); addReconScripts(scripts, USER_RAPP_USERNAME, USER_RAPP_FULLNAME, false); addReconScripts(scripts, ACCOUNT_STAN_NAME, ACCOUNT_STAN_FULLNAME, false); IntegrationTestTools.assertScripts(getDummyResource().getScriptHistory(), scripts.toArray(new ProvisioningScriptSpec[0]));
ProvisioningScriptSpec afterScript = new ProvisioningScriptSpec("Still here"); afterScript.addArgMulti("status", "dead", "alive"); IntegrationTestTools.assertScripts(dummyResource.getScriptHistory(), beforeScript, afterScript);
display("Script history", getDummyResource().getScriptHistory()); IntegrationTestTools.assertScripts(getDummyResource().getScriptHistory());
display("Script history", getDummyResource().getScriptHistory()); addReconScripts(scripts, USER_RAPP_USERNAME, USER_RAPP_FULLNAME, false); addReconScripts(scripts, ACCOUNT_STAN_NAME, ACCOUNT_STAN_FULLNAME, false); IntegrationTestTools.assertScripts(getDummyResource().getScriptHistory(), scripts.toArray(new ProvisioningScriptSpec[0]));
private void assertDummyScriptsAdd(PrismObject<UserType> user, PrismObject<? extends ShadowType> account, ResourceType resource) { ProvisioningScriptSpec script = new ProvisioningScriptSpec("\nto spiral :size\n" + " if :size > 30 [stop]\n fd :size rt 15\n spiral :size *1.02\nend\n "); String userName = null; if (user != null) { userName = user.asObjectable().getName().getOrig(); } script.addArgSingle("usr", "user: "+userName); // Note: We cannot test for account name as name is only assigned in provisioning String accountEnabled = null; if (account != null && account.asObjectable().getActivation() != null && account.asObjectable().getActivation().getAdministrativeStatus() != null) { accountEnabled = account.asObjectable().getActivation().getAdministrativeStatus().toString(); } script.addArgSingle("acc", "account: "+accountEnabled); String resourceName = null; if (resource != null) { resourceName = resource.getName().getOrig(); } script.addArgSingle("res", "resource: "+resourceName); script.addArgSingle("size", "3"); script.setLanguage("Logo"); IntegrationTestTools.assertScripts(getDummyResource().getScriptHistory(), script); }
display("Script history", getDummyResource().getScriptHistory()); addReconScripts(scripts, ACCOUNT_STAN_NAME, ACCOUNT_STAN_FULLNAME, false); addReconScripts(scripts, ACCOUNT_HTM_NAME, ACCOUNT_HTM_FULL_NAME, true); IntegrationTestTools.assertScripts(getDummyResource().getScriptHistory(), scripts.toArray(new ProvisioningScriptSpec[0]));
afterScript.addArgSingle("which", "this"); afterScript.addArgSingle("when", "now"); IntegrationTestTools.assertScripts(dummyResource.getScriptHistory(), beforeScript, afterScript);