aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-db-dao/src/it/java/org/sonar/db/user
diff options
context:
space:
mode:
authorPierre <pierre.guillot@sonarsource.com>2023-03-09 11:23:16 +0100
committersonartech <sonartech@sonarsource.com>2023-03-22 20:04:07 +0000
commit9d02b0639e617458d771c4a794db33e70cbb35a1 (patch)
treea1b699c097fc5d3799da5748ee6d6262f0b89497 /server/sonar-db-dao/src/it/java/org/sonar/db/user
parente1bb13c356ba329aaa5f144a539867e0150f9828 (diff)
downloadsonarqube-9d02b0639e617458d771c4a794db33e70cbb35a1.tar.gz
sonarqube-9d02b0639e617458d771c4a794db33e70cbb35a1.zip
SONAR-18708 add 'managed' property for users in the telemetry
Diffstat (limited to 'server/sonar-db-dao/src/it/java/org/sonar/db/user')
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/user/UserDaoIT.java29
1 files changed, 26 insertions, 3 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 1b9d348c1fb..ffca27d756b 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
@@ -35,6 +35,7 @@ import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import org.sonar.db.project.ProjectDto;
+import org.sonar.db.scim.ScimUserDto;
import static java.util.Arrays.asList;
import static java.util.Collections.emptyList;
@@ -593,10 +594,11 @@ public class UserDaoIT {
List<UserTelemetryDto> result = underTest.selectUsersForTelemetry(db.getSession());
assertThat(result)
- .extracting(UserTelemetryDto::getUuid, UserTelemetryDto::isActive, UserTelemetryDto::getLastConnectionDate, UserTelemetryDto::getLastSonarlintConnectionDate)
+ .extracting(UserTelemetryDto::getUuid, UserTelemetryDto::isActive, UserTelemetryDto::getLastConnectionDate, UserTelemetryDto::getLastSonarlintConnectionDate, UserTelemetryDto::getScimUuid)
.containsExactlyInAnyOrder(
- tuple(u1.getUuid(), u1.isActive(), u1.getLastConnectionDate(), u1.getLastSonarlintConnectionDate()),
- tuple(u2.getUuid(), u2.isActive(), u2.getLastConnectionDate(), u2.getLastSonarlintConnectionDate()));
+ tuple(u1.getUuid(), u1.isActive(), u1.getLastConnectionDate(), u1.getLastSonarlintConnectionDate(), null),
+ tuple(u2.getUuid(), u2.isActive(), u2.getLastConnectionDate(), u2.getLastSonarlintConnectionDate(), null)
+ );
}
@Test
@@ -620,6 +622,22 @@ public class UserDaoIT {
tuple(u2.getUuid(), u2.isActive(), 20_000_000_000L, u2.getLastSonarlintConnectionDate()));
}
+ @Test
+ public void selectUserTelemetryWithScim() {
+ UserDto u1 = insertUser(true);
+ UserDto u2 = insertUser(false);
+ ScimUserDto scimUser1 = enableScimForUser(u1);
+
+ List<UserTelemetryDto> result = underTest.selectUsersForTelemetry(db.getSession());
+
+ assertThat(result)
+ .extracting(UserTelemetryDto::getUuid, UserTelemetryDto::isActive, UserTelemetryDto::getLastConnectionDate, UserTelemetryDto::getLastSonarlintConnectionDate, UserTelemetryDto::getScimUuid)
+ .containsExactlyInAnyOrder(
+ tuple(u1.getUuid(), u1.isActive(), u1.getLastConnectionDate(), u1.getLastSonarlintConnectionDate(), scimUser1.getScimUserUuid()),
+ tuple(u2.getUuid(), u2.isActive(), u2.getLastConnectionDate(), u2.getLastSonarlintConnectionDate(), null)
+ );
+ }
+
private UserDto insertActiveUser() {
return insertUser(true);
}
@@ -630,6 +648,11 @@ public class UserDaoIT {
return dto;
}
+
+ private ScimUserDto enableScimForUser(UserDto userDto) {
+ return dbClient.scimUserDao().enableScimForUser(db.getSession(), userDto.getUuid());
+ }
+
private UserGroupDto insertUserGroup(UserDto user) {
GroupDto group = newGroupDto().setName(randomAlphanumeric(30));
dbClient.groupDao().insert(session, group);