diff options
author | Duarte Meneses <duarte.meneses@sonarsource.com> | 2021-02-25 15:21:10 -0600 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2021-03-04 20:12:49 +0000 |
commit | 4558e5786f367160a219fd8bbc1f9872e51ea661 (patch) | |
tree | e2aaa9d78e1c751e35371878357ea70dabd23a5c /server/sonar-webserver-core | |
parent | bd5b4a869dfe128ccbebc86af58c4a4bb77962e1 (diff) | |
download | sonarqube-4558e5786f367160a219fd8bbc1f9872e51ea661.tar.gz sonarqube-4558e5786f367160a219fd8bbc1f9872e51ea661.zip |
SONAR-14518 Telemetry - include number of sonarlint users
Diffstat (limited to 'server/sonar-webserver-core')
4 files changed, 22 insertions, 6 deletions
diff --git a/server/sonar-webserver-core/src/main/java/org/sonar/server/telemetry/TelemetryDataLoaderImpl.java b/server/sonar-webserver-core/src/main/java/org/sonar/server/telemetry/TelemetryDataLoaderImpl.java index c944b32e857..16354f7b359 100644 --- a/server/sonar-webserver-core/src/main/java/org/sonar/server/telemetry/TelemetryDataLoaderImpl.java +++ b/server/sonar-webserver-core/src/main/java/org/sonar/server/telemetry/TelemetryDataLoaderImpl.java @@ -144,6 +144,7 @@ public class TelemetryDataLoaderImpl implements TelemetryDataLoader { .stream() .collect(Collectors.toMap(ProjectCountPerAnalysisPropertyValue::getPropertyValue, ProjectCountPerAnalysisPropertyValue::getCount)); data.setProjectCountByScm(projectCountPerScmDetected); + data.setSonarlintWeeklyUsers(dbClient.userDao().countSonarlintWeeklyUsers(dbSession)); } setSecurityCustomConfigIfPresent(data); @@ -153,7 +154,6 @@ public class TelemetryDataLoaderImpl implements TelemetryDataLoader { Optional<String> installationVersionProperty = internalProperties.read(InternalProperties.INSTALLATION_VERSION); data.setInstallationVersion(installationVersionProperty.orElse(null)); data.setInDocker(dockerSupport.isRunningInDocker()); - return data.build(); } diff --git a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/ClusterSystemInfoWriterTest.java b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/ClusterSystemInfoWriterTest.java index 560e4461f19..e22bbe0cd20 100644 --- a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/ClusterSystemInfoWriterTest.java +++ b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/ClusterSystemInfoWriterTest.java @@ -73,8 +73,9 @@ public class ClusterSystemInfoWriterTest { + "\"Application Nodes\":[{\"Name\":\"appNodes\",\"\":{\"name\":\"appNodes\"}}]," + "\"Search Nodes\":[{\"Name\":\"searchNodes\",\"\":{\"name\":\"searchNodes\"}}]," + "\"Statistics\":{\"id\":\"\",\"version\":\"\",\"database\":{\"name\":\"\",\"version\":\"\"},\"plugins\":[]," - + "\"userCount\":0,\"projectCount\":0,\"usingBranches\":false,\"ncloc\":0,\"projectCountByLanguage\":[]," + - "\"nclocByLanguage\":[],\"almIntegrationCount\":[],\"externalAuthProviders\":[],\"projectCountByScm\":[],\"installationDate\":0,\"installationVersion\":\"\",\"docker\":false}}"); + + "\"userCount\":0,\"projectCount\":0,\"usingBranches\":false,\"ncloc\":0,\"projectCountByLanguage\":[]," + + "\"nclocByLanguage\":[],\"almIntegrationCount\":[],\"externalAuthProviders\":[],\"projectCountByScm\":[],\"sonarlintWeeklyUsers\":0,\"installationDate\":0," + + "\"installationVersion\":\"\",\"docker\":false}}"); } private static NodeInfo createNodeInfo(String name) { diff --git a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/StandaloneSystemInfoWriterTest.java b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/StandaloneSystemInfoWriterTest.java index c22757e9e81..d9e68091ae1 100644 --- a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/StandaloneSystemInfoWriterTest.java +++ b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/StandaloneSystemInfoWriterTest.java @@ -80,7 +80,8 @@ public class StandaloneSystemInfoWriterTest { // response does not contain empty "Section Three" assertThat(writer).hasToString("{\"Health\":\"GREEN\",\"Health Causes\":[],\"Section One\":{\"foo\":\"bar\"},\"Section Two\":{\"one\":1,\"two\":2}," + "\"Statistics\":{\"id\":\"\",\"version\":\"\",\"database\":{\"name\":\"\",\"version\":\"\"},\"plugins\":[],\"userCount\":0,\"projectCount\":0,\"usingBranches\":false," + - "\"ncloc\":0,\"projectCountByLanguage\":[],\"nclocByLanguage\":[],\"almIntegrationCount\":[],\"externalAuthProviders\":[],\"projectCountByScm\":[],\"installationDate\":0,\"installationVersion\":\"\",\"docker\":false}}"); + "\"ncloc\":0,\"projectCountByLanguage\":[],\"nclocByLanguage\":[],\"almIntegrationCount\":[],\"externalAuthProviders\":[],\"projectCountByScm\":[]," + + "\"sonarlintWeeklyUsers\":0,\"installationDate\":0,\"installationVersion\":\"\",\"docker\":false}}"); } private void logInAsSystemAdministrator() { diff --git a/server/sonar-webserver-core/src/test/java/org/sonar/server/telemetry/TelemetryDataLoaderImplTest.java b/server/sonar-webserver-core/src/test/java/org/sonar/server/telemetry/TelemetryDataLoaderImplTest.java index dd78c60e233..4ec49748d9b 100644 --- a/server/sonar-webserver-core/src/test/java/org/sonar/server/telemetry/TelemetryDataLoaderImplTest.java +++ b/server/sonar-webserver-core/src/test/java/org/sonar/server/telemetry/TelemetryDataLoaderImplTest.java @@ -66,15 +66,17 @@ import static org.sonar.server.metric.UnanalyzedLanguageMetrics.UNANALYZED_CPP_K import static org.sonar.server.metric.UnanalyzedLanguageMetrics.UNANALYZED_C_KEY; public class TelemetryDataLoaderImplTest { + private final static Long NOW = 100_000_000L; + private final TestSystem2 system2 = new TestSystem2().setNow(NOW); + @Rule - public DbTester db = DbTester.create(); + public DbTester db = DbTester.create(system2); @Rule public EsTester es = EsTester.create(); private final FakeServer server = new FakeServer(); private final PluginRepository pluginRepository = mock(PluginRepository.class); private final Configuration configuration = mock(Configuration.class); - private final TestSystem2 system2 = new TestSystem2().setNow(System.currentTimeMillis()); private final PlatformEditionProvider editionProvider = mock(PlatformEditionProvider.class); private final DockerSupport dockerSupport = mock(DockerSupport.class); private final InternalProperties internalProperties = spy(new MapInternalProperties()); @@ -202,6 +204,18 @@ public class TelemetryDataLoaderImplTest { } @Test + public void data_contains_weekly_count_sonarlint_users() { + db.users().insertUser(c -> c.setLastSonarlintConnectionDate(NOW - 100_000L)); + db.users().insertUser(c -> c.setLastSonarlintConnectionDate(NOW)); + // these don't count + db.users().insertUser(c -> c.setLastSonarlintConnectionDate(NOW - 1_000_000_000L)); + db.users().insertUser(); + + TelemetryData data = communityUnderTest.load(); + assertThat(data.sonarlintWeeklyUsers()).isEqualTo(2L); + } + + @Test public void data_has_license_type_on_commercial_edition_if_no_license() { String licenseType = randomAlphabetic(12); LicenseReader.License license = mock(LicenseReader.License.class); |