aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-batch/src
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2013-02-21 18:29:14 +0100
committerSimon Brandhof <simon.brandhof@gmail.com>2013-02-21 18:29:14 +0100
commitb35d79b2e788eb45393e551547ecb16d019fba43 (patch)
tree6716d2a704433e1f26d17bdb8c2ba0a09e0c4b01 /sonar-batch/src
parenta7cdafeb6461b57d30b57a583f17dad5895461ff (diff)
downloadsonarqube-b35d79b2e788eb45393e551547ecb16d019fba43.tar.gz
sonarqube-b35d79b2e788eb45393e551547ecb16d019fba43.zip
SONAR-4160 Add violation date to dry run json report
Diffstat (limited to 'sonar-batch/src')
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/local/DryRunExporter.java7
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/local/DryRunExporterTest.java8
2 files changed, 11 insertions, 4 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/local/DryRunExporter.java b/sonar-batch/src/main/java/org/sonar/batch/local/DryRunExporter.java
index e2a82ed5342..ea38fe4cda5 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/local/DryRunExporter.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/local/DryRunExporter.java
@@ -33,6 +33,7 @@ import org.sonar.api.resources.Resource;
import org.sonar.api.rules.Rule;
import org.sonar.api.rules.Violation;
import org.sonar.api.scan.filesystem.ModuleFileSystem;
+import org.sonar.api.utils.DateUtils;
import org.sonar.api.utils.SonarException;
import org.sonar.batch.index.DefaultIndex;
import org.sonar.core.i18n.RuleI18nManager;
@@ -116,7 +117,11 @@ public class DryRunExporter implements BatchComponent {
.name("rule_key").value(violation.getRule().getKey())
.name("rule_repository").value(violation.getRule().getRepositoryKey())
.name("rule_name").value(name(violation.getRule()))
- .endObject();
+ .name("is_new").value(violation.isNew());
+ if (violation.getCreatedAt() != null) {
+ json.name("created_at").value(DateUtils.formatDateTime(violation.getCreatedAt()));
+ }
+ json.endObject();
}
json.endArray();
diff --git a/sonar-batch/src/test/java/org/sonar/batch/local/DryRunExporterTest.java b/sonar-batch/src/test/java/org/sonar/batch/local/DryRunExporterTest.java
index b892aa9af66..0f44ba3d455 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/local/DryRunExporterTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/local/DryRunExporterTest.java
@@ -32,6 +32,7 @@ import org.sonar.api.rules.Rule;
import org.sonar.api.rules.RulePriority;
import org.sonar.api.rules.Violation;
import org.sonar.api.scan.filesystem.ModuleFileSystem;
+import org.sonar.api.utils.DateUtils;
import org.sonar.batch.index.DefaultIndex;
import org.sonar.core.i18n.RuleI18nManager;
import org.sonar.java.api.JavaClass;
@@ -88,6 +89,7 @@ public class DryRunExporterTest {
when(violation.getMessage()).thenReturn("VIOLATION");
when(violation.getRule()).thenReturn(rule);
when(violation.getSeverity()).thenReturn(RulePriority.INFO);
+ when(violation.getCreatedAt()).thenReturn(DateUtils.parseDate("2013-01-30"));
when(ruleI18nManager.getName(rule, Locale.getDefault())).thenReturn("RULE_NAME");
doReturn(Arrays.asList(violation)).when(dryRunExporter).getViolations(resource);
@@ -96,8 +98,8 @@ public class DryRunExporterTest {
String json = output.toString();
assertThat(json)
- .isEqualTo(
- "{\"version\":\"3.4\",\"violations_per_resource\":{\"KEY\":[{\"line\":1,\"message\":\"VIOLATION\",\"severity\":\"INFO\",\"rule_key\":\"RULE_KEY\",\"rule_repository\":\"pmd\",\"rule_name\":\"RULE_NAME\"}]}}");
+ .startsWith(
+ "{\"version\":\"3.4\",\"violations_per_resource\":{\"KEY\":[{\"line\":1,\"message\":\"VIOLATION\",\"severity\":\"INFO\",\"rule_key\":\"RULE_KEY\",\"rule_repository\":\"pmd\",\"rule_name\":\"RULE_NAME\",\"is_new\":false,\"created_at\":\"2013-01-30T00:00");
}
@Test
@@ -118,7 +120,7 @@ public class DryRunExporterTest {
String json = output.toString();
assertThat(json).isEqualTo(
- "{\"version\":\"3.4\",\"violations_per_resource\":{\"KEY\":[{\"message\":\"VIOLATION\",\"severity\":\"INFO\",\"rule_key\":\"RULE_KEY\",\"rule_repository\":\"pmd\",\"rule_name\":\"RULE_NAME\"}]}}");
+ "{\"version\":\"3.4\",\"violations_per_resource\":{\"KEY\":[{\"message\":\"VIOLATION\",\"severity\":\"INFO\",\"rule_key\":\"RULE_KEY\",\"rule_repository\":\"pmd\",\"rule_name\":\"RULE_NAME\",\"is_new\":false}]}}");
}
@Test