service.addPermission(params);
}
@Test
public void apply_permission_template_on_many_projects() throws Exception {
ComponentDto project1 = ComponentTesting.newProjectDto().setId(1L);
when(componentDao.getByKey(session, "org.sample.Sample1")).thenReturn(project1);
ComponentDto project2 = ComponentTesting.newProjectDto().setId(2L);
when(componentDao.getByKey(session, "org.sample.Sample2")).thenReturn(project2);
ComponentDto project3 = ComponentTesting.newProjectDto().setId(3L);
when(componentDao.getByKey(session, "org.sample.Sample3")).thenReturn(project3);
params = Maps.newHashMap();
params.put("template_key", "my_template_key");
params.put("components", "org.sample.Sample1,org.sample.Sample2,org.sample.Sample3");
service.applyPermissionTemplate(params);
verify(permissionFacade).applyPermissionTemplate(session, "my_template_key", 1L);
verify(permissionFacade).applyPermissionTemplate(session, "my_template_key", 2L);
verify(permissionFacade).applyPermissionTemplate(session, "my_template_key", 3L);
verify(issueAuthorizationDao).synchronizeAfter(eq(session), any(Date.class), eq(ImmutableMap.of("project", project1.uuid())));
verify(issueAuthorizationDao).synchronizeAfter(eq(session), any(Date.class), eq(ImmutableMap.of("project", project2.uuid())));
verify(issueAuthorizationDao).synchronizeAfter(eq(session), any(Date.class), eq(ImmutableMap.of("project", project3.uuid())));
}