public void testPerformExecute() throws Exception {
    UserEditSetupAction action = new UserEditSetupAction();
    ActionHelper sah = new ActionHelper();
    sah.setUpAction(action);
    sah.getRequest().setRequestURL("foo");

    User user = sah.getUser();
    user.setTitle("Test title");
    // Lets add some roles
    Iterator it = UserFactory.IMPLIEDROLES.iterator();
    user.addPermanentRole(RoleFactory.ORG_ADMIN);
    while (it.hasNext()) {
      Role cr = (Role) it.next();
      user.getOrg().addRole(cr);
      user.addPermanentRole(cr);
    }

    setupExpectations(sah.getForm(), sah.getUser());

    // Below we test to make sure that some of
    // the strings in the form are localized
    TestUtils.enableLocalizationDebugMode();
    try {
      sah.executeAction();

      // verify the dyna form got the right values we expected.
      sah.getForm().verify();

      assertEquals(sah.getUser().getLastLoggedIn(), sah.getRequest().getAttribute("lastLoggedIn"));
      // Verify some more intensive stuff
      assertNotNull(sah.getRequest().getAttribute("adminRoles"));
      assertNotNull(sah.getRequest().getAttribute("regularRoles"));
      List<UserRoleStatusBean> regularRoles =
          (List<UserRoleStatusBean>) sah.getRequest().getAttribute("regularRoles");
      assertEquals(5, regularRoles.size());
      UserRoleStatusBean lv = regularRoles.get(0);
      assertTrue(TestUtils.isLocalized(lv.getName()));
      assertEquals(true, lv.isDisabled());
      assertNotNull(sah.getRequest().getAttribute("disabledRoles"));
      assertTrue(sah.getRequest().getAttribute("user") instanceof User);

      // If we have pam setup where we're testing, make sure displaypam was set
      String pamAuthService = Config.get().getString(ConfigDefaults.WEB_PAM_AUTH_SERVICE);
      if (pamAuthService != null && pamAuthService.trim().length() > 0) {
        assertNotNull(sah.getRequest().getAttribute("displaypam"));
      }
    } finally {
      TestUtils.disableLocalizationDebugMode();
    }
  }
 private ActionHelper createActionHelper(String forwardName) throws Exception {
   ActionHelper result = new ActionHelper();
   result.setUpAction(action, forwardName);
   result.getForm().setFormName("probeEditForm");
   result.getRequest().setupAddParameter(ProbeDetailsAction.PROBEID, probe.getId().toString());
   String id = probeSuite.getId().toString();
   result.getRequest().setupAddParameter(RequestContext.SUITE_ID, id);
   result.getRequest().setupAddParameter(RequestContext.SUITE_ID, id);
   return result;
 }
  public void testSubmitExecute() throws Exception {

    ActionHelper ah = createActionHelper("success");
    ah.getForm().set(ProbeEditAction.SUBMITTED, new Boolean(true));
    ah.getForm().set("description", probe.getDescription());
    ah.getForm().set("notification", new Boolean(true));
    Long intv = new Long(probe.getCheckIntervalMinutes().longValue());
    ah.getForm().set("check_interval_min", intv);
    ah.getForm().set("notification_interval_min", probe.getNotificationIntervalMinutes());

    MonitoringTestUtils.setupParamValues(ah, probe.getCommand(), 3);

    ActionForward af = ah.executeAction();
    assertEquals("success", af.getName());

    Probe edited = (Probe) reload(probe);
    assertTrue(edited.isNotifyCritical().booleanValue());
    MonitoringTestUtils.verifyParameters(edited, probe.getCommand());
    assertEquals(intv, edited.getCheckIntervalMinutes());
  }
  public void testNoParamExecute() throws Exception {
    UserEditSetupAction action = new UserEditSetupAction();
    ActionHelper sah = new ActionHelper();
    sah.setUpAction(action);
    sah.getRequest().setRequestURL("rdu.redhat.com/rhn/users/UserDetails.do");
    setupExpectations(sah.getForm(), sah.getUser());

    sah.getRequest().setupAddParameter("uid", (String) null);
    sah.getRequest().getParameterValues("uid"); // now uid = null

    try {
      sah.executeAction();
      fail(); // should never get this far
    } catch (BadParameterException e) {
      // no op
    }
  }