aboutsummaryrefslogtreecommitdiffstats
path: root/it
diff options
context:
space:
mode:
Diffstat (limited to 'it')
-rw-r--r--it/it-projects/projectSearch/xoo-history-v1/sonar-project.properties5
-rw-r--r--it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/ClassToModify.xoo12
-rw-r--r--it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/ClassToModify.xoo.measures4
-rw-r--r--it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/UnchangedClass.xoo12
-rw-r--r--it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/UnchangedClass.xoo.measures4
-rw-r--r--it/it-projects/projectSearch/xoo-history-v2/sonar-project.properties6
-rw-r--r--it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassAdded.xoo12
-rw-r--r--it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassAdded.xoo.measures4
-rw-r--r--it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassAdded.xoo.scm13
-rw-r--r--it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassToModify.xoo16
-rw-r--r--it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassToModify.xoo.measures4
-rw-r--r--it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassToModify.xoo.scm17
-rw-r--r--it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/UnchangedClass.xoo12
-rw-r--r--it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/UnchangedClass.xoo.measures4
-rw-r--r--it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/UnchangedClass.xoo.scm13
-rw-r--r--it/it-tests/src/test/java/it/projectSearch/SearchProjectsTest.java43
16 files changed, 170 insertions, 11 deletions
diff --git a/it/it-projects/projectSearch/xoo-history-v1/sonar-project.properties b/it/it-projects/projectSearch/xoo-history-v1/sonar-project.properties
new file mode 100644
index 00000000000..ede32ccb043
--- /dev/null
+++ b/it/it-projects/projectSearch/xoo-history-v1/sonar-project.properties
@@ -0,0 +1,5 @@
+sonar.projectKey=sample
+sonar.projectName=Sample
+sonar.projectVersion=0.9-SNAPSHOT
+sonar.sources=src/main/xoo
+sonar.language=xoo \ No newline at end of file
diff --git a/it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/ClassToModify.xoo b/it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/ClassToModify.xoo
new file mode 100644
index 00000000000..2b0288fc971
--- /dev/null
+++ b/it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/ClassToModify.xoo
@@ -0,0 +1,12 @@
+package sample;
+
+public class ClassToModify {
+
+ public ClassToModify(int i) {
+ int j = i++;
+ }
+
+ private String myMethod() {
+ return "hello";
+ }
+}
diff --git a/it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/ClassToModify.xoo.measures b/it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/ClassToModify.xoo.measures
new file mode 100644
index 00000000000..0861ac725c3
--- /dev/null
+++ b/it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/ClassToModify.xoo.measures
@@ -0,0 +1,4 @@
+ncloc:12
+classes:1
+complexity:3
+complexity_in_classes:3
diff --git a/it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/UnchangedClass.xoo b/it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/UnchangedClass.xoo
new file mode 100644
index 00000000000..2b0288fc971
--- /dev/null
+++ b/it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/UnchangedClass.xoo
@@ -0,0 +1,12 @@
+package sample;
+
+public class ClassToModify {
+
+ public ClassToModify(int i) {
+ int j = i++;
+ }
+
+ private String myMethod() {
+ return "hello";
+ }
+}
diff --git a/it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/UnchangedClass.xoo.measures b/it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/UnchangedClass.xoo.measures
new file mode 100644
index 00000000000..0861ac725c3
--- /dev/null
+++ b/it/it-projects/projectSearch/xoo-history-v1/src/main/xoo/sample/UnchangedClass.xoo.measures
@@ -0,0 +1,4 @@
+ncloc:12
+classes:1
+complexity:3
+complexity_in_classes:3
diff --git a/it/it-projects/projectSearch/xoo-history-v2/sonar-project.properties b/it/it-projects/projectSearch/xoo-history-v2/sonar-project.properties
new file mode 100644
index 00000000000..42a4d832540
--- /dev/null
+++ b/it/it-projects/projectSearch/xoo-history-v2/sonar-project.properties
@@ -0,0 +1,6 @@
+sonar.projectKey=sample
+sonar.projectName=Sample
+sonar.projectVersion=1.0-SNAPSHOT
+sonar.sources=src/main/xoo
+sonar.language=xoo
+sonar.scm.provider=xoo \ No newline at end of file
diff --git a/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassAdded.xoo b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassAdded.xoo
new file mode 100644
index 00000000000..b0fd1087030
--- /dev/null
+++ b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassAdded.xoo
@@ -0,0 +1,12 @@
+package sample;
+
+public class ClassAdded {
+
+ public ClassAdded(int i) {
+ int j = i++;
+ }
+
+ private String myMethod() {
+ return "hello";
+ }
+}
diff --git a/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassAdded.xoo.measures b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassAdded.xoo.measures
new file mode 100644
index 00000000000..0861ac725c3
--- /dev/null
+++ b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassAdded.xoo.measures
@@ -0,0 +1,4 @@
+ncloc:12
+classes:1
+complexity:3
+complexity_in_classes:3
diff --git a/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassAdded.xoo.scm b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassAdded.xoo.scm
new file mode 100644
index 00000000000..63fb4b3888e
--- /dev/null
+++ b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassAdded.xoo.scm
@@ -0,0 +1,13 @@
+2,user1,2017-05-01
+2,user1,2017-05-01
+2,user1,2017-05-01
+2,user1,2017-05-01
+2,user1,2017-05-01
+2,user1,2017-05-01
+2,user1,2017-05-01
+2,user1,2017-05-01
+2,user1,2017-05-01
+2,user1,2017-05-01
+2,user1,2017-05-01
+2,user1,2017-05-01
+2,user1,2017-05-01 \ No newline at end of file
diff --git a/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassToModify.xoo b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassToModify.xoo
new file mode 100644
index 00000000000..393111bbab0
--- /dev/null
+++ b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassToModify.xoo
@@ -0,0 +1,16 @@
+package sample;
+
+public class ClassToModify {
+
+ public ClassToModify(int i) {
+ int j = i++;
+ }
+
+ public String addedMethod() {
+ return "This method was added in v2";
+ }
+
+ private String myMethod() {
+ return "hello";
+ }
+}
diff --git a/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassToModify.xoo.measures b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassToModify.xoo.measures
new file mode 100644
index 00000000000..5de11af72ed
--- /dev/null
+++ b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassToModify.xoo.measures
@@ -0,0 +1,4 @@
+ncloc:16
+classes:1
+complexity:5
+complexity_in_classes:4
diff --git a/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassToModify.xoo.scm b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassToModify.xoo.scm
new file mode 100644
index 00000000000..7d71523dcf4
--- /dev/null
+++ b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/ClassToModify.xoo.scm
@@ -0,0 +1,17 @@
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+2,user1,2017-05-01
+2,user1,2017-05-01
+2,user1,2017-05-01
+2,user1,2017-05-01
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31 \ No newline at end of file
diff --git a/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/UnchangedClass.xoo b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/UnchangedClass.xoo
new file mode 100644
index 00000000000..2b0288fc971
--- /dev/null
+++ b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/UnchangedClass.xoo
@@ -0,0 +1,12 @@
+package sample;
+
+public class ClassToModify {
+
+ public ClassToModify(int i) {
+ int j = i++;
+ }
+
+ private String myMethod() {
+ return "hello";
+ }
+}
diff --git a/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/UnchangedClass.xoo.measures b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/UnchangedClass.xoo.measures
new file mode 100644
index 00000000000..0861ac725c3
--- /dev/null
+++ b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/UnchangedClass.xoo.measures
@@ -0,0 +1,4 @@
+ncloc:12
+classes:1
+complexity:3
+complexity_in_classes:3
diff --git a/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/UnchangedClass.xoo.scm b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/UnchangedClass.xoo.scm
new file mode 100644
index 00000000000..72dc2d569bf
--- /dev/null
+++ b/it/it-projects/projectSearch/xoo-history-v2/src/main/xoo/sample/UnchangedClass.xoo.scm
@@ -0,0 +1,13 @@
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31
+1,user1,2016-12-31 \ No newline at end of file
diff --git a/it/it-tests/src/test/java/it/projectSearch/SearchProjectsTest.java b/it/it-tests/src/test/java/it/projectSearch/SearchProjectsTest.java
index 46d30a139b6..5070fd3c5c9 100644
--- a/it/it-tests/src/test/java/it/projectSearch/SearchProjectsTest.java
+++ b/it/it-tests/src/test/java/it/projectSearch/SearchProjectsTest.java
@@ -23,6 +23,9 @@ import com.sonar.orchestrator.Orchestrator;
import com.sonar.orchestrator.build.SonarScanner;
import it.Category6Suite;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.Nullable;
import org.assertj.core.groups.Tuple;
import org.junit.After;
import org.junit.Before;
@@ -158,6 +161,7 @@ public class SearchProjectsTest {
tuple("70.0-80.0", 0L),
tuple("80.0-*", 0L));
checkFacet(response, "duplicated_lines_density",
+ tuple("NO_DATA", 0L),
tuple("*-3.0", 2L),
tuple("3.0-5.0", 0L),
tuple("5.0-10.0", 0L),
@@ -195,27 +199,32 @@ public class SearchProjectsTest {
@Test
public void should_return_facets_on_leak() throws Exception {
setServerProperty(orchestrator, "sonar.leak.period", "previous_analysis");
- String projectKey = newProjectKey();
- analyzeProject(projectKey, "shared/xoo-history-v1");
- analyzeProject(projectKey, "shared/xoo-history-v2");
+ // This project has no duplication on new code
+ String projectKey1 = newProjectKey();
+ analyzeProject(projectKey1, "shared/xoo-sample", "2016-12-31");
+ analyzeProject(projectKey1, "shared/xoo-sample");
+ // This project has 0% duplication on new code
+ String projectKey2 = newProjectKey();
+ analyzeProject(projectKey2, "projectSearch/xoo-history-v1", "2016-12-31");
+ analyzeProject(projectKey2, "projectSearch/xoo-history-v2");
SearchProjectsWsResponse response = searchProjects(SearchProjectsRequest.builder().setOrganization(organizationKey).setFacets(asList(
"new_reliability_rating", "new_security_rating", "new_maintainability_rating", "new_coverage", "new_duplicated_lines_density", "new_lines")).build());
checkFacet(response, "new_reliability_rating",
- tuple("1", 1L),
+ tuple("1", 2L),
tuple("2", 0L),
tuple("3", 0L),
tuple("4", 0L),
tuple("5", 0L));
checkFacet(response, "new_security_rating",
- tuple("1", 1L),
+ tuple("1", 2L),
tuple("2", 0L),
tuple("3", 0L),
tuple("4", 0L),
tuple("5", 0L));
checkFacet(response, "new_maintainability_rating",
- tuple("1", 1L),
+ tuple("1", 2L),
tuple("2", 0L),
tuple("3", 0L),
tuple("4", 0L),
@@ -227,13 +236,14 @@ public class SearchProjectsTest {
tuple("70.0-80.0", 0L),
tuple("80.0-*", 0L));
checkFacet(response, "new_duplicated_lines_density",
- tuple("*-3.0", 0L),
+ tuple("NO_DATA", 1L),
+ tuple("*-3.0", 1L),
tuple("3.0-5.0", 0L),
tuple("5.0-10.0", 0L),
tuple("10.0-20.0", 0L),
tuple("20.0-*", 0L));
checkFacet(response, "new_lines",
- tuple("*-1000.0", 0L),
+ tuple("*-1000.0", 1L),
tuple("1000.0-10000.0", 0L),
tuple("10000.0-100000.0", 0L),
tuple("100000.0-500000.0", 0L),
@@ -242,15 +252,26 @@ public class SearchProjectsTest {
private void checkFacet(SearchProjectsWsResponse response, String facetKey, Tuple... values) {
Common.Facet facet = response.getFacets().getFacetsList().stream().filter(f -> f.getProperty().equals(facetKey)).findAny().get();
- assertThat(facet.getValuesList()).extracting(Common.FacetValue::getVal, Common.FacetValue::getCount).containsExactly(values);
+ assertThat(facet.getValuesList()).extracting(Common.FacetValue::getVal, Common.FacetValue::getCount).containsExactlyInAnyOrder(values);
}
private void analyzeProject(String projectKey, String relativePath) {
- orchestrator.executeBuild(SonarScanner.create(projectDir(relativePath),
+ analyzeProject(projectKey, relativePath, null);
+ }
+
+ private void analyzeProject(String projectKey, String relativePath, @Nullable String analysisDate) {
+ List<String> keyValueProperties = new ArrayList<>(asList(
"sonar.projectKey", projectKey,
"sonar.organization", organizationKey,
"sonar.profile", "with-many-rules",
- "sonar.login", "admin", "sonar.password", "admin"));
+ "sonar.login", "admin", "sonar.password", "admin",
+ "sonar.scm.disabled", "false"
+ ));
+ if (analysisDate != null) {
+ keyValueProperties.add("sonar.projectDate");
+ keyValueProperties.add(analysisDate);
+ }
+ orchestrator.executeBuild(SonarScanner.create(projectDir(relativePath), keyValueProperties.toArray(new String[0])));
}
private SearchProjectsWsResponse searchProjects(String filter) throws IOException {