Package org.sonar.api.issue.internal

Examples of org.sonar.api.issue.internal.DefaultIssue


  @Test
  public void should_close_open_dead_issue() throws Exception {
    workflow.start();

    DefaultIssue issue = new DefaultIssue()
      .setKey("ABCDE")
      .setResolution(null)
      .setStatus(Issue.STATUS_OPEN)
      .setNew(false)
      .setEndOfLife(true);
    Date now = new Date();
    workflow.doAutomaticTransition(issue, IssueChangeContext.createScan(now));
    assertThat(issue.resolution()).isEqualTo(Issue.RESOLUTION_FIXED);
    assertThat(issue.status()).isEqualTo(Issue.STATUS_CLOSED);
    assertThat(issue.closeDate()).isNotNull();
    assertThat(issue.updateDate()).isEqualTo(DateUtils.truncate(now, Calendar.SECOND));
  }
View Full Code Here


  @Test
  public void should_close_reopened_dead_issue() throws Exception {
    workflow.start();

    DefaultIssue issue = new DefaultIssue()
      .setKey("ABCDE")
      .setResolution(null)
      .setStatus(Issue.STATUS_REOPENED)
      .setNew(false)
      .setEndOfLife(true);
    Date now = new Date();
    workflow.doAutomaticTransition(issue, IssueChangeContext.createScan(now));
    assertThat(issue.resolution()).isEqualTo(Issue.RESOLUTION_FIXED);
    assertThat(issue.status()).isEqualTo(Issue.STATUS_CLOSED);
    assertThat(issue.closeDate()).isNotNull();
    assertThat(issue.updateDate()).isEqualTo(DateUtils.truncate(now, Calendar.SECOND));
  }
View Full Code Here

  @Test
  public void should_close_confirmed_dead_issue() throws Exception {
    workflow.start();

    DefaultIssue issue = new DefaultIssue()
      .setKey("ABCDE")
      .setResolution(null)
      .setStatus(Issue.STATUS_CONFIRMED)
      .setNew(false)
      .setEndOfLife(true);
    Date now = new Date();
    workflow.doAutomaticTransition(issue, IssueChangeContext.createScan(now));
    assertThat(issue.resolution()).isEqualTo(Issue.RESOLUTION_FIXED);
    assertThat(issue.status()).isEqualTo(Issue.STATUS_CLOSED);
    assertThat(issue.closeDate()).isNotNull();
    assertThat(issue.updateDate()).isEqualTo(DateUtils.truncate(now, Calendar.SECOND));
  }
View Full Code Here

  @Test
  public void should_fail_if_unknown_status_on_automatic_trans() throws Exception {
    workflow.start();

    DefaultIssue issue = new DefaultIssue()
      .setKey("ABCDE")
      .setResolution(Issue.RESOLUTION_FIXED)
      .setStatus("xxx")
      .setNew(false)
      .setEndOfLife(true);
View Full Code Here

    }
  }

  @Test
  public void should_flag_as_false_positive() throws Exception {
    DefaultIssue issue = new DefaultIssue()
      .setKey("ABCDE")
      .setStatus(Issue.STATUS_OPEN)
      .setRuleKey(RuleKey.of("squid", "AvoidCycle"))
      .setAssignee("morgan");

    workflow.start();
    workflow.doTransition(issue, DefaultTransitions.FALSE_POSITIVE, IssueChangeContext.createScan(new Date()));

    assertThat(issue.resolution()).isEqualTo(Issue.RESOLUTION_FALSE_POSITIVE);
    assertThat(issue.status()).isEqualTo(Issue.STATUS_RESOLVED);

    // should remove assignee
    assertThat(issue.assignee()).isNull();
  }
View Full Code Here

  }

  @Test
  public void manual_issues_should_be_resolved_then_closed() throws Exception {
    // Manual issue because of reporter
    DefaultIssue issue = new DefaultIssue()
      .setKey("ABCDE")
      .setStatus(Issue.STATUS_OPEN)
      .setRuleKey(RuleKey.of("manual", "Performance"))
      .setReporter("simon");

    workflow.start();

    assertThat(workflow.outTransitions(issue)).containsOnly(
      Transition.create("confirm", "OPEN", "CONFIRMED"),
      Transition.create("resolve", "OPEN", "RESOLVED"),
      Transition.create("falsepositive", "OPEN", "RESOLVED")
    );

    workflow.doTransition(issue, "resolve", mock(IssueChangeContext.class));
    assertThat(issue.resolution()).isEqualTo("FIXED");
    assertThat(issue.status()).isEqualTo("RESOLVED");

    assertThat(workflow.outTransitions(issue)).containsOnly(
      Transition.create("reopen", "RESOLVED", "REOPENED")
    );

    workflow.doAutomaticTransition(issue, mock(IssueChangeContext.class));
    assertThat(issue.resolution()).isEqualTo("FIXED");
    assertThat(issue.status()).isEqualTo("CLOSED");
  }
