Example usage for org.springframework.mock.web MockHttpServletRequest getAttribute

List of usage examples for org.springframework.mock.web MockHttpServletRequest getAttribute

Introduction

In this page you can find the example usage for org.springframework.mock.web MockHttpServletRequest getAttribute.

Prototype

@Override
    public Object getAttribute(String name) 

Source Link

Usage

From source file:org.patientview.test.utils.UnitUtilsTest.java

/**
 * test UnitUtils.setUserUnits method, this method is used by LogonAddInputAction and UnitAdminAddAction.
 * this method will search units depend on login user's role and sourceType of unit('radargroup', 'renalunit').
 * superadmin will get all 'radargroup' and 'renalunit' units, unitadmin will get all units which he belongs to,
 * other role user won't get any unit, like radaradmin.
 * searching result will be as a attribute in request.
 *///from   w  w  w. j a  v a2 s .  co m
@Test
public void testSetUserUnits() {
    //superadmin will get all 4 units.
    loginAsUser(superadmin.getUsername(), specialty1);
    assertTrue("superadmin should be present", securityUserManager.isRolePresent("superadmin"));
    MockHttpServletRequest request = new MockHttpServletRequest();
    UnitUtils.setUserUnits(request);
    List<Unit> units = (List<Unit>) request.getAttribute("units");
    assertEquals("units size is wrong.", 4, units.size());
    List<String> unitcodes = new ArrayList<String>();
    for (Unit unit : units) {
        unitcodes.add(unit.getUnitcode());
    }
    assertEquals("searching result[" + unitcodes.toString() + "] is wrong", 0,
            CollectionUtils
                    .subtract(Arrays.asList(new String[] { "RADAR1", "RADAR2", "RENAL1", "RENAL2" }), unitcodes)
                    .size());
    logout();

    // unitadmin will get one unit.
    loginAsUser(unitadmin.getUsername(), specialty1);
    assertTrue("unitadmin should be present", securityUserManager.isRolePresent("unitadmin"));
    request = new MockHttpServletRequest();
    UnitUtils.setUserUnits(request);
    List<Unit> unitadminUnits = (List<Unit>) request.getAttribute("units");
    assertEquals("units size is wrong.", 1, ((List) request.getAttribute("units")).size());
    assertEquals("searching result is wrong", "RENAL2", unitadminUnits.get(0).getUnitcode());
    logout();

    // comboAdmin will get 3 units.
    loginAsUser(comboAdmin.getUsername(), specialty1);
    assertTrue("comboAdmin should be present", securityUserManager.isRolePresent("unitadmin"));
    request = new MockHttpServletRequest();
    UnitUtils.setUserUnits(request);
    List<Unit> comboAdminUnits = (List<Unit>) request.getAttribute("units");
    assertEquals("units size is wrong.", 3, comboAdminUnits.size());
    List<String> comboAdminUnitcodes = new ArrayList<String>();
    for (Unit unit : comboAdminUnits) {
        comboAdminUnitcodes.add(unit.getUnitcode());
    }
    assertEquals("searching result is wrong", 0,
            CollectionUtils
                    .subtract(Arrays.asList(new String[] { "RADAR1", "RENAL1", "RENAL2" }), comboAdminUnitcodes)
                    .size());
    logout();

    //radaradmin won't get any unit.
    loginAsUser(radaradmin.getUsername(), specialty1);
    assertTrue("radaradmin should be present", securityUserManager.isRolePresent("radaradmin"));
    request = new MockHttpServletRequest();
    UnitUtils.setUserUnits(request);
    assertEquals("units size is wrong.", 0, ((List) request.getAttribute("units")).size());
    logout();
}

From source file:org.patientview.test.utils.UnitUtilsTest.java

/**
 * test UnitUtils.setUserRenalUnits method, this method is used by PatientAddInputAction.
 * this method will search units depend on login user's role and 'renalunit' unit
 * superadmin will get all 'renalunit' units, unitadmin will get all 'renalunit' units which he belongs to,
 * other role user won't get any unit, like radaradmin.
 * searching result will be as a attribute in request.
 *///from w  ww.j  a  v a2s  .c  o m
@Test
public void testSetUserRenalUnits() {

    //superadmin will get 2 units.
    loginAsUser(superadmin.getUsername(), specialty1);
    assertTrue("superadmin should be present", securityUserManager.isRolePresent("superadmin"));
    MockHttpServletRequest request = new MockHttpServletRequest();
    UnitUtils.setUserRenalUnits(request);
    List<Unit> units = (List<Unit>) request.getAttribute("units");
    assertEquals("units size is wrong.", 2, units.size());
    List<String> unitcodes = new ArrayList<String>();
    for (Unit unit : units) {
        unitcodes.add(unit.getUnitcode());
    }
    assertEquals("searching result is wrong", 0,
            CollectionUtils.subtract(Arrays.asList(new String[] { "RENAL1", "RENAL2" }), unitcodes).size());
    logout();

    // unitadmin will get one unit.
    loginAsUser(unitadmin.getUsername(), specialty1);
    assertTrue("unitadmin should be present", securityUserManager.isRolePresent("unitadmin"));
    request = new MockHttpServletRequest();
    UnitUtils.setUserRenalUnits(request);
    List<Unit> unitadminUnits = (List<Unit>) request.getAttribute("units");
    assertEquals("units size is wrong.", 1, ((List) request.getAttribute("units")).size());
    assertEquals("searching result is wrong", "RENAL2", unitadminUnits.get(0).getUnitcode());
    logout();

    // comboAdmin will get 2 units.
    loginAsUser(comboAdmin.getUsername(), specialty1);
    assertTrue("comboAdmin should be present", securityUserManager.isRolePresent("unitadmin"));
    request = new MockHttpServletRequest();
    UnitUtils.setUserRenalUnits(request);
    List<Unit> comboAdminUnits = (List<Unit>) request.getAttribute("units");
    assertEquals("units size is wrong.", 2, comboAdminUnits.size());
    List<String> comboAdminUnitcodes = new ArrayList<String>();
    for (Unit unit : comboAdminUnits) {
        comboAdminUnitcodes.add(unit.getUnitcode());
    }
    assertEquals("searching result is wrong", 0, CollectionUtils
            .subtract(Arrays.asList(new String[] { "RENAL1", "RENAL2" }), comboAdminUnitcodes).size());
    logout();

    //radaradmin won't get any unit.
    loginAsUser(radaradmin.getUsername(), specialty1);
    assertTrue("radaradmin should be present", securityUserManager.isRolePresent("radaradmin"));
    request = new MockHttpServletRequest();
    UnitUtils.setUserRenalUnits(request);
    assertEquals("units size is wrong.", null, request.getAttribute("units"));
    logout();
}