diff options
author | Pierre <pierre.guillot@sonarsource.com> | 2023-03-09 11:23:16 +0100 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2023-03-22 20:04:07 +0000 |
commit | 9d02b0639e617458d771c4a794db33e70cbb35a1 (patch) | |
tree | a1b699c097fc5d3799da5748ee6d6262f0b89497 /server/sonar-db-dao/src/it/java/org/sonar/db/user | |
parent | e1bb13c356ba329aaa5f144a539867e0150f9828 (diff) | |
download | sonarqube-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.java | 29 |
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); |