aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-core/src/test
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@gmail.com>2013-05-06 09:42:59 +0200
committerJulien Lancelot <julien.lancelot@gmail.com>2013-05-06 09:43:11 +0200
commit0f7cb21b743bfe38ddb3e7966487e798af156071 (patch)
treeec5e955f1cff02b6cb7928be7605cc8f556b2be1 /sonar-core/src/test
parent996cb1c25ed6d2865e797a06137067179b054a1b (diff)
downloadsonarqube-0f7cb21b743bfe38ddb3e7966487e798af156071.tar.gz
sonarqube-0f7cb21b743bfe38ddb3e7966487e798af156071.zip
SONAR-3755 Add Action Plan Dao, remove action_plans_issues table, add action_plan_id to issues table
Diffstat (limited to 'sonar-core/src/test')
-rw-r--r--sonar-core/src/test/java/org/sonar/core/issue/ActionPlanStatsTest.java44
-rw-r--r--sonar-core/src/test/java/org/sonar/core/issue/db/ActionPlanStatsDaoTest.java54
-rw-r--r--sonar-core/src/test/java/org/sonar/core/purge/PurgeDaoTest.java2
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/ActionPlanIssueDaoTest/should_find_by_issue_ids.xml84
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/ActionPlanStatsDaoTest/should_find_by_project.xml56
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_insert_new_issues-result.xml1
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_update_issues-result.xml1
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_update_issues.xml1
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldDeleteProject.xml6
9 files changed, 238 insertions, 11 deletions
diff --git a/sonar-core/src/test/java/org/sonar/core/issue/ActionPlanStatsTest.java b/sonar-core/src/test/java/org/sonar/core/issue/ActionPlanStatsTest.java
new file mode 100644
index 00000000000..fc3873b1c3c
--- /dev/null
+++ b/sonar-core/src/test/java/org/sonar/core/issue/ActionPlanStatsTest.java
@@ -0,0 +1,44 @@
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2013 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+package org.sonar.core.issue;
+
+import org.apache.commons.lang.time.DateUtils;
+import org.junit.Test;
+import org.sonar.api.issue.ActionPlan;
+
+import java.util.Date;
+
+import static org.fest.assertions.Assertions.assertThat;
+
+public class ActionPlanStatsTest {
+
+ @Test
+ public void test_over_due() throws Exception {
+ Date yesterday = DateUtils.addDays(new Date(), -1);
+ Date tomorrow = DateUtils.addDays(new Date(), 1);
+
+ assertThat(ActionPlanStats.create("Short term").setStatus(ActionPlan.STATUS_OPEN).setDeadLine(tomorrow).overDue()).isFalse();
+ assertThat(ActionPlanStats.create("Short term").setStatus(ActionPlan.STATUS_OPEN).setDeadLine(yesterday).overDue()).isTrue();
+ assertThat(ActionPlanStats.create("Short term").setStatus(ActionPlan.STATUS_CLOSED).setDeadLine(tomorrow).overDue()).isFalse();
+ assertThat(ActionPlanStats.create("Short term").setStatus(ActionPlan.STATUS_CLOSED).setDeadLine(yesterday).overDue()).isFalse();
+ assertThat(ActionPlanStats.create("Short term").setStatus(ActionPlan.STATUS_CLOSED).overDue()).isFalse();
+ }
+}
diff --git a/sonar-core/src/test/java/org/sonar/core/issue/db/ActionPlanStatsDaoTest.java b/sonar-core/src/test/java/org/sonar/core/issue/db/ActionPlanStatsDaoTest.java
new file mode 100644
index 00000000000..1a5c6b538dd
--- /dev/null
+++ b/sonar-core/src/test/java/org/sonar/core/issue/db/ActionPlanStatsDaoTest.java
@@ -0,0 +1,54 @@
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2013 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+package org.sonar.core.issue.db;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.sonar.core.persistence.AbstractDaoTestCase;
+
+import java.util.Collection;
+
+import static org.fest.assertions.Assertions.assertThat;
+
+public class ActionPlanStatsDaoTest extends AbstractDaoTestCase {
+
+ private ActionPlanStatsDao dao;
+
+ @Before
+ public void createDao() {
+ dao = new ActionPlanStatsDao(getMyBatis());
+ }
+
+ @Test
+ public void should_find_by_project() {
+ setupData("should_find_by_project");
+
+ Collection<ActionPlanStatsDto> result = dao.findByProjectId(1l);
+// assertThat(result).hasSize(1);
+ assertThat(result).isNotEmpty();
+
+ ActionPlanStatsDto actionPlanStatsDto = result.iterator().next();
+ assertThat(actionPlanStatsDto.getTotalIssues()).isEqualTo(2);
+ // TODO
+// assertThat(actionPlanStatsDto.getOpenIssues()).isEqualTo(1);
+ }
+
+}
diff --git a/sonar-core/src/test/java/org/sonar/core/purge/PurgeDaoTest.java b/sonar-core/src/test/java/org/sonar/core/purge/PurgeDaoTest.java
index 038cc711685..71a455924c3 100644
--- a/sonar-core/src/test/java/org/sonar/core/purge/PurgeDaoTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/purge/PurgeDaoTest.java
@@ -111,7 +111,7 @@ public class PurgeDaoTest extends AbstractDaoTestCase {
public void shouldDeleteProject() {
setupData("shouldDeleteProject");
dao.deleteResourceTree(1L);
- assertEmptyTables("projects", "snapshots", "action_plans", "action_plans_reviews", "reviews", "review_comments", "issues", "issue_changes", "action_plans_issues");
+ assertEmptyTables("projects", "snapshots", "action_plans", "action_plans_reviews", "reviews", "review_comments", "issues", "issue_changes");
}
static final class SnapshotMatcher extends BaseMatcher<PurgeableSnapshotDto> {
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/ActionPlanIssueDaoTest/should_find_by_issue_ids.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/ActionPlanIssueDaoTest/should_find_by_issue_ids.xml
index a54057a3810..7e74a393cbf 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/ActionPlanIssueDaoTest/should_find_by_issue_ids.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/ActionPlanIssueDaoTest/should_find_by_issue_ids.xml
@@ -3,17 +3,89 @@
<action_plans id="1" project_id="1" name="SHORT_TERM" description="[null]" deadline="[null]"
user_login="igor" status="[null]" created_at="[null]" updated_at="[null]" />
- <action_plans_issues id="1" action_plan_id="1" issue_id="250" />
-
<action_plans id="2" project_id="1" name="SHORT_TERM" description="[null]" deadline="[null]"
user_login="igor" status="[null]" created_at="[null]" updated_at="[null]" />
- <action_plans_issues id="2" action_plan_id="2" issue_id="251" />
- <action_plans_issues id="3" action_plan_id="2" issue_id="252" />
-
<action_plans id="3" project_id="1" name="SHORT_TERM" description="[null]" deadline="[null]"
user_login="igor" status="[null]" created_at="[null]" updated_at="[null]" />
- <action_plans_issues id="4" action_plan_id="3" issue_id="253" />
+ <issues
+ id="250"
+ kee="ABCDE"
+ resource_id="400"
+ rule_id="500"
+ severity="BLOCKER"
+ manual_severity="[false]"
+ manual_issue="[false]"
+ description="[null]"
+ line="200"
+ effort_to_fix="4.2"
+ status="OPEN"
+ resolution="OPEN"
+ checksum="XXX"
+ user_login="arthur"
+ assignee_login="perceval"
+ author_login="[null]"
+ attributes="JIRA=FOO-1234"
+ action_plan_id="1"
+ issue_creation_date="2013-04-16"
+ issue_update_date="2013-04-16"
+ issue_close_date="2013-04-16"
+ created_at="2013-04-16"
+ updated_at="2013-04-16"
+ />
+
+ <issues
+ id="251"
+ kee="ABCDE"
+ resource_id="400"
+ rule_id="500"
+ severity="BLOCKER"
+ manual_severity="[false]"
+ manual_issue="[false]"
+ description="[null]"
+ line="200"
+ effort_to_fix="4.2"
+ status="OPEN"
+ resolution="OPEN"
+ checksum="XXX"
+ user_login="arthur"
+ assignee_login="perceval"
+ author_login="[null]"
+ attributes="JIRA=FOO-1234"
+ action_plan_id="2"
+ issue_creation_date="2013-04-16"
+ issue_update_date="2013-04-16"
+ issue_close_date="2013-04-16"
+ created_at="2013-04-16"
+ updated_at="2013-04-16"
+ />
+
+ <issues
+ id="252"
+ kee="ABCDE"
+ resource_id="400"
+ rule_id="500"
+ severity="BLOCKER"
+ manual_severity="[false]"
+ manual_issue="[false]"
+ description="[null]"
+ line="200"
+ effort_to_fix="4.2"
+ status="OPEN"
+ resolution="OPEN"
+ checksum="XXX"
+ user_login="arthur"
+ assignee_login="perceval"
+ author_login="[null]"
+ attributes="JIRA=FOO-1234"
+ action_plan_id="3"
+ issue_creation_date="2013-04-16"
+ issue_update_date="2013-04-16"
+ issue_close_date="2013-04-16"
+ created_at="2013-04-16"
+ updated_at="2013-04-16"
+ />
+
</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/ActionPlanStatsDaoTest/should_find_by_project.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/ActionPlanStatsDaoTest/should_find_by_project.xml
new file mode 100644
index 00000000000..20719972ca3
--- /dev/null
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/ActionPlanStatsDaoTest/should_find_by_project.xml
@@ -0,0 +1,56 @@
+<dataset>
+
+ <action_plans id="1" project_id="1" name="SHORT_TERM" description="[null]" deadline="[null]"
+ user_login="igor" status="[null]" created_at="[null]" updated_at="[null]" />
+
+ <issues
+ id="100"
+ kee="ABCDE"
+ resource_id="400"
+ rule_id="500"
+ severity="BLOCKER"
+ manual_severity="[false]"
+ manual_issue="[false]"
+ description="[null]"
+ line="200"
+ status="OPEN"
+ resolution="OPEN"
+ checksum="XXX"
+ user_login="arthur"
+ assignee_login="perceval"
+ author_login="[null]"
+ attributes="JIRA=FOO-1234"
+ action_plan_id="1"
+ issue_creation_date="2013-04-16"
+ issue_update_date="2013-04-16"
+ issue_close_date="2013-04-16"
+ created_at="2013-04-16"
+ updated_at="2013-04-16"
+ />
+
+ <issues
+ id="101"
+ kee="ABCDF"
+ resource_id="400"
+ rule_id="500"
+ severity="BLOCKER"
+ manual_severity="[false]"
+ manual_issue="[false]"
+ description="[null]"
+ line="200"
+ status="CLOSED"
+ resolution="FIXED"
+ checksum="XXX"
+ user_login="arthur"
+ assignee_login="perceval"
+ author_login="[null]"
+ attributes="JIRA=FOO-1234"
+ action_plan_id="1"
+ issue_creation_date="2013-04-16"
+ issue_update_date="2013-04-16"
+ issue_close_date="2013-04-16"
+ created_at="2013-04-16"
+ updated_at="2013-04-16"
+ />
+
+</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_insert_new_issues-result.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_insert_new_issues-result.xml
index b1e88540c59..de5ba806091 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_insert_new_issues-result.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_insert_new_issues-result.xml
@@ -13,6 +13,7 @@
updated_at="[null]"
user_login="emmerik"
attributes="foo=bar"
+ action_plan_id="[null]"
issue_creation_date="2013-05-18"
issue_update_date="2013-05-18"
issue_close_date="2013-05-18"
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_update_issues-result.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_update_issues-result.xml
index 57e99d174a1..f39de643ba4 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_update_issues-result.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_update_issues-result.xml
@@ -18,6 +18,7 @@
updated_at="2013-05-18"
user_login="emmerik"
attributes="foo=bar"
+ action_plan_id="[null]"
issue_creation_date="2013-05-18 00:00:00.0"
issue_update_date="2013-05-18 00:00:00.0"
issue_close_date="2013-05-18 00:00:00.0"
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_update_issues.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_update_issues.xml
index 56998d9b2a1..3548cb06507 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_update_issues.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_update_issues.xml
@@ -18,6 +18,7 @@
updated_at="2011-02-02"
user_login="emmerik"
attributes="foo=bar"
+ action_plan_id="[null]"
issue_creation_date="2010-01-01"
issue_update_date="2010-02-02"
issue_close_date="[null]"
diff --git a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldDeleteProject.xml b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldDeleteProject.xml
index 84bcf6e1bfe..344ef71de9e 100644
--- a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldDeleteProject.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/shouldDeleteProject.xml
@@ -21,8 +21,6 @@
<action_plans_reviews action_plan_id="1" review_id="250" />
- <action_plans_issues id="1" action_plan_id="1" issue_id="250" />
-
<reviews id="1" project_id="1" resource_id="1" status="CLOSED"
rule_failure_permanent_id="1" resolution="[null]" created_at="[null]" resource_line="200" severity="BLOCKER"
user_id="300" assignee_id="300" rule_id="500" manual_violation="[true]" manual_severity="[false]" title="[null]"/>
@@ -34,7 +32,7 @@
<review_comments id="1" created_at="[null]" updated_at="[null]" review_id="2" user_id="1223" review_text="abc"/>
<issues id="1" kee="ABCDE" resource_id="1" status="CLOSED" resolution="[null]" line="200" severity="BLOCKER"
- user_login="perceval" assignee_login="arthur" rule_id="500" manual_issue="[true]" manual_severity="[false]" description="[null]"
+ user_login="perceval" assignee_login="arthur" rule_id="500" manual_issue="[true]" manual_severity="[false]" description="[null]" action_plan_id="[null]"
created_at="[null]"
updated_at="[null]"
issue_creation_date="2013-04-16"
@@ -43,7 +41,7 @@
/>
<issues id="2" kee="ABCDF" resource_id="1" status="CLOSED" resolution="[null]" line="200" severity="BLOCKER"
- user_login="perceval" assignee_login="arthur" rule_id="500" manual_issue="[true]" manual_severity="[false]" description="[null]"
+ user_login="perceval" assignee_login="arthur" rule_id="500" manual_issue="[true]" manual_severity="[false]" description="[null]" action_plan_id="[null]"
created_at="[null]"
updated_at="[null]"
issue_creation_date="2013-04-16"