]> source.dussan.org Git - sonarqube.git/commitdiff
WS api/issues/create must return 400 if component does not exist
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Wed, 5 Aug 2015 21:26:17 +0000 (23:26 +0200)
committerSimon Brandhof <simon.brandhof@sonarsource.com>
Wed, 5 Aug 2015 21:50:15 +0000 (23:50 +0200)
server/sonar-server/src/main/java/org/sonar/server/issue/IssueService.java
server/sonar-server/src/test/java/org/sonar/server/issue/IssueServiceMediumTest.java

index 7b91364234bd6d21361a65305019e78050fccaff..d57ab537439a0b64be5a6a7b58827b3acfd860f6 100644 (file)
@@ -54,7 +54,6 @@ import org.sonar.db.issue.IssueDto;
 import org.sonar.server.es.SearchOptions;
 import org.sonar.server.es.SearchResult;
 import org.sonar.server.exceptions.BadRequestException;
-import org.sonar.server.exceptions.NotFoundException;
 import org.sonar.server.issue.actionplan.ActionPlanService;
 import org.sonar.server.issue.index.IssueDoc;
 import org.sonar.server.issue.index.IssueIndex;
@@ -84,14 +83,14 @@ public class IssueService {
   private final UserSession userSession;
 
   public IssueService(DbClient dbClient, IssueIndex issueIndex,
-                      IssueWorkflow workflow,
-                      IssueStorage issueStorage,
-                      IssueUpdater issueUpdater,
-                      NotificationManager notificationService,
-                      ActionPlanService actionPlanService,
-                      RuleFinder ruleFinder,
-                      UserFinder userFinder,
-                      UserIndex userIndex, SourceLineIndex sourceLineIndex, UserSession userSession) {
+    IssueWorkflow workflow,
+    IssueStorage issueStorage,
+    IssueUpdater issueUpdater,
+    NotificationManager notificationService,
+    ActionPlanService actionPlanService,
+    RuleFinder ruleFinder,
+    UserFinder userFinder,
+    UserIndex userIndex, SourceLineIndex sourceLineIndex, UserSession userSession) {
     this.dbClient = dbClient;
     this.issueIndex = issueIndex;
     this.workflow = workflow;
@@ -246,7 +245,7 @@ public class IssueService {
     try {
       Optional<ComponentDto> componentOptional = dbClient.componentDao().selectByKey(session, componentKey);
       if (!componentOptional.isPresent()) {
-        throw new NotFoundException(String.format("Component with key '%s' not found", componentKey));
+        throw new BadRequestException(String.format("Component with key '%s' not found", componentKey));
       }
       ComponentDto component = componentOptional.get();
       ComponentDto project = dbClient.componentDao().selectOrFailByUuid(session, component.projectUuid());
index 3656c5bcf38eb5916b4ca01d88be3eb96f3ce92a..52bd7cdd0624e509e734f7031e981091bf9875fc 100644 (file)
@@ -58,7 +58,6 @@ import org.sonar.server.es.SearchOptions;
 import org.sonar.server.es.SearchResult;
 import org.sonar.server.exceptions.BadRequestException;
 import org.sonar.server.exceptions.ForbiddenException;
-import org.sonar.server.exceptions.NotFoundException;
 import org.sonar.server.issue.index.IssueDoc;
 import org.sonar.server.issue.index.IssueIndex;
 import org.sonar.server.issue.index.IssueIndexDefinition;
@@ -436,7 +435,7 @@ public class IssueServiceMediumTest {
   }
 
   @Test(expected = IllegalArgumentException.class)
-  public void fail_create_manual_issue_if_rule_does_not_exists() {
+  public void fail_create_manual_issue_if_rule_does_not_exist() {
     ComponentDto project = newProject();
     ComponentDto file = newFile(project);
     userSessionRule.login("john").addProjectPermissions(UserRole.USER, project.key());
@@ -460,7 +459,7 @@ public class IssueServiceMediumTest {
     service.createManualIssue(file.key(), rule.getKey(), 10, "Fix it", null);
   }
 
-  @Test(expected = NotFoundException.class)
+  @Test(expected = BadRequestException.class)
   public void fail_to_create_manual_issue_on_unknown_component() {
     ComponentDto project = newProject();
     userSessionRule.login("john").addProjectPermissions(UserRole.USER, project.key());