diff options
Diffstat (limited to 'it')
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 { |