aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2017-01-30 17:36:15 +0100
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2017-02-02 16:12:13 +0100
commit6793f543cc7b6d8a074dfa00d20c5706007d13a7 (patch)
tree14fede539aae99ff09d8bb2015c3e9e1020e9904
parent7efab8ef44b618e27427be25df59df751e0bf814 (diff)
downloadsonarqube-6793f543cc7b6d8a074dfa00d20c5706007d13a7.tar.gz
sonarqube-6793f543cc7b6d8a074dfa00d20c5706007d13a7.zip
SONAR-8651 add and use OrganizationDbTester.setDefaultTemplates with dtos
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/component/ComponentUpdaterTest.java122
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/permission/PermissionTemplateServiceTest.java4
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/DeleteTemplateActionTest.java40
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/SearchTemplatesActionTest.java15
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/SetDefaultTemplateActionTest.java17
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/startup/RegisterPermissionTemplatesTest.java8
-rw-r--r--sonar-db/src/test/java/org/sonar/db/organization/OrganizationDbTester.java19
7 files changed, 130 insertions, 95 deletions
diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/ComponentUpdaterTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/ComponentUpdaterTest.java
index d3ca2eea18f..5442ad996d3 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/component/ComponentUpdaterTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/component/ComponentUpdaterTest.java
@@ -61,17 +61,17 @@ public class ComponentUpdaterTest {
private PermissionTemplateService permissionTemplateService = mock(PermissionTemplateService.class);
private ComponentUpdater underTest = new ComponentUpdater(db.getDbClient(), i18n, system2,
- permissionTemplateService,
- new FavoriteUpdater(db.getDbClient()),
- projectIndexer);
+ permissionTemplateService,
+ new FavoriteUpdater(db.getDbClient()),
+ projectIndexer);
@Test
public void should_persist_and_index_when_creating_project() throws Exception {
NewComponent project = NewComponent.newComponentBuilder()
- .setKey(DEFAULT_PROJECT_KEY)
- .setName(DEFAULT_PROJECT_NAME)
- .setOrganizationUuid(db.getDefaultOrganization().getUuid())
- .build();
+ .setKey(DEFAULT_PROJECT_KEY)
+ .setName(DEFAULT_PROJECT_NAME)
+ .setOrganizationUuid(db.getDefaultOrganization().getUuid())
+ .build();
ComponentDto returned = underTest.create(db.getSession(), project, null);
ComponentDto loaded = db.getDbClient().componentDao().selectOrFailByUuid(db.getSession(), returned.uuid());
@@ -95,13 +95,13 @@ public class ComponentUpdaterTest {
@Test
public void create_project_with_branch() throws Exception {
ComponentDto project = underTest.create(db.getSession(),
- NewComponent.newComponentBuilder()
- .setKey(DEFAULT_PROJECT_KEY)
- .setName(DEFAULT_PROJECT_NAME)
- .setBranch("origin/master")
- .setOrganizationUuid(db.getDefaultOrganization().getUuid())
- .build(),
- null);
+ NewComponent.newComponentBuilder()
+ .setKey(DEFAULT_PROJECT_KEY)
+ .setName(DEFAULT_PROJECT_NAME)
+ .setBranch("origin/master")
+ .setOrganizationUuid(db.getDefaultOrganization().getUuid())
+ .build(),
+ null);
assertThat(project.getKey()).isEqualTo("project-key:origin/master");
}
@@ -110,10 +110,10 @@ public class ComponentUpdaterTest {
public void should_apply_default_permission_template() throws Exception {
long userId = 42;
NewComponent project = NewComponent.newComponentBuilder()
- .setKey(DEFAULT_PROJECT_KEY)
- .setName(DEFAULT_PROJECT_NAME)
- .setOrganizationUuid(db.getDefaultOrganization().getUuid())
- .build();
+ .setKey(DEFAULT_PROJECT_KEY)
+ .setName(DEFAULT_PROJECT_NAME)
+ .setOrganizationUuid(db.getDefaultOrganization().getUuid())
+ .build();
ComponentDto dto = underTest.create(db.getSession(), project, userId);
verify(permissionTemplateService).applyDefault(db.getSession(), dto.getOrganizationUuid(), dto, userId);
@@ -123,16 +123,16 @@ public class ComponentUpdaterTest {
public void should_add_project_to_user_favorites_if_project_creator_is_defined_in_permission_template() throws Exception {
UserDto userDto = db.users().insertUser();
NewComponent project = NewComponent.newComponentBuilder()
- .setKey(DEFAULT_PROJECT_KEY)
- .setName(DEFAULT_PROJECT_NAME)
- .setOrganizationUuid(db.getDefaultOrganization().getUuid())
- .build();
+ .setKey(DEFAULT_PROJECT_KEY)
+ .setName(DEFAULT_PROJECT_NAME)
+ .setOrganizationUuid(db.getDefaultOrganization().getUuid())
+ .build();
when(permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(eq(db.getSession()), eq(project.getOrganizationUuid()), any(ComponentDto.class)))
- .thenReturn(true);
+ .thenReturn(true);
ComponentDto dto = underTest.create(db.getSession(),
- project,
- userDto.getId());
+ project,
+ userDto.getId());
assertThat(db.favorites().hasFavorite(dto, userDto.getId())).isTrue();
}
@@ -140,12 +140,12 @@ public class ComponentUpdaterTest {
@Test
public void does_not_add_project_to_favorite_when_anonymously_created() throws Exception {
ComponentDto project = underTest.create(db.getSession(),
- NewComponent.newComponentBuilder()
- .setKey(DEFAULT_PROJECT_KEY)
- .setName(DEFAULT_PROJECT_NAME)
- .setOrganizationUuid(db.getDefaultOrganization().getUuid())
- .build(),
- null);
+ NewComponent.newComponentBuilder()
+ .setKey(DEFAULT_PROJECT_KEY)
+ .setName(DEFAULT_PROJECT_NAME)
+ .setOrganizationUuid(db.getDefaultOrganization().getUuid())
+ .build(),
+ null);
assertThat(db.favorites().hasNoFavorite(project)).isTrue();
}
@@ -153,12 +153,12 @@ public class ComponentUpdaterTest {
@Test
public void does_not_add_project_to_favorite_when_project_has_no_permission_on_template() throws Exception {
ComponentDto project = underTest.create(db.getSession(),
- NewComponent.newComponentBuilder()
- .setKey(DEFAULT_PROJECT_KEY)
- .setName(DEFAULT_PROJECT_NAME)
- .setOrganizationUuid(db.getDefaultOrganization().getUuid())
- .build(),
- null);
+ NewComponent.newComponentBuilder()
+ .setKey(DEFAULT_PROJECT_KEY)
+ .setName(DEFAULT_PROJECT_NAME)
+ .setOrganizationUuid(db.getDefaultOrganization().getUuid())
+ .build(),
+ null);
assertThat(db.favorites().hasNoFavorite(project)).isTrue();
}
@@ -171,12 +171,12 @@ public class ComponentUpdaterTest {
expectedException.expectMessage("Could not create Project, key already exists: " + existing.key());
underTest.create(db.getSession(),
- NewComponent.newComponentBuilder()
- .setKey(existing.key())
- .setName(DEFAULT_PROJECT_NAME)
- .setOrganizationUuid(existing.getOrganizationUuid())
- .build(),
- null);
+ NewComponent.newComponentBuilder()
+ .setKey(existing.key())
+ .setName(DEFAULT_PROJECT_NAME)
+ .setOrganizationUuid(existing.getOrganizationUuid())
+ .build(),
+ null);
}
@Test
@@ -185,12 +185,12 @@ public class ComponentUpdaterTest {
expectedException.expectMessage("Malformed key for Project: 1234");
underTest.create(db.getSession(),
- NewComponent.newComponentBuilder()
- .setKey("1234")
- .setName(DEFAULT_PROJECT_NAME)
- .setOrganizationUuid(db.getDefaultOrganization().getUuid())
- .build(),
- null);
+ NewComponent.newComponentBuilder()
+ .setKey("1234")
+ .setName(DEFAULT_PROJECT_NAME)
+ .setOrganizationUuid(db.getDefaultOrganization().getUuid())
+ .build(),
+ null);
}
@Test
@@ -199,23 +199,23 @@ public class ComponentUpdaterTest {
expectedException.expectMessage("Malformed branch for Project: origin?branch. Allowed characters are alphanumeric, '-', '_', '.' and '/', with at least one non-digit.");
underTest.create(db.getSession(),
- NewComponent.newComponentBuilder()
- .setKey(DEFAULT_PROJECT_KEY)
- .setName(DEFAULT_PROJECT_NAME)
- .setBranch("origin?branch")
- .setOrganizationUuid(db.getDefaultOrganization().getUuid())
- .build(),
- null);
+ NewComponent.newComponentBuilder()
+ .setKey(DEFAULT_PROJECT_KEY)
+ .setName(DEFAULT_PROJECT_NAME)
+ .setBranch("origin?branch")
+ .setOrganizationUuid(db.getDefaultOrganization().getUuid())
+ .build(),
+ null);
}
@Test
public void persist_and_index_when_creating_view() {
NewComponent view = NewComponent.newComponentBuilder()
- .setKey("view-key")
- .setName("view-name")
- .setQualifier(VIEW)
- .setOrganizationUuid(db.getDefaultOrganization().getUuid())
- .build();
+ .setKey("view-key")
+ .setName("view-name")
+ .setQualifier(VIEW)
+ .setOrganizationUuid(db.getDefaultOrganization().getUuid())
+ .build();
ComponentDto returned = underTest.create(db.getSession(), view, null);
diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/PermissionTemplateServiceTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/PermissionTemplateServiceTest.java
index 35386dca956..cad1b8e54d7 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/permission/PermissionTemplateServiceTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/permission/PermissionTemplateServiceTest.java
@@ -113,7 +113,7 @@ public class PermissionTemplateServiceTest {
GroupDto group = dbTester.users().insertGroup(organization);
dbTester.users().insertMember(group, user);
PermissionTemplateDto template = templateDb.insertTemplate(organization);
- dbTester.organizations().setDefaultTemplates(organization, template.getUuid(), null);
+ dbTester.organizations().setDefaultTemplates(template, null);
templateDb.addProjectCreatorToTemplate(template.getId(), SCAN_EXECUTION);
templateDb.addUserToTemplate(template.getId(), user.getId(), UserRole.USER);
templateDb.addGroupToTemplate(template.getId(), group.getId(), UserRole.CODEVIEWER);
@@ -144,7 +144,7 @@ public class PermissionTemplateServiceTest {
@Test
public void would_user_have_permission_with_empty_template() {
PermissionTemplateDto template = templateDb.insertTemplate(dbTester.getDefaultOrganization());
- dbTester.organizations().setDefaultTemplates(dbTester.getDefaultOrganization(), template.getUuid(), null);
+ dbTester.organizations().setDefaultTemplates(template, null);
checkWouldUserHavePermission(dbTester.getDefaultOrganization(), null, UserRole.ADMIN, false);
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/DeleteTemplateActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/DeleteTemplateActionTest.java
index d6fbe605168..368888bef23 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/DeleteTemplateActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/DeleteTemplateActionTest.java
@@ -91,7 +91,9 @@ public class DeleteTemplateActionTest {
runOnAllUnderTests((underTest) -> {
OrganizationDto organization = db.organizations().insert();
PermissionTemplateDto template = insertTemplateAndAssociatedPermissions(organization);
- db.organizations().setDefaultTemplates(organization, "foo", "bar");
+ db.organizations().setDefaultTemplates(
+ db.permissionTemplates().insertTemplate(organization),
+ db.permissionTemplates().insertTemplate(organization));
loginAsAdmin(organization);
TestResponse result = newRequestByUuid(underTest, template.getUuid());
@@ -105,7 +107,9 @@ public class DeleteTemplateActionTest {
public void delete_template_by_name_case_insensitive() throws Exception {
runOnAllUnderTests((underTest) -> {
OrganizationDto organization = db.organizations().insert();
- db.organizations().setDefaultTemplates(organization, "project def template uuid", "view def template uuid");
+ db.organizations().setDefaultTemplates(
+ db.permissionTemplates().insertTemplate(organization),
+ db.permissionTemplates().insertTemplate(organization));
PermissionTemplateDto template = insertTemplateAndAssociatedPermissions(organization);
loginAsAdmin(organization);
newRequestByName(underTest, organization, template);
@@ -117,7 +121,9 @@ public class DeleteTemplateActionTest {
@Test
public void delete_template_by_name_returns_empty_when_no_organization_is_provided_and_templates_does_not_belong_to_default_organization() throws Exception {
OrganizationDto organization = db.organizations().insert();
- db.organizations().setDefaultTemplates(organization, "project def template uuid", "view def template uuid");
+ db.organizations().setDefaultTemplates(
+ db.permissionTemplates().insertTemplate(organization),
+ db.permissionTemplates().insertTemplate(organization));
PermissionTemplateDto template = insertTemplateAndAssociatedPermissions(organization);
loginAsAdmin(organization);
@@ -134,7 +140,9 @@ public class DeleteTemplateActionTest {
@Test
public void delete_template_by_name_returns_empty_when_wrong_organization_is_provided() throws Exception {
OrganizationDto organization = db.organizations().insert();
- db.organizations().setDefaultTemplates(organization, "project def template uuid", "view def template uuid");
+ db.organizations().setDefaultTemplates(
+ db.permissionTemplates().insertTemplate(organization),
+ db.permissionTemplates().insertTemplate(organization));
PermissionTemplateDto template = insertTemplateAndAssociatedPermissions(organization);
OrganizationDto otherOrganization = db.organizations().insert();
loginAsAdmin(organization);
@@ -179,14 +187,15 @@ public class DeleteTemplateActionTest {
private void fail_to_delete_by_uuid_if_template_is_default_template_for_project(WsActionTester underTest) throws Exception {
OrganizationDto organization = db.organizations().insert();
- PermissionTemplateDto template = insertTemplateAndAssociatedPermissions(organization);
- db.organizations().setDefaultTemplates(organization, template.getUuid(), "view def template uuid");
+ PermissionTemplateDto projectTemplate = insertTemplateAndAssociatedPermissions(organization);
+ db.organizations().setDefaultTemplates(projectTemplate,
+ db.permissionTemplates().insertTemplate(organization));
loginAsAdmin(organization);
expectedException.expect(BadRequestException.class);
expectedException.expectMessage("It is not possible to delete the default permission template for projects");
- newRequestByUuid(underTest, template.getUuid());
+ newRequestByUuid(underTest, projectTemplate.getUuid());
}
@Test
@@ -201,21 +210,21 @@ public class DeleteTemplateActionTest {
private void fail_to_delete_by_name_if_template_is_default_template_for_project(WsActionTester underTest) throws Exception {
OrganizationDto organization = db.organizations().insert();
- PermissionTemplateDto template = insertTemplateAndAssociatedPermissions(organization);
- db.organizations().setDefaultTemplates(organization, template.getUuid(), "view def template uuid");
+ PermissionTemplateDto projectTemplate = insertTemplateAndAssociatedPermissions(organization);
+ db.organizations().setDefaultTemplates(projectTemplate, db.permissionTemplates().insertTemplate(organization));
loginAsAdmin(organization);
expectedException.expect(BadRequestException.class);
expectedException.expectMessage("It is not possible to delete the default permission template for projects");
- newRequestByName(underTest, organization.getKey(), template.getName());
+ newRequestByName(underTest, organization.getKey(), projectTemplate.getName());
}
@Test
public void fail_to_delete_by_uuid_if_template_is_default_template_for_view_with_views() throws Exception {
OrganizationDto organization = db.organizations().insert();
PermissionTemplateDto template = insertTemplateAndAssociatedPermissions(organization);
- db.organizations().setDefaultTemplates(organization, "project def template uuid", template.getUuid());
+ db.organizations().setDefaultTemplates(db.permissionTemplates().insertTemplate(organization), template);
loginAsAdmin(organization);
expectedException.expect(BadRequestException.class);
@@ -227,13 +236,14 @@ public class DeleteTemplateActionTest {
@Test
public void default_template_for_views_can_be_deleted_by_uuid_if_views_is_not_installed_and_default_template_for_views_is_reset() throws Exception {
OrganizationDto organization = db.organizations().insert();
- PermissionTemplateDto template = insertTemplateAndAssociatedPermissions(organization);
- db.organizations().setDefaultTemplates(organization, "project def template uuid", template.getUuid());
+ PermissionTemplateDto projectTemplate = db.permissionTemplates().insertTemplate(organization);
+ PermissionTemplateDto viewTemplate = insertTemplateAndAssociatedPermissions(organization);
+ db.organizations().setDefaultTemplates(projectTemplate, viewTemplate);
loginAsAdmin(organization);
- newRequestByUuid(this.underTestWithoutViews, template.getUuid());
+ newRequestByUuid(this.underTestWithoutViews, viewTemplate.getUuid());
- assertTemplateDoesNotExist(template);
+ assertTemplateDoesNotExist(viewTemplate);
assertThat(db.getDbClient().organizationDao().getDefaultTemplates(db.getSession(), organization.getUuid())
.get().getViewUuid())
diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/SearchTemplatesActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/SearchTemplatesActionTest.java
index a5decef047c..4d53a40b7d6 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/SearchTemplatesActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/SearchTemplatesActionTest.java
@@ -103,7 +103,7 @@ public class SearchTemplatesActionTest extends BasePermissionWsTest<SearchTempla
addGroupToTemplate(viewsTemplate.getId(), group2.getId(), UserRole.ISSUE_ADMIN);
addGroupToTemplate(viewsTemplate.getId(), group3.getId(), UserRole.ISSUE_ADMIN);
- db.organizations().setDefaultTemplates(organization, projectTemplate.getUuid(), viewsTemplate.getUuid());
+ db.organizations().setDefaultTemplates(projectTemplate, viewsTemplate);
String result = newRequest().execute().getInput();
@@ -156,7 +156,7 @@ public class SearchTemplatesActionTest extends BasePermissionWsTest<SearchTempla
@Test
public void search_by_name_in_default_organization() {
- db.organizations().setDefaultTemplates(db.getDefaultOrganization(), "foo", null);
+ db.organizations().setDefaultTemplates(db.permissionTemplates().insertTemplate(db.getDefaultOrganization()), null);
insertProjectTemplate(db.getDefaultOrganization());
insertViewsTemplate(db.getDefaultOrganization());
@@ -173,7 +173,8 @@ public class SearchTemplatesActionTest extends BasePermissionWsTest<SearchTempla
@Test
public void search_in_organization() throws Exception {
OrganizationDto org = db.organizations().insert();
- db.organizations().setDefaultTemplates(org, "foo", null);
+ PermissionTemplateDto projectDefaultTemplate = db.permissionTemplates().insertTemplate(org);
+ db.organizations().setDefaultTemplates(projectDefaultTemplate, null);
PermissionTemplateDto templateInOrg = insertProjectTemplate(org);
insertProjectTemplate(db.getDefaultOrganization());
db.commit();
@@ -186,8 +187,10 @@ public class SearchTemplatesActionTest extends BasePermissionWsTest<SearchTempla
.execute()
.getInputStream());
- assertThat(result.getPermissionTemplatesCount()).isEqualTo(1);
- assertThat(result.getPermissionTemplates(0).getId()).isEqualTo(templateInOrg.getUuid());
+ assertThat(result.getPermissionTemplatesCount()).isEqualTo(2);
+ assertThat(result.getPermissionTemplatesList())
+ .extracting(WsPermissions.PermissionTemplate::getId)
+ .containsOnly(projectDefaultTemplate.getUuid(), templateInOrg.getUuid());
}
@Test
@@ -200,7 +203,7 @@ public class SearchTemplatesActionTest extends BasePermissionWsTest<SearchTempla
@Test
public void display_all_project_permissions() {
- db.organizations().setDefaultTemplates(db.getDefaultOrganization(), "foo", "bar");
+ db.organizations().setDefaultTemplates(db.permissionTemplates().insertTemplate(db.getDefaultOrganization()), null);
String result = newRequest().execute().getInput();
diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/SetDefaultTemplateActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/SetDefaultTemplateActionTest.java
index eec5cdd3f8c..ce5e5b703ba 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/SetDefaultTemplateActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/SetDefaultTemplateActionTest.java
@@ -57,13 +57,15 @@ public class SetDefaultTemplateActionTest extends BasePermissionWsTest<SetDefaul
@Test
public void update_project_default_template() throws Exception {
- db.organizations().setDefaultTemplates(db.getDefaultOrganization(), "project-template-uuid", "view-template-uuid");
+ PermissionTemplateDto viewDefaultTemplate = db.permissionTemplates().insertTemplate(db.getDefaultOrganization());
+ db.organizations().setDefaultTemplates(db.permissionTemplates().insertTemplate(db.getDefaultOrganization()),
+ viewDefaultTemplate);
PermissionTemplateDto template = insertTemplate(db.getDefaultOrganization());
loginAsAdmin(db.getDefaultOrganization());
newRequest(template.getUuid(), Qualifiers.PROJECT);
- assertDefaultTemplates(db.getDefaultOrganization(), template.getUuid(), "view-template-uuid");
+ assertDefaultTemplates(db.getDefaultOrganization(), template.getUuid(), viewDefaultTemplate.getUuid());
}
@Test
@@ -82,7 +84,9 @@ public class SetDefaultTemplateActionTest extends BasePermissionWsTest<SetDefaul
@Test
public void update_project_default_template_by_template_name() throws Exception {
OrganizationDto organization = db.organizations().insert();
- db.organizations().setDefaultTemplates(organization, "bar", "roh");
+ PermissionTemplateDto viewDefaultTemplate = db.permissionTemplates().insertTemplate(organization);
+ db.organizations().setDefaultTemplates(db.permissionTemplates().insertTemplate(organization),
+ viewDefaultTemplate);
PermissionTemplateDto template = insertTemplate(organization);
loginAsAdmin(organization);
@@ -92,19 +96,20 @@ public class SetDefaultTemplateActionTest extends BasePermissionWsTest<SetDefaul
.execute();
db.getSession().commit();
- assertDefaultTemplates(organization, template.getUuid(), "roh");
+ assertDefaultTemplates(organization, template.getUuid(), viewDefaultTemplate.getUuid());
}
@Test
public void update_view_default_template() throws Exception {
OrganizationDto organization = db.organizations().insert();
- db.organizations().setDefaultTemplates(organization, "foo", null);
+ PermissionTemplateDto projectDefaultTemplate = db.permissionTemplates().insertTemplate(organization);
+ db.organizations().setDefaultTemplates(projectDefaultTemplate, null);
PermissionTemplateDto template = insertTemplate(organization);
loginAsAdmin(organization);
newRequest(template.getUuid(), VIEW);
- assertDefaultTemplates(organization, "foo", template.getUuid());
+ assertDefaultTemplates(organization, projectDefaultTemplate.getUuid(), template.getUuid());
}
@Test
diff --git a/server/sonar-server/src/test/java/org/sonar/server/startup/RegisterPermissionTemplatesTest.java b/server/sonar-server/src/test/java/org/sonar/server/startup/RegisterPermissionTemplatesTest.java
index e917164c62c..f3b74a7352f 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/startup/RegisterPermissionTemplatesTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/startup/RegisterPermissionTemplatesTest.java
@@ -101,10 +101,10 @@ public class RegisterPermissionTemplatesTest {
@Test
public void do_not_fail_if_default_template_exists_and_is_registered() {
- db.permissionTemplates().insertTemplate(newPermissionTemplateDto()
- .setOrganizationUuid(db.getDefaultOrganization().getUuid())
- .setUuid(DEFAULT_TEMPLATE_UUID));
- db.organizations().setDefaultTemplates(db.getDefaultOrganization(), DEFAULT_TEMPLATE_UUID, null);
+ PermissionTemplateDto projectTemplate = db.permissionTemplates().insertTemplate(newPermissionTemplateDto()
+ .setOrganizationUuid(db.getDefaultOrganization().getUuid())
+ .setUuid(DEFAULT_TEMPLATE_UUID));
+ db.organizations().setDefaultTemplates(projectTemplate, null);
underTest.start();
diff --git a/sonar-db/src/test/java/org/sonar/db/organization/OrganizationDbTester.java b/sonar-db/src/test/java/org/sonar/db/organization/OrganizationDbTester.java
index 15f8c312626..ee67f83555b 100644
--- a/sonar-db/src/test/java/org/sonar/db/organization/OrganizationDbTester.java
+++ b/sonar-db/src/test/java/org/sonar/db/organization/OrganizationDbTester.java
@@ -22,6 +22,9 @@ package org.sonar.db.organization;
import javax.annotation.Nullable;
import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
+import org.sonar.db.permission.template.PermissionTemplateDto;
+
+import static com.google.common.base.Preconditions.checkArgument;
public class OrganizationDbTester {
private final DbTester dbTester;
@@ -55,10 +58,24 @@ public class OrganizationDbTester {
return dto;
}
+ public void setDefaultTemplates(PermissionTemplateDto projectDefaultTemplate, @Nullable PermissionTemplateDto viewDefaultTemplate) {
+ checkArgument(viewDefaultTemplate == null
+ || viewDefaultTemplate.getOrganizationUuid().equals(projectDefaultTemplate.getOrganizationUuid()),
+ "default template for project and view must belong to the same organization");
+
+ DbSession dbSession = dbTester.getSession();
+ dbTester.getDbClient().organizationDao().setDefaultTemplates(dbSession, projectDefaultTemplate.getOrganizationUuid(),
+ new DefaultTemplates()
+ .setProjectUuid(projectDefaultTemplate.getUuid())
+ .setViewUuid(viewDefaultTemplate == null ? null : viewDefaultTemplate.getUuid()));
+ dbSession.commit();
+ }
+
public void setDefaultTemplates(OrganizationDto defaultOrganization,
String projectDefaultTemplateUuid, @Nullable String viewDefaultTemplateUuid) {
DbSession dbSession = dbTester.getSession();
- dbTester.getDbClient().organizationDao().setDefaultTemplates(dbSession, defaultOrganization.getUuid(), new DefaultTemplates().setProjectUuid(projectDefaultTemplateUuid).setViewUuid(viewDefaultTemplateUuid));
+ dbTester.getDbClient().organizationDao().setDefaultTemplates(dbSession, defaultOrganization.getUuid(),
+ new DefaultTemplates().setProjectUuid(projectDefaultTemplateUuid).setViewUuid(viewDefaultTemplateUuid));
dbSession.commit();
}