aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlain Kermis <alain.kermis@sonarsource.com>2023-03-14 16:15:16 +0100
committerPhilippe Perrin <philippe.perrin@sonarsource.com>2023-03-17 10:08:02 +0100
commit0eb2911cd30df0435dc78850a08303a1ea435f36 (patch)
tree3462911838a19ae6ba2d8632a3f351ff9f7e9f49
parent545f09ba0f871b1b0736dfe3eca68cc16e81fcc8 (diff)
downloadsonarqube-0eb2911cd30df0435dc78850a08303a1ea435f36.tar.gz
sonarqube-0eb2911cd30df0435dc78850a08303a1ea435f36.zip
SONAR-18589 Fix system info user count
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/user/UserDaoIT.java10
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/user/UserDao.java4
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMapper.java2
-rw-r--r--server/sonar-db-dao/src/main/resources/org/sonar/db/user/UserMapper.xml4
4 files changed, 20 insertions, 0 deletions
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/user/UserDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/user/UserDaoIT.java
index d9bb04089db..1b9d348c1fb 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/user/UserDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/user/UserDaoIT.java
@@ -408,6 +408,16 @@ public class UserDaoIT {
}
@Test
+ public void count_active_users() {
+ db.users().insertUser();
+ db.users().insertUser();
+ db.users().insertUser();
+ db.users().insertUser(c -> c.setActive(false));
+
+ assertThat(underTest.countActiveUsers(db.getSession())).isEqualTo(3);
+ }
+
+ @Test
public void clean_user_homepage() {
UserDto user = newUserDto().setHomepageType("RANDOM").setHomepageParameter("any-string");
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserDao.java
index 442edf73596..8387c648d9b 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserDao.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserDao.java
@@ -189,6 +189,10 @@ public class UserDao implements Dao {
return mapper(dbSession).countActiveSonarlintUsers(threshold);
}
+ public long countActiveUsers(DbSession dbSession) {
+ return mapper(dbSession).countActiveUsers();
+ }
+
public void scrollByUuids(DbSession dbSession, Collection<String> uuids, Consumer<UserDto> consumer) {
UserMapper mapper = mapper(dbSession);
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMapper.java
index 3bc198edb01..8676a8a04a2 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMapper.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMapper.java
@@ -81,4 +81,6 @@ public interface UserMapper {
void clearHomepage(@Param("login") String login, @Param("now") long now);
long countActiveSonarlintUsers(@Param("sinceDate") long sinceDate);
+
+ long countActiveUsers();
}
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/user/UserMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/user/UserMapper.xml
index abab22c8757..2f5ae52d2ec 100644
--- a/server/sonar-db-dao/src/main/resources/org/sonar/db/user/UserMapper.xml
+++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/user/UserMapper.xml
@@ -269,4 +269,8 @@
where last_sonarlint_connection > #{sinceDate,jdbcType=BIGINT}
</select>
+ <select id="countActiveUsers" resultType="long">
+ select count(1) from users u WHERE u.active=${_true}
+ </select>
+
</mapper>