View Full Code Here

  }

  @Test
  public void manual_issues_should_be_confirmed_then_kept_open() throws Exception {
    // Manual issue because of reporter
    DefaultIssue issue = new DefaultIssue()
      .setKey("ABCDE")
      .setStatus(Issue.STATUS_OPEN)
      .setRuleKey(RuleKey.of("manual", "Performance"))
      .setReporter("simon");

    workflow.start();

    assertThat(workflow.outTransitions(issue)).containsOnly(
      Transition.create("confirm", "OPEN", "CONFIRMED"),
      Transition.create("resolve", "OPEN", "RESOLVED"),
      Transition.create("falsepositive", "OPEN", "RESOLVED")
    );

    workflow.doTransition(issue, "confirm", mock(IssueChangeContext.class));
    assertThat(issue.resolution()).isNull();
    assertThat(issue.status()).isEqualTo("CONFIRMED");

    assertThat(workflow.outTransitions(issue)).containsOnly(
      Transition.create("unconfirm", "CONFIRMED", "REOPENED"),
      Transition.create("resolve", "CONFIRMED", "RESOLVED"),
      Transition.create("falsepositive", "CONFIRMED", "RESOLVED")
    );

    // keep confirmed and unresolved
    workflow.doAutomaticTransition(issue, mock(IssueChangeContext.class));
    assertThat(issue.resolution()).isNull();
    assertThat(issue.status()).isEqualTo("CONFIRMED");

    // unconfirm
    workflow.doTransition(issue, "unconfirm", mock(IssueChangeContext.class));
    assertThat(issue.resolution()).isNull();
    assertThat(issue.status()).isEqualTo("REOPENED");
  }
View Full Code Here

  }

  @Test
  public void manual_issue_on_removed_rule_should_be_closed() throws Exception {
    // Manual issue because of reporter
    DefaultIssue issue = new DefaultIssue()
      .setKey("ABCDE")
      .setStatus(Issue.STATUS_OPEN)
      .setRuleKey(RuleKey.of("manual", "Performance"))
      .setReporter("simon")
      .setEndOfLife(true)
      .setOnDisabledRule(true);

    workflow.start();

    workflow.doAutomaticTransition(issue, mock(IssueChangeContext.class));
    assertThat(issue.resolution()).isEqualTo("REMOVED");
    assertThat(issue.status()).isEqualTo("CLOSED");
  }
View Full Code Here

  }

  @Test
  public void manual_issue_on_removed_component_should_be_closed() throws Exception {
    // Manual issue because of reporter
    DefaultIssue issue = new DefaultIssue()
      .setKey("ABCDE")
      .setStatus(Issue.STATUS_OPEN)
      .setRuleKey(RuleKey.of("manual", "Performance"))
      .setReporter("simon")
      .setEndOfLife(true)
      .setOnDisabledRule(false);

    workflow.start();

    workflow.doAutomaticTransition(issue, mock(IssueChangeContext.class));
    assertThat(issue.resolution()).isEqualTo("FIXED");
    assertThat(issue.status()).isEqualTo("CLOSED");
  }
View Full Code Here

  @Test
  public void build_new_issue() throws Exception {
    String componentKey = "org.apache.struts:struts-core:Action.java";
    String projectKey = "org.apache.struts";
    DefaultIssue issue = (DefaultIssue) new DefaultIssueBuilder()
      .componentKey(componentKey)
      .projectKey(projectKey)
      .message("the message")
      .line(123)
      .effortToFix(10000.0)
      .ruleKey(RuleKey.of("squid", "NullDereference"))
      .severity(Severity.CRITICAL)
      .attribute("JIRA", "FOO-123")
      .attribute("YOUTRACK", "YT-123")
      .build();

    assertThat(issue).isNotNull();
    assertThat(issue.key()).isNotNull();
    assertThat(issue.effortToFix()).isEqualTo(10000.0);
    assertThat(issue.componentKey()).isEqualTo(componentKey);
    assertThat(issue.projectKey()).isEqualTo(projectKey);
    assertThat(issue.message()).isEqualTo("the message");
    assertThat(issue.line()).isEqualTo(123);
    assertThat(issue.ruleKey().repository()).isEqualTo("squid");
    assertThat(issue.ruleKey().rule()).isEqualTo("NullDereference");
    assertThat(issue.severity()).isEqualTo(Severity.CRITICAL);
    assertThat(issue.assignee()).isNull();
    assertThat(issue.isNew()).isTrue();
    assertThat(issue.resolution()).isNull();
    assertThat(issue.status()).isEqualTo(Issue.STATUS_OPEN);
    assertThat(issue.attribute("JIRA")).isEqualTo("FOO-123");
    assertThat(issue.attribute("YOUTRACK")).isEqualTo("YT-123");
    assertThat(issue.attributes()).hasSize(2);
  }
View Full Code Here

TOP

Related Classes of org.sonar.api.issue.internal.DefaultIssue

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.