import org.sonar.api.server.rule.RulesDefinition;
import org.sonar.api.utils.ValidationMessages;
import org.sonar.core.permission.GlobalPermissions;
+import org.sonar.server.exceptions.BadRequestException;
import org.sonar.server.paging.Paging;
import org.sonar.server.rule.Rule;
import org.sonar.server.rule.RuleQuery;
import static com.google.common.collect.Lists.newArrayList;
import static org.fest.assertions.Assertions.assertThat;
+import static org.fest.assertions.Fail.fail;
public class QProfilesMediumTest {
assertThat(qProfiles.searchProfileRules(ProfileRuleQuery.create(profile.id()).setNameOrKey("x2"), Paging.create(10, 1)).rules().get(0)).isNotNull();
}
+ @Test
+ public void fail_to_restore_provided_profile_from_language_if_default_profile_already_exists() throws Exception {
+ MockUserSession.set().setLogin("julien").setName("Julien").setGlobalPermissions(GlobalPermissions.QUALITY_PROFILE_ADMIN);
+
+ QProfileBackup qProfileBackup = serverTester.get(QProfileBackup.class);
+
+ try {
+ // Restore default profiles of xoo -> fail as it already exists
+ qProfileBackup.restoreDefaultProfilesByLanguage("xoo");
+ fail();
+ } catch (BadRequestException e) {
+ assertThat(e.l10nKey()).isEqualTo("quality_profiles.profile_x_already_exists");
+ assertThat(e.l10nParams()).containsOnly("Basic");
+ }
+ }
+
public static class XooProfileDefinition extends ProfileDefinition {
@Override
public RulesProfile createProfile(ValidationMessages validation) {