diff options
author | Julien Lancelot <julien.lancelot@gmail.com> | 2013-05-06 09:42:59 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@gmail.com> | 2013-05-06 09:43:11 +0200 |
commit | 0f7cb21b743bfe38ddb3e7966487e798af156071 (patch) | |
tree | ec5e955f1cff02b6cb7928be7605cc8f556b2be1 /sonar-core/src/test | |
parent | 996cb1c25ed6d2865e797a06137067179b054a1b (diff) | |
download | sonarqube-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')
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" |