]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4764 Add a medium test
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Fri, 25 Apr 2014 14:03:17 +0000 (16:03 +0200)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Fri, 25 Apr 2014 14:03:35 +0000 (16:03 +0200)
sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfilesMediumTest.java

index 005f991bd9e58fd7ec52252d843e54020ae8d15e..397cdc2ca222a9bc0008bdddeff3d13ea9d25746 100644 (file)
@@ -31,6 +31,7 @@ import org.sonar.api.server.rule.RuleParamType;
 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;
@@ -42,6 +43,7 @@ import java.util.List;
 
 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 {
 
@@ -120,6 +122,22 @@ 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) {