public void testCallGroupPerms() throws Exception { PermissionManagerImpl pm = new PermissionManagerImpl(); pm.setModelFilesContext(TestHelper.getModelFilesContext()); User testUser = new User(); testUser.setPermissionManager(pm); CoreContext coreContext = createMock(CoreContext.class); coreContext.getDomainName(); expectLastCall().andReturn("host.company.com"); coreContext.loadUsersByPage(null, null, null, 0, DaoUtils.PAGE_SIZE, "id", true); expectLastCall().andReturn(Collections.EMPTY_LIST); coreContext.newUser(); expectLastCall().andReturn(testUser).anyTimes(); CallGroup callGroup1 = new CallGroup(); callGroup1.setName("sales"); callGroup1.setEnabled(true); CallGroup callGroup2 = new CallGroup(); callGroup2.setName("marketing"); callGroup2.setEnabled(true); CallGroup callGroup3 = new CallGroup(); callGroup3.setName("disabled"); CallGroupContext callGroupContext = createMock(CallGroupContext.class); callGroupContext.getCallGroups(); expectLastCall().andReturn(Arrays.asList(callGroup1, callGroup2, callGroup3)); replay(coreContext, callGroupContext); Permissions permissions = new Permissions(); permissions.setCoreContext(coreContext); permissions.setCallGroupContext(callGroupContext); List<Map<String, String>> items = permissions.generate(); int start = SPEC_COUNT * PERM_COUNT; assertEquals(start + 10, items.size()); assertEquals("sip:[email protected]", items.get(start + 0).get("identity")); assertEquals("sip:[email protected]", items.get(start + 4).get("identity")); assertEquals("sip:[email protected]", items.get(start + 5).get("identity")); assertEquals("sip:[email protected]", items.get(start + 9).get("identity")); verify(coreContext, callGroupContext); }