diff options
author | Simon Brandhof <simon.brandhof@sonarsource.com> | 2015-06-03 10:31:16 +0200 |
---|---|---|
committer | Simon Brandhof <simon.brandhof@sonarsource.com> | 2015-07-02 16:06:08 +0200 |
commit | bf4118d6a9ceb9ad24274cdc6537d4a607121815 (patch) | |
tree | 8f758ccb7a205da3eae96b05b74f79cade8ceae0 /sonar-plugin-api/src/test | |
parent | 2f948758eebec934beb54701792cf2d558319251 (diff) | |
download | sonarqube-bf4118d6a9ceb9ad24274cdc6537d4a607121815.tar.gz sonarqube-bf4118d6a9ceb9ad24274cdc6537d4a607121815.zip |
SONAR-6623 extract issue tracking algorithm from batch
Diffstat (limited to 'sonar-plugin-api/src/test')
8 files changed, 694 insertions, 542 deletions
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/issue/action/ActionTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/issue/action/ActionTest.java index 1b065e082e4..3f0275401c0 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/issue/action/ActionTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/issue/action/ActionTest.java @@ -17,78 +17,97 @@ * 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.api.issue.action; - -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; -import org.sonar.api.issue.condition.Condition; -import org.sonar.api.issue.internal.DefaultIssue; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -public class ActionTest { - @Rule - public ExpectedException thrown = ExpectedException.none(); - - Condition condition1 = mock(Condition.class); - Condition condition2 = mock(Condition.class); - Function function1 = mock(Function.class); - Function function2 = mock(Function.class); - - @Test - public void test_action() throws Exception { - Action action = new Action("link-to-jira") - .setConditions(condition1, condition2) - .setFunctions(function1, function2); - - assertThat(action.key()).isEqualTo("link-to-jira"); - assertThat(action.conditions()).containsOnly(condition1, condition2); - assertThat(action.functions()).containsOnly(function1, function2); - } - - @Test - public void key_should_be_set() { - thrown.expectMessage("Action key must be set"); - - new Action(""); - } - - @Test - public void should_verify_conditions() { - DefaultIssue issue = new DefaultIssue(); - Action action = new Action("link-to-jira") - .setConditions(condition1, condition2); - - when(condition1.matches(issue)).thenReturn(true); - when(condition2.matches(issue)).thenReturn(false); - assertThat(action.supports(issue)).isFalse(); - - when(condition1.matches(issue)).thenReturn(true); - when(condition2.matches(issue)).thenReturn(true); - assertThat(action.supports(issue)).isTrue(); - } - - @Test - public void test_equals_and_hashCode() throws Exception { - Action t1 = new Action("link-to-jira"); - Action t2 = new Action("link-to-jira"); - Action t3 = new Action("comment"); - - assertThat(t1).isEqualTo(t1); - assertThat(t1).isEqualTo(t2); - assertThat(t1).isNotEqualTo(t3); - - assertThat(t1.hashCode()).isEqualTo(t1.hashCode()); - } - - @Test - public void test_toString() throws Exception { - Action t1 = new Action("link-to-jira"); - assertThat(t1.toString()).isEqualTo("link-to-jira"); - } - -} +///* +// * SonarQube, open source software quality management tool. +// * Copyright (C) 2008-2014 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.api.issue.action; +// +//import org.junit.Rule; +//import org.junit.Test; +//import org.junit.rules.ExpectedException; +//import org.sonar.api.issue.condition.Condition; +//import org.sonar.api.issue.internal.DefaultIssue; +// +//import static org.assertj.core.api.Assertions.assertThat; +//import static org.mockito.Mockito.mock; +//import static org.mockito.Mockito.when; +// +//public class ActionTest { +// @Rule +// public ExpectedException thrown = ExpectedException.none(); +// +// Condition condition1 = mock(Condition.class); +// Condition condition2 = mock(Condition.class); +// Function function1 = mock(Function.class); +// Function function2 = mock(Function.class); +// +// @Test +// public void test_action() throws Exception { +// Action action = new Action("link-to-jira") +// .setConditions(condition1, condition2) +// .setFunctions(function1, function2); +// +// assertThat(action.key()).isEqualTo("link-to-jira"); +// assertThat(action.conditions()).containsOnly(condition1, condition2); +// assertThat(action.functions()).containsOnly(function1, function2); +// } +// +// @Test +// public void key_should_be_set() { +// thrown.expectMessage("Action key must be set"); +// +// new Action(""); +// } +// +// @Test +// public void should_verify_conditions() { +// DefaultIssue issue = new DefaultIssue(); +// Action action = new Action("link-to-jira") +// .setConditions(condition1, condition2); +// +// when(condition1.matches(issue)).thenReturn(true); +// when(condition2.matches(issue)).thenReturn(false); +// assertThat(action.supports(issue)).isFalse(); +// +// when(condition1.matches(issue)).thenReturn(true); +// when(condition2.matches(issue)).thenReturn(true); +// assertThat(action.supports(issue)).isTrue(); +// } +// +// @Test +// public void test_equals_and_hashCode() throws Exception { +// Action t1 = new Action("link-to-jira"); +// Action t2 = new Action("link-to-jira"); +// Action t3 = new Action("comment"); +// +// assertThat(t1).isEqualTo(t1); +// assertThat(t1).isEqualTo(t2); +// assertThat(t1).isNotEqualTo(t3); +// +// assertThat(t1.hashCode()).isEqualTo(t1.hashCode()); +// } +// +// @Test +// public void test_toString() throws Exception { +// Action t1 = new Action("link-to-jira"); +// assertThat(t1.toString()).isEqualTo("link-to-jira"); +// } +// +//} diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/HasIssuePropertyConditionTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/HasIssuePropertyConditionTest.java index f572534d50c..9f2d40e12cb 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/HasIssuePropertyConditionTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/HasIssuePropertyConditionTest.java @@ -17,47 +17,66 @@ * 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.api.issue.condition; - -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; -import org.sonar.api.issue.internal.DefaultIssue; - -import static org.assertj.core.api.Assertions.assertThat; - -public class HasIssuePropertyConditionTest { - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - DefaultIssue issue = new DefaultIssue(); - - @Test - public void should_match() { - HasIssuePropertyCondition condition = new HasIssuePropertyCondition("foo"); - - assertThat(condition.matches(issue)).isFalse(); - assertThat(condition.matches(issue.setAttribute("foo", ""))).isFalse(); - assertThat(condition.matches(issue.setAttribute("foo", "bar"))).isTrue(); - } - - @Test - public void should_get_property_key() { - HasIssuePropertyCondition condition = new HasIssuePropertyCondition("foo"); - assertThat(condition.getPropertyKey()).isEqualTo("foo"); - } - - @Test - public void shoul_fail_if_null_property() { - thrown.expect(IllegalArgumentException.class); - new HasIssuePropertyCondition(null); - } - - @Test - public void should_fail_if_empty_property() { - thrown.expect(IllegalArgumentException.class); - new HasIssuePropertyCondition(""); - } - -} +///* +// * SonarQube, open source software quality management tool. +// * Copyright (C) 2008-2014 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.api.issue.condition; +// +//import org.junit.Rule; +//import org.junit.Test; +//import org.junit.rules.ExpectedException; +//import org.sonar.api.issue.internal.DefaultIssue; +// +//import static org.assertj.core.api.Assertions.assertThat; +// +//public class HasIssuePropertyConditionTest { +// +// @Rule +// public ExpectedException thrown = ExpectedException.none(); +// +// DefaultIssue issue = new DefaultIssue(); +// +// @Test +// public void should_match() { +// HasIssuePropertyCondition condition = new HasIssuePropertyCondition("foo"); +// +// assertThat(condition.matches(issue)).isFalse(); +// assertThat(condition.matches(issue.setAttribute("foo", ""))).isFalse(); +// assertThat(condition.matches(issue.setAttribute("foo", "bar"))).isTrue(); +// } +// +// @Test +// public void should_get_property_key() { +// HasIssuePropertyCondition condition = new HasIssuePropertyCondition("foo"); +// assertThat(condition.getPropertyKey()).isEqualTo("foo"); +// } +// +// @Test +// public void shoul_fail_if_null_property() { +// thrown.expect(IllegalArgumentException.class); +// new HasIssuePropertyCondition(null); +// } +// +// @Test +// public void should_fail_if_empty_property() { +// thrown.expect(IllegalArgumentException.class); +// new HasIssuePropertyCondition(""); +// } +// +//} diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/HasResolutionTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/HasResolutionTest.java index 67467178ba1..0762d06330b 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/HasResolutionTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/HasResolutionTest.java @@ -17,25 +17,44 @@ * 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.api.issue.condition; - -import org.junit.Test; -import org.sonar.api.issue.Issue; -import org.sonar.api.issue.internal.DefaultIssue; - -import static org.assertj.core.api.Assertions.assertThat; - -public class HasResolutionTest { - - DefaultIssue issue = new DefaultIssue(); - - @Test - public void should_match() { - HasResolution condition = new HasResolution(Issue.RESOLUTION_FIXED, Issue.RESOLUTION_FALSE_POSITIVE); - - assertThat(condition.matches(issue.setResolution("FIXED"))).isTrue(); - assertThat(condition.matches(issue.setResolution("FALSE-POSITIVE"))).isTrue(); - - assertThat(condition.matches(issue.setResolution("Fixed"))).isFalse(); - } -} +///* +// * SonarQube, open source software quality management tool. +// * Copyright (C) 2008-2014 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.api.issue.condition; +// +//import org.junit.Test; +//import org.sonar.api.issue.Issue; +//import org.sonar.api.issue.internal.DefaultIssue; +// +//import static org.assertj.core.api.Assertions.assertThat; +// +//public class HasResolutionTest { +// +// DefaultIssue issue = new DefaultIssue(); +// +// @Test +// public void should_match() { +// HasResolution condition = new HasResolution(Issue.RESOLUTION_FIXED, Issue.RESOLUTION_FALSE_POSITIVE); +// +// assertThat(condition.matches(issue.setResolution("FIXED"))).isTrue(); +// assertThat(condition.matches(issue.setResolution("FALSE-POSITIVE"))).isTrue(); +// +// assertThat(condition.matches(issue.setResolution("Fixed"))).isFalse(); +// } +//} diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/HasStatusTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/HasStatusTest.java index 4b3b6e834cd..5d9258fa07b 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/HasStatusTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/HasStatusTest.java @@ -17,28 +17,47 @@ * 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.api.issue.condition; - -import org.junit.Test; -import org.sonar.api.issue.internal.DefaultIssue; - -import static org.assertj.core.api.Assertions.assertThat; - -public class HasStatusTest { - - DefaultIssue issue = new DefaultIssue(); - - @Test - public void should_match() { - HasStatus condition = new HasStatus("OPEN", "REOPENED", "CONFIRMED"); - - assertThat(condition.matches(issue.setStatus("OPEN"))).isTrue(); - assertThat(condition.matches(issue.setStatus("REOPENED"))).isTrue(); - assertThat(condition.matches(issue.setStatus("CONFIRMED"))).isTrue(); - - assertThat(condition.matches(issue.setStatus("open"))).isFalse(); - assertThat(condition.matches(issue.setStatus("CLOSED"))).isFalse(); - } - -} +///* +// * SonarQube, open source software quality management tool. +// * Copyright (C) 2008-2014 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.api.issue.condition; +// +//import org.junit.Test; +//import org.sonar.api.issue.internal.DefaultIssue; +// +//import static org.assertj.core.api.Assertions.assertThat; +// +//public class HasStatusTest { +// +// DefaultIssue issue = new DefaultIssue(); +// +// @Test +// public void should_match() { +// HasStatus condition = new HasStatus("OPEN", "REOPENED", "CONFIRMED"); +// +// assertThat(condition.matches(issue.setStatus("OPEN"))).isTrue(); +// assertThat(condition.matches(issue.setStatus("REOPENED"))).isTrue(); +// assertThat(condition.matches(issue.setStatus("CONFIRMED"))).isTrue(); +// +// assertThat(condition.matches(issue.setStatus("open"))).isFalse(); +// assertThat(condition.matches(issue.setStatus("CLOSED"))).isFalse(); +// } +// +//} diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/IsUnResolvedTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/IsUnResolvedTest.java index 3e826ba0ebf..84159f3f242 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/IsUnResolvedTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/IsUnResolvedTest.java @@ -17,23 +17,42 @@ * 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.api.issue.condition; - -import org.junit.Test; -import org.sonar.api.issue.internal.DefaultIssue; - -import static org.assertj.core.api.Assertions.assertThat; - -public class IsUnResolvedTest { - - DefaultIssue issue = new DefaultIssue(); - - @Test - public void should_match() { - IsUnResolved condition = new IsUnResolved(); - - assertThat(condition.matches(issue)).isTrue(); - assertThat(condition.matches(issue.setResolution("FIXED"))).isFalse(); - } -} +///* +// * SonarQube, open source software quality management tool. +// * Copyright (C) 2008-2014 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.api.issue.condition; +// +//import org.junit.Test; +//import org.sonar.api.issue.internal.DefaultIssue; +// +//import static org.assertj.core.api.Assertions.assertThat; +// +//public class IsUnResolvedTest { +// +// DefaultIssue issue = new DefaultIssue(); +// +// @Test +// public void should_match() { +// IsUnResolved condition = new IsUnResolved(); +// +// assertThat(condition.matches(issue)).isTrue(); +// assertThat(condition.matches(issue.setResolution("FIXED"))).isFalse(); +// } +//} diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/NotConditionTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/NotConditionTest.java index 4f35e961efd..ae2c76de370 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/NotConditionTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/issue/condition/NotConditionTest.java @@ -17,29 +17,48 @@ * 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.api.issue.condition; - -import org.junit.Test; -import org.mockito.Mockito; -import org.sonar.api.issue.Issue; -import org.sonar.api.issue.internal.DefaultIssue; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; -import static org.mockito.Mockito.when; - -public class NotConditionTest { - - Condition target = Mockito.mock(Condition.class); - - @Test - public void should_match_opposite() { - NotCondition condition = new NotCondition(target); - - when(target.matches(any(Issue.class))).thenReturn(true); - assertThat(condition.matches(new DefaultIssue())).isFalse(); - - when(target.matches(any(Issue.class))).thenReturn(false); - assertThat(condition.matches(new DefaultIssue())).isTrue(); - } -} +///* +// * SonarQube, open source software quality management tool. +// * Copyright (C) 2008-2014 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.api.issue.condition; +// +//import org.junit.Test; +//import org.mockito.Mockito; +//import org.sonar.api.issue.Issue; +//import org.sonar.api.issue.internal.DefaultIssue; +// +//import static org.assertj.core.api.Assertions.assertThat; +//import static org.mockito.Matchers.any; +//import static org.mockito.Mockito.when; +// +//public class NotConditionTest { +// +// Condition target = Mockito.mock(Condition.class); +// +// @Test +// public void should_match_opposite() { +// NotCondition condition = new NotCondition(target); +// +// when(target.matches(any(Issue.class))).thenReturn(true); +// assertThat(condition.matches(new DefaultIssue())).isFalse(); +// +// when(target.matches(any(Issue.class))).thenReturn(false); +// assertThat(condition.matches(new DefaultIssue())).isTrue(); +// } +//} diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/issue/internal/DefaultIssueTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/issue/internal/DefaultIssueTest.java index 6ab20d2dc64..7db2fa9acb4 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/issue/internal/DefaultIssueTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/issue/internal/DefaultIssueTest.java @@ -17,203 +17,222 @@ * 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.api.issue.internal; - -import com.google.common.collect.ImmutableMap; -import org.apache.commons.lang.StringUtils; -import org.junit.Test; -import org.sonar.api.issue.Issue; -import org.sonar.api.issue.IssueComment; -import org.sonar.api.rule.RuleKey; -import org.sonar.api.utils.Duration; - -import java.text.SimpleDateFormat; -import java.util.List; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.entry; -import static org.junit.Assert.fail; -import static org.mockito.Mockito.mock; - -public class DefaultIssueTest { - - DefaultIssue issue = new DefaultIssue(); - - @Test - public void test_setters_and_getters() throws Exception { - issue.setKey("ABCD") - .setComponentKey("org.sample.Sample") - .setProjectKey("Sample") - .setRuleKey(RuleKey.of("squid", "S100")) - .setLanguage("xoo") - .setSeverity("MINOR") - .setManualSeverity(true) - .setMessage("a message") - .setLine(7) - .setEffortToFix(1.2d) - .setDebt(Duration.create(28800L)) - .setActionPlanKey("BCDE") - .setStatus(Issue.STATUS_CLOSED) - .setResolution(Issue.RESOLUTION_FIXED) - .setReporter("simon") - .setAssignee("julien") - .setAuthorLogin("steph") - .setChecksum("c7b5db46591806455cf082bb348631e8") - .setNew(true) - .setEndOfLife(true) - .setOnDisabledRule(true) - .setChanged(true) - .setSendNotifications(true) - .setCreationDate(new SimpleDateFormat("yyyy-MM-dd").parse("2013-08-19")) - .setUpdateDate(new SimpleDateFormat("yyyy-MM-dd").parse("2013-08-20")) - .setCloseDate(new SimpleDateFormat("yyyy-MM-dd").parse("2013-08-21")) - .setSelectedAt(1400000000000L); - - assertThat(issue.key()).isEqualTo("ABCD"); - assertThat(issue.componentKey()).isEqualTo("org.sample.Sample"); - assertThat(issue.projectKey()).isEqualTo("Sample"); - assertThat(issue.ruleKey()).isEqualTo(RuleKey.of("squid", "S100")); - assertThat(issue.language()).isEqualTo("xoo"); - assertThat(issue.severity()).isEqualTo("MINOR"); - assertThat(issue.manualSeverity()).isTrue(); - assertThat(issue.message()).isEqualTo("a message"); - assertThat(issue.line()).isEqualTo(7); - assertThat(issue.effortToFix()).isEqualTo(1.2d); - assertThat(issue.debt()).isEqualTo(Duration.create(28800L)); - assertThat(issue.actionPlanKey()).isEqualTo("BCDE"); - assertThat(issue.status()).isEqualTo(Issue.STATUS_CLOSED); - assertThat(issue.resolution()).isEqualTo(Issue.RESOLUTION_FIXED); - assertThat(issue.reporter()).isEqualTo("simon"); - assertThat(issue.assignee()).isEqualTo("julien"); - assertThat(issue.authorLogin()).isEqualTo("steph"); - assertThat(issue.checksum()).isEqualTo("c7b5db46591806455cf082bb348631e8"); - assertThat(issue.isNew()).isTrue(); - assertThat(issue.isEndOfLife()).isTrue(); - assertThat(issue.isOnDisabledRule()).isTrue(); - assertThat(issue.isChanged()).isTrue(); - assertThat(issue.mustSendNotifications()).isTrue(); - assertThat(issue.creationDate()).isEqualTo(new SimpleDateFormat("yyyy-MM-dd").parse("2013-08-19")); - assertThat(issue.updateDate()).isEqualTo(new SimpleDateFormat("yyyy-MM-dd").parse("2013-08-20")); - assertThat(issue.closeDate()).isEqualTo(new SimpleDateFormat("yyyy-MM-dd").parse("2013-08-21")); - assertThat(issue.selectedAt()).isEqualTo(1400000000000L); - } - - @Test - public void set_empty_dates() { - issue - .setCreationDate(null) - .setUpdateDate(null) - .setCloseDate(null) - .setSelectedAt(null); - - assertThat(issue.creationDate()).isNull(); - assertThat(issue.updateDate()).isNull(); - assertThat(issue.closeDate()).isNull(); - assertThat(issue.selectedAt()).isNull(); - } - - @Test - public void test_attributes() throws Exception { - assertThat(issue.attribute("foo")).isNull(); - issue.setAttribute("foo", "bar"); - assertThat(issue.attribute("foo")).isEqualTo("bar"); - issue.setAttribute("foo", "newbar"); - assertThat(issue.attribute("foo")).isEqualTo("newbar"); - issue.setAttribute("foo", null); - assertThat(issue.attribute("foo")).isNull(); - } - - @Test - public void setAttributes_should_not_clear_existing_values() { - issue.setAttributes(ImmutableMap.of("1", "one")); - assertThat(issue.attribute("1")).isEqualTo("one"); - - issue.setAttributes(ImmutableMap.of("2", "two")); - assertThat(issue.attributes()).containsOnly(entry("1", "one"), entry("2", "two")); - - issue.setAttributes(null); - assertThat(issue.attributes()).containsOnly(entry("1", "one"), entry("2", "two")); - } - - @Test - public void fail_on_empty_status() { - try { - issue.setStatus(""); - fail(); - } catch (IllegalArgumentException e) { - assertThat(e).hasMessage("Status must be set"); - } - } - - @Test - public void fail_on_bad_severity() { - try { - issue.setSeverity("FOO"); - fail(); - } catch (IllegalArgumentException e) { - assertThat(e).hasMessage("Not a valid severity: FOO"); - } - } - - @Test - public void message_should_be_abbreviated_if_too_long() { - issue.setMessage(StringUtils.repeat("a", 5000)); - assertThat(issue.message()).hasSize(4000); - } - - @Test - public void message_should_be_trimmed() { - issue.setMessage(" foo "); - assertThat(issue.message()).isEqualTo("foo"); - } - - @Test - public void message_could_be_null() { - issue.setMessage(null); - assertThat(issue.message()).isNull(); - } - - @Test - public void test_nullable_fields() throws Exception { - issue.setEffortToFix(null).setSeverity(null).setLine(null); - assertThat(issue.effortToFix()).isNull(); - assertThat(issue.severity()).isNull(); - assertThat(issue.line()).isNull(); - } - - @Test - public void test_equals_and_hashCode() throws Exception { - DefaultIssue a1 = new DefaultIssue().setKey("AAA"); - DefaultIssue a2 = new DefaultIssue().setKey("AAA"); - DefaultIssue b = new DefaultIssue().setKey("BBB"); - assertThat(a1).isEqualTo(a1); - assertThat(a1).isEqualTo(a2); - assertThat(a1).isNotEqualTo(b); - assertThat(a1.hashCode()).isEqualTo(a1.hashCode()); - } - - @Test - public void comments_should_not_be_modifiable() { - DefaultIssue issue = new DefaultIssue().setKey("AAA"); - - List<IssueComment> comments = issue.comments(); - assertThat(comments).isEmpty(); - - try { - comments.add(new DefaultIssueComment()); - fail(); - } catch (UnsupportedOperationException e) { - // ok - } catch (Exception e) { - fail("Unexpected exception: " + e); - } - } - - @Test - public void all_changes_contain_current_change() { - IssueChangeContext issueChangeContext = mock(IssueChangeContext.class); - DefaultIssue issue = new DefaultIssue().setKey("AAA").setFieldChange(issueChangeContext, "actionPlan", "1.0", "1.1"); - - assertThat(issue.changes()).hasSize(1); - } -} +///* +// * SonarQube, open source software quality management tool. +// * Copyright (C) 2008-2014 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.api.issue.internal; +// +//import com.google.common.collect.ImmutableMap; +//import org.apache.commons.lang.StringUtils; +//import org.junit.Test; +//import org.sonar.api.issue.Issue; +//import org.sonar.api.issue.IssueComment; +//import org.sonar.api.rule.RuleKey; +//import org.sonar.api.utils.Duration; +// +//import java.text.SimpleDateFormat; +//import java.util.List; +// +//import static org.assertj.core.api.Assertions.assertThat; +//import static org.assertj.core.api.Assertions.entry; +//import static org.junit.Assert.fail; +//import static org.mockito.Mockito.mock; +// +//public class DefaultIssueTest { +// +// DefaultIssue issue = new DefaultIssue(); +// +// @Test +// public void test_setters_and_getters() throws Exception { +// issue.setKey("ABCD") +// .setComponentKey("org.sample.Sample") +// .setProjectKey("Sample") +// .setRuleKey(RuleKey.of("squid", "S100")) +// .setLanguage("xoo") +// .setSeverity("MINOR") +// .setManualSeverity(true) +// .setMessage("a message") +// .setLine(7) +// .setEffortToFix(1.2d) +// .setDebt(Duration.create(28800L)) +// .setActionPlanKey("BCDE") +// .setStatus(Issue.STATUS_CLOSED) +// .setResolution(Issue.RESOLUTION_FIXED) +// .setReporter("simon") +// .setAssignee("julien") +// .setAuthorLogin("steph") +// .setChecksum("c7b5db46591806455cf082bb348631e8") +// .setNew(true) +// .setBeingClosed(true) +// .setOnDisabledRule(true) +// .setChanged(true) +// .setSendNotifications(true) +// .setCreationDate(new SimpleDateFormat("yyyy-MM-dd").parse("2013-08-19")) +// .setUpdateDate(new SimpleDateFormat("yyyy-MM-dd").parse("2013-08-20")) +// .setCloseDate(new SimpleDateFormat("yyyy-MM-dd").parse("2013-08-21")) +// .setSelectedAt(1400000000000L); +// +// assertThat(issue.key()).isEqualTo("ABCD"); +// assertThat(issue.componentKey()).isEqualTo("org.sample.Sample"); +// assertThat(issue.projectKey()).isEqualTo("Sample"); +// assertThat(issue.ruleKey()).isEqualTo(RuleKey.of("squid", "S100")); +// assertThat(issue.language()).isEqualTo("xoo"); +// assertThat(issue.severity()).isEqualTo("MINOR"); +// assertThat(issue.manualSeverity()).isTrue(); +// assertThat(issue.message()).isEqualTo("a message"); +// assertThat(issue.line()).isEqualTo(7); +// assertThat(issue.effortToFix()).isEqualTo(1.2d); +// assertThat(issue.debt()).isEqualTo(Duration.create(28800L)); +// assertThat(issue.actionPlanKey()).isEqualTo("BCDE"); +// assertThat(issue.status()).isEqualTo(Issue.STATUS_CLOSED); +// assertThat(issue.resolution()).isEqualTo(Issue.RESOLUTION_FIXED); +// assertThat(issue.reporter()).isEqualTo("simon"); +// assertThat(issue.assignee()).isEqualTo("julien"); +// assertThat(issue.authorLogin()).isEqualTo("steph"); +// assertThat(issue.checksum()).isEqualTo("c7b5db46591806455cf082bb348631e8"); +// assertThat(issue.isNew()).isTrue(); +// assertThat(issue.isBeingClosed()).isTrue(); +// assertThat(issue.isOnDisabledRule()).isTrue(); +// assertThat(issue.isChanged()).isTrue(); +// assertThat(issue.mustSendNotifications()).isTrue(); +// assertThat(issue.creationDate()).isEqualTo(new SimpleDateFormat("yyyy-MM-dd").parse("2013-08-19")); +// assertThat(issue.updateDate()).isEqualTo(new SimpleDateFormat("yyyy-MM-dd").parse("2013-08-20")); +// assertThat(issue.closeDate()).isEqualTo(new SimpleDateFormat("yyyy-MM-dd").parse("2013-08-21")); +// assertThat(issue.selectedAt()).isEqualTo(1400000000000L); +// } +// +// @Test +// public void set_empty_dates() { +// issue +// .setCreationDate(null) +// .setUpdateDate(null) +// .setCloseDate(null) +// .setSelectedAt(null); +// +// assertThat(issue.creationDate()).isNull(); +// assertThat(issue.updateDate()).isNull(); +// assertThat(issue.closeDate()).isNull(); +// assertThat(issue.selectedAt()).isNull(); +// } +// +// @Test +// public void test_attributes() throws Exception { +// assertThat(issue.attribute("foo")).isNull(); +// issue.setAttribute("foo", "bar"); +// assertThat(issue.attribute("foo")).isEqualTo("bar"); +// issue.setAttribute("foo", "newbar"); +// assertThat(issue.attribute("foo")).isEqualTo("newbar"); +// issue.setAttribute("foo", null); +// assertThat(issue.attribute("foo")).isNull(); +// } +// +// @Test +// public void setAttributes_should_not_clear_existing_values() { +// issue.setAttributes(ImmutableMap.of("1", "one")); +// assertThat(issue.attribute("1")).isEqualTo("one"); +// +// issue.setAttributes(ImmutableMap.of("2", "two")); +// assertThat(issue.attributes()).containsOnly(entry("1", "one"), entry("2", "two")); +// +// issue.setAttributes(null); +// assertThat(issue.attributes()).containsOnly(entry("1", "one"), entry("2", "two")); +// } +// +// @Test +// public void fail_on_empty_status() { +// try { +// issue.setStatus(""); +// fail(); +// } catch (IllegalArgumentException e) { +// assertThat(e).hasMessage("Status must be set"); +// } +// } +// +// @Test +// public void fail_on_bad_severity() { +// try { +// issue.setSeverity("FOO"); +// fail(); +// } catch (IllegalArgumentException e) { +// assertThat(e).hasMessage("Not a valid severity: FOO"); +// } +// } +// +// @Test +// public void message_should_be_abbreviated_if_too_long() { +// issue.setMessage(StringUtils.repeat("a", 5000)); +// assertThat(issue.message()).hasSize(4000); +// } +// +// @Test +// public void message_should_be_trimmed() { +// issue.setMessage(" foo "); +// assertThat(issue.message()).isEqualTo("foo"); +// } +// +// @Test +// public void message_could_be_null() { +// issue.setMessage(null); +// assertThat(issue.message()).isNull(); +// } +// +// @Test +// public void test_nullable_fields() throws Exception { +// issue.setEffortToFix(null).setSeverity(null).setLine(null); +// assertThat(issue.effortToFix()).isNull(); +// assertThat(issue.severity()).isNull(); +// assertThat(issue.line()).isNull(); +// } +// +// @Test +// public void test_equals_and_hashCode() throws Exception { +// DefaultIssue a1 = new DefaultIssue().setKey("AAA"); +// DefaultIssue a2 = new DefaultIssue().setKey("AAA"); +// DefaultIssue b = new DefaultIssue().setKey("BBB"); +// assertThat(a1).isEqualTo(a1); +// assertThat(a1).isEqualTo(a2); +// assertThat(a1).isNotEqualTo(b); +// assertThat(a1.hashCode()).isEqualTo(a1.hashCode()); +// } +// +// @Test +// public void comments_should_not_be_modifiable() { +// DefaultIssue issue = new DefaultIssue().setKey("AAA"); +// +// List<IssueComment> comments = issue.comments(); +// assertThat(comments).isEmpty(); +// +// try { +// comments.add(new DefaultIssueComment()); +// fail(); +// } catch (UnsupportedOperationException e) { +// // ok +// } catch (Exception e) { +// fail("Unexpected exception: " + e); +// } +// } +// +// @Test +// public void all_changes_contain_current_change() { +// IssueChangeContext issueChangeContext = mock(IssueChangeContext.class); +// DefaultIssue issue = new DefaultIssue().setKey("AAA").setFieldChange(issueChangeContext, "actionPlan", "1.0", "1.1"); +// +// assertThat(issue.changes()).hasSize(1); +// } +//} diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/issue/internal/FieldDiffsTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/issue/internal/FieldDiffsTest.java index 3de9680e8d0..031b3e9dcb7 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/issue/internal/FieldDiffsTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/issue/internal/FieldDiffsTest.java @@ -17,133 +17,152 @@ * 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.api.issue.internal; - -import org.junit.Test; - -import static org.assertj.core.api.Assertions.assertThat; - -public class FieldDiffsTest { - - FieldDiffs diffs = new FieldDiffs(); - - @Test - public void diffs_should_be_empty_by_default() { - assertThat(diffs.diffs()).isEmpty(); - } - - @Test - public void test_diff() throws Exception { - diffs.setDiff("severity", "BLOCKER", "INFO"); - diffs.setDiff("resolution", "OPEN", "FIXED"); - - assertThat(diffs.diffs()).hasSize(2); - - FieldDiffs.Diff diff = diffs.diffs().get("severity"); - assertThat(diff.oldValue()).isEqualTo("BLOCKER"); - assertThat(diff.newValue()).isEqualTo("INFO"); - - diff = diffs.diffs().get("resolution"); - assertThat(diff.oldValue()).isEqualTo("OPEN"); - assertThat(diff.newValue()).isEqualTo("FIXED"); - } - - @Test - public void diff_with_long_values() { - diffs.setDiff("technicalDebt", 50l, "100"); - - FieldDiffs.Diff diff = diffs.diffs().get("technicalDebt"); - assertThat(diff.oldValueLong()).isEqualTo(50l); - assertThat(diff.newValueLong()).isEqualTo(100l); - } - - @Test - public void diff_with_empty_long_values() { - diffs.setDiff("technicalDebt", null, ""); - - FieldDiffs.Diff diff = diffs.diffs().get("technicalDebt"); - assertThat(diff.oldValueLong()).isNull(); - assertThat(diff.newValueLong()).isNull(); - } - - @Test - public void test_diff_by_key() throws Exception { - diffs.setDiff("severity", "BLOCKER", "INFO"); - diffs.setDiff("resolution", "OPEN", "FIXED"); - - assertThat(diffs.diffs()).hasSize(2); - - FieldDiffs.Diff diff = diffs.diffs().get("severity"); - assertThat(diff.oldValue()).isEqualTo("BLOCKER"); - assertThat(diff.newValue()).isEqualTo("INFO"); - - diff = diffs.diffs().get("resolution"); - assertThat(diff.oldValue()).isEqualTo("OPEN"); - assertThat(diff.newValue()).isEqualTo("FIXED"); - } - - @Test - public void should_keep_old_value() { - diffs.setDiff("severity", "BLOCKER", "INFO"); - diffs.setDiff("severity", null, "MAJOR"); - FieldDiffs.Diff diff = diffs.diffs().get("severity"); - assertThat(diff.oldValue()).isEqualTo("BLOCKER"); - assertThat(diff.newValue()).isEqualTo("MAJOR"); - } - - @Test - public void test_toString() throws Exception { - diffs.setDiff("severity", "BLOCKER", "INFO"); - diffs.setDiff("resolution", "OPEN", "FIXED"); - - assertThat(diffs.toString()).isEqualTo("severity=BLOCKER|INFO,resolution=OPEN|FIXED"); - } - - @Test - public void test_toString_with_null_values() throws Exception { - diffs.setDiff("severity", null, "INFO"); - diffs.setDiff("assignee", "user1", null); - - assertThat(diffs.toString()).isEqualTo("severity=INFO,assignee="); - } - - @Test - public void test_parse() throws Exception { - diffs = FieldDiffs.parse("severity=BLOCKER|INFO,resolution=OPEN|FIXED"); - assertThat(diffs.diffs()).hasSize(2); - - FieldDiffs.Diff diff = diffs.diffs().get("severity"); - assertThat(diff.oldValue()).isEqualTo("BLOCKER"); - assertThat(diff.newValue()).isEqualTo("INFO"); - - diff = diffs.diffs().get("resolution"); - assertThat(diff.oldValue()).isEqualTo("OPEN"); - assertThat(diff.newValue()).isEqualTo("FIXED"); - } - - @Test - public void test_parse_empty_values() throws Exception { - diffs = FieldDiffs.parse("severity=INFO,resolution="); - assertThat(diffs.diffs()).hasSize(2); - - FieldDiffs.Diff diff = diffs.diffs().get("severity"); - assertThat(diff.oldValue()).isEqualTo(""); - assertThat(diff.newValue()).isEqualTo("INFO"); - - diff = diffs.diffs().get("resolution"); - assertThat(diff.oldValue()).isEqualTo(""); - assertThat(diff.newValue()).isEqualTo(""); - } - - @Test - public void test_parse_null() throws Exception { - diffs = FieldDiffs.parse(null); - assertThat(diffs.diffs()).isEmpty(); - } - - @Test - public void test_parse_empty() throws Exception { - diffs = FieldDiffs.parse(""); - assertThat(diffs.diffs()).isEmpty(); - } -} +///* +// * SonarQube, open source software quality management tool. +// * Copyright (C) 2008-2014 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.api.issue.internal; +// +//import org.junit.Test; +// +//import static org.assertj.core.api.Assertions.assertThat; +// +//public class FieldDiffsTest { +// +// FieldDiffs diffs = new FieldDiffs(); +// +// @Test +// public void diffs_should_be_empty_by_default() { +// assertThat(diffs.diffs()).isEmpty(); +// } +// +// @Test +// public void test_diff() throws Exception { +// diffs.setDiff("severity", "BLOCKER", "INFO"); +// diffs.setDiff("resolution", "OPEN", "FIXED"); +// +// assertThat(diffs.diffs()).hasSize(2); +// +// FieldDiffs.Diff diff = diffs.diffs().get("severity"); +// assertThat(diff.oldValue()).isEqualTo("BLOCKER"); +// assertThat(diff.newValue()).isEqualTo("INFO"); +// +// diff = diffs.diffs().get("resolution"); +// assertThat(diff.oldValue()).isEqualTo("OPEN"); +// assertThat(diff.newValue()).isEqualTo("FIXED"); +// } +// +// @Test +// public void diff_with_long_values() { +// diffs.setDiff("technicalDebt", 50l, "100"); +// +// FieldDiffs.Diff diff = diffs.diffs().get("technicalDebt"); +// assertThat(diff.oldValueLong()).isEqualTo(50l); +// assertThat(diff.newValueLong()).isEqualTo(100l); +// } +// +// @Test +// public void diff_with_empty_long_values() { +// diffs.setDiff("technicalDebt", null, ""); +// +// FieldDiffs.Diff diff = diffs.diffs().get("technicalDebt"); +// assertThat(diff.oldValueLong()).isNull(); +// assertThat(diff.newValueLong()).isNull(); +// } +// +// @Test +// public void test_diff_by_key() throws Exception { +// diffs.setDiff("severity", "BLOCKER", "INFO"); +// diffs.setDiff("resolution", "OPEN", "FIXED"); +// +// assertThat(diffs.diffs()).hasSize(2); +// +// FieldDiffs.Diff diff = diffs.diffs().get("severity"); +// assertThat(diff.oldValue()).isEqualTo("BLOCKER"); +// assertThat(diff.newValue()).isEqualTo("INFO"); +// +// diff = diffs.diffs().get("resolution"); +// assertThat(diff.oldValue()).isEqualTo("OPEN"); +// assertThat(diff.newValue()).isEqualTo("FIXED"); +// } +// +// @Test +// public void should_keep_old_value() { +// diffs.setDiff("severity", "BLOCKER", "INFO"); +// diffs.setDiff("severity", null, "MAJOR"); +// FieldDiffs.Diff diff = diffs.diffs().get("severity"); +// assertThat(diff.oldValue()).isEqualTo("BLOCKER"); +// assertThat(diff.newValue()).isEqualTo("MAJOR"); +// } +// +// @Test +// public void test_toString() throws Exception { +// diffs.setDiff("severity", "BLOCKER", "INFO"); +// diffs.setDiff("resolution", "OPEN", "FIXED"); +// +// assertThat(diffs.toString()).isEqualTo("severity=BLOCKER|INFO,resolution=OPEN|FIXED"); +// } +// +// @Test +// public void test_toString_with_null_values() throws Exception { +// diffs.setDiff("severity", null, "INFO"); +// diffs.setDiff("assignee", "user1", null); +// +// assertThat(diffs.toString()).isEqualTo("severity=INFO,assignee="); +// } +// +// @Test +// public void test_parse() throws Exception { +// diffs = FieldDiffs.parse("severity=BLOCKER|INFO,resolution=OPEN|FIXED"); +// assertThat(diffs.diffs()).hasSize(2); +// +// FieldDiffs.Diff diff = diffs.diffs().get("severity"); +// assertThat(diff.oldValue()).isEqualTo("BLOCKER"); +// assertThat(diff.newValue()).isEqualTo("INFO"); +// +// diff = diffs.diffs().get("resolution"); +// assertThat(diff.oldValue()).isEqualTo("OPEN"); +// assertThat(diff.newValue()).isEqualTo("FIXED"); +// } +// +// @Test +// public void test_parse_empty_values() throws Exception { +// diffs = FieldDiffs.parse("severity=INFO,resolution="); +// assertThat(diffs.diffs()).hasSize(2); +// +// FieldDiffs.Diff diff = diffs.diffs().get("severity"); +// assertThat(diff.oldValue()).isEqualTo(""); +// assertThat(diff.newValue()).isEqualTo("INFO"); +// +// diff = diffs.diffs().get("resolution"); +// assertThat(diff.oldValue()).isEqualTo(""); +// assertThat(diff.newValue()).isEqualTo(""); +// } +// +// @Test +// public void test_parse_null() throws Exception { +// diffs = FieldDiffs.parse(null); +// assertThat(diffs.diffs()).isEmpty(); +// } +// +// @Test +// public void test_parse_empty() throws Exception { +// diffs = FieldDiffs.parse(""); +// assertThat(diffs.diffs()).isEmpty(); +// } +//} |