aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-webserver-auth
diff options
context:
space:
mode:
authorlukasz-jarocki-sonarsource <lukasz.jarocki@sonarsource.com>2024-07-15 16:33:09 +0200
committersonartech <sonartech@sonarsource.com>2024-07-24 20:02:48 +0000
commit34cf59a340ea31410cbb60019e6e445e9d8d2929 (patch)
tree0306dfe0d482cb8526b5c74d883ca083595fdc41 /server/sonar-webserver-auth
parentc9d48b7138e2f73637da4ead7ee9c54c78447381 (diff)
downloadsonarqube-34cf59a340ea31410cbb60019e6e445e9d8d2929.tar.gz
sonarqube-34cf59a340ea31410cbb60019e6e445e9d8d2929.zip
SONAR-22479 moved 'user_enabled' metric to sonar-telemetry
Diffstat (limited to 'server/sonar-webserver-auth')
-rw-r--r--server/sonar-webserver-auth/src/it/java/org/sonar/server/telemetry/TelemetryUserEnabledProviderIT.java79
-rw-r--r--server/sonar-webserver-auth/src/main/java/org/sonar/server/authentication/AuthenticationModule.java4
-rw-r--r--server/sonar-webserver-auth/src/main/java/org/sonar/server/telemetry/TelemetryUserEnabledProvider.java75
-rw-r--r--server/sonar-webserver-auth/src/main/java/org/sonar/server/telemetry/package-info.java23
-rw-r--r--server/sonar-webserver-auth/src/test/java/org/sonar/server/telemetry/TelemetryUserEnabledProviderTest.java41
5 files changed, 1 insertions, 221 deletions
diff --git a/server/sonar-webserver-auth/src/it/java/org/sonar/server/telemetry/TelemetryUserEnabledProviderIT.java b/server/sonar-webserver-auth/src/it/java/org/sonar/server/telemetry/TelemetryUserEnabledProviderIT.java
deleted file mode 100644
index 801835ef851..00000000000
--- a/server/sonar-webserver-auth/src/it/java/org/sonar/server/telemetry/TelemetryUserEnabledProviderIT.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-2024 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program 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.
- *
- * This program 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.server.telemetry;
-
-import java.util.Map;
-import org.junit.Rule;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.sonar.api.impl.utils.AlwaysIncreasingSystem2;
-import org.sonar.api.utils.System2;
-import org.sonar.db.DbTester;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-class TelemetryUserEnabledProviderIT {
-
- private final System2 system2 = new AlwaysIncreasingSystem2();
-
- @Rule
- public final DbTester db = DbTester.create(system2);
-
-
- private final TelemetryUserEnabledProvider underTest = new TelemetryUserEnabledProvider(db.getDbClient());
-
- @BeforeEach
- public void beforeEach() {
- db.executeUpdateSql("delete from users");
- }
-
- @Test
- void getUuidValues_whenNoUsersInDatabase_shouldReturnEmptyMap() {
- Map<String, Boolean> uuidValues = underTest.getUuidValues();
-
- assertThat(uuidValues).isEmpty();
- }
-
- @Test
- void getUuidValues_whenSomeUsersActive_shouldReturnBothBooleanValues() {
- db.users().insertUser(user -> user.setUuid("uuid1").setActive(true));
- db.users().insertUser(user -> user.setUuid("uuid1").setActive(false));
- db.getSession().commit();
-
- Map<String, Boolean> uuidValues = underTest.getUuidValues();
-
- assertThat(uuidValues).hasSize(2);
- assertThat(uuidValues.values().stream().filter(Boolean::booleanValue)).hasSize(1);
- assertThat(uuidValues.values().stream().filter(b -> !b)).hasSize(1);
- }
-
- @Test
- void getUuidValues_when10ActiveUsers_shouldReturn10BooleanValues() {
- for (int i = 0; i < 10; i++) {
- db.users().insertUser(user -> user.setActive(true));
- }
- db.getSession().commit();
-
- Map<String, Boolean> uuidValues = underTest.getUuidValues();
-
- assertThat(uuidValues).hasSize(10);
- assertThat(uuidValues.values().stream().filter(Boolean::booleanValue)).hasSize(10);
- }
-}
diff --git a/server/sonar-webserver-auth/src/main/java/org/sonar/server/authentication/AuthenticationModule.java b/server/sonar-webserver-auth/src/main/java/org/sonar/server/authentication/AuthenticationModule.java
index 23a470c9872..9e83675ebd4 100644
--- a/server/sonar-webserver-auth/src/main/java/org/sonar/server/authentication/AuthenticationModule.java
+++ b/server/sonar-webserver-auth/src/main/java/org/sonar/server/authentication/AuthenticationModule.java
@@ -23,7 +23,6 @@ import org.sonar.core.platform.Module;
import org.sonar.server.authentication.event.AuthenticationEventImpl;
import org.sonar.server.authentication.purge.ExpiredSessionsCleaner;
import org.sonar.server.authentication.purge.ExpiredSessionsCleanerExecutorServiceImpl;
-import org.sonar.server.telemetry.TelemetryUserEnabledProvider;
public class AuthenticationModule extends Module {
@Override
@@ -55,7 +54,6 @@ public class AuthenticationModule extends Module {
ExpiredSessionsCleanerExecutorServiceImpl.class,
UserLastConnectionDatesUpdaterImpl.class,
UserRegistrarImpl.class,
- UserSessionInitializer.class,
- TelemetryUserEnabledProvider.class);
+ UserSessionInitializer.class);
}
}
diff --git a/server/sonar-webserver-auth/src/main/java/org/sonar/server/telemetry/TelemetryUserEnabledProvider.java b/server/sonar-webserver-auth/src/main/java/org/sonar/server/telemetry/TelemetryUserEnabledProvider.java
deleted file mode 100644
index adcf530d0ed..00000000000
--- a/server/sonar-webserver-auth/src/main/java/org/sonar/server/telemetry/TelemetryUserEnabledProvider.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-2024 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program 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.
- *
- * This program 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.server.telemetry;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.sonar.db.DbClient;
-import org.sonar.db.DbSession;
-import org.sonar.db.user.UserDto;
-import org.sonar.db.user.UserQuery;
-
-public class TelemetryUserEnabledProvider implements TelemetryDataProvider<Boolean> {
-
- private final DbClient dbClient;
-
- public TelemetryUserEnabledProvider(DbClient dbClient) {
- this.dbClient = dbClient;
- }
-
- @Override
- public String getMetricKey() {
- return "user_enabled";
- }
-
- @Override
- public Dimension getDimension() {
- return Dimension.USER;
- }
-
- @Override
- public Granularity getGranularity() {
- return Granularity.DAILY;
- }
-
- @Override
- public TelemetryDataType getType() {
- return TelemetryDataType.BOOLEAN;
- }
-
- @Override
- public Map<String, Boolean> getUuidValues() {
- Map<String, Boolean> result = new HashMap<>();
- int pageSize = 1000;
- int page = 1;
- try (DbSession dbSession = dbClient.openSession(false)) {
- List<UserDto> userDtos = null;
- do {
- userDtos = dbClient.userDao().selectUsers(dbSession, UserQuery.builder().build(), page, pageSize);
- for (UserDto userDto : userDtos) {
- result.put(userDto.getUuid(), userDto.isActive());
- }
- page++;
- } while (!userDtos.isEmpty());
- }
- return result;
- }
-}
diff --git a/server/sonar-webserver-auth/src/main/java/org/sonar/server/telemetry/package-info.java b/server/sonar-webserver-auth/src/main/java/org/sonar/server/telemetry/package-info.java
deleted file mode 100644
index a1adc893867..00000000000
--- a/server/sonar-webserver-auth/src/main/java/org/sonar/server/telemetry/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-2024 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program 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.
- *
- * This program 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.
- */
-@ParametersAreNonnullByDefault
-package org.sonar.server.telemetry;
-
-import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/server/sonar-webserver-auth/src/test/java/org/sonar/server/telemetry/TelemetryUserEnabledProviderTest.java b/server/sonar-webserver-auth/src/test/java/org/sonar/server/telemetry/TelemetryUserEnabledProviderTest.java
deleted file mode 100644
index 57c0a2de161..00000000000
--- a/server/sonar-webserver-auth/src/test/java/org/sonar/server/telemetry/TelemetryUserEnabledProviderTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-2024 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program 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.
- *
- * This program 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.server.telemetry;
-
-import org.junit.jupiter.api.Test;
-import org.sonar.db.DbClient;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.mock;
-
-class TelemetryUserEnabledProviderTest {
-
- private final DbClient dbClient = mock(DbClient.class);
-
- private final TelemetryUserEnabledProvider underTest = new TelemetryUserEnabledProvider(dbClient);
-
- @Test
- void testGetters() {
- assertThat(underTest.getDimension()).isEqualTo(Dimension.USER);
- assertThat(underTest.getGranularity()).isEqualTo(Granularity.DAILY);
- assertThat(underTest.getMetricKey()).isEqualTo("user_enabled");
- assertThat(underTest.getType()).isEqualTo(TelemetryDataType.BOOLEAN);
- }
-}