Skip to content

Commit 4a6a0f2

Browse files
belen-pruvost-sonarsourcesonartech
authored andcommitted
SONAR-15143 - Using ISO8601 for DateTimes
1 parent d9127ca commit 4a6a0f2

File tree

4 files changed

+17
-6
lines changed

4 files changed

+17
-6
lines changed

server/sonar-db-dao/src/main/java/org/sonar/db/audit/model/UserNewValue.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import javax.annotation.CheckForNull;
2323
import javax.annotation.Nullable;
2424
import org.apache.commons.lang.ObjectUtils;
25+
import org.sonar.api.utils.DateUtils;
2526
import org.sonar.db.user.UserDto;
2627

2728
import static java.util.Objects.requireNonNull;
@@ -162,7 +163,8 @@ public String toString() {
162163
addField(sb, "\"local\": ", ObjectUtils.toString(this.local), false);
163164
addField(sb, "\"onboarded\": ", ObjectUtils.toString(this.onboarded), false);
164165
addField(sb, "\"root\": ", ObjectUtils.toString(this.root), false);
165-
addField(sb, "\"lastConnectionDate\": ", ObjectUtils.toString(this.lastConnectionDate), false);
166+
addField(sb, "\"lastConnectionDate\": ", this.lastConnectionDate == null ?
167+
"" : DateUtils.formatDateTime(this.lastConnectionDate), false);
166168
endString(sb);
167169
return sb.toString();
168170
}

server/sonar-db-dao/src/main/java/org/sonar/db/audit/model/UserTokenNewValue.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
import javax.annotation.CheckForNull;
2323
import javax.annotation.Nullable;
24-
import org.apache.commons.lang.ObjectUtils;
24+
import org.sonar.api.utils.DateUtils;
2525
import org.sonar.db.user.UserDto;
2626
import org.sonar.db.user.UserTokenDto;
2727

@@ -89,7 +89,8 @@ public String toString() {
8989
addField(sb, "\"userUuid\": ", this.userUuid, true);
9090
addField(sb, "\"userLogin\": ", this.userLogin, true);
9191
addField(sb, "\"tokenName\": ", this.tokenName, true);
92-
addField(sb, "\"lastConnectionDate\": ", ObjectUtils.toString(this.lastConnectionDate), false);
92+
addField(sb, "\"lastConnectionDate\": ", this.lastConnectionDate == null ?
93+
"" : DateUtils.formatDateTime(this.lastConnectionDate), false);
9394
endString(sb);
9495
return sb.toString();
9596
}

server/sonar-db-dao/src/test/java/org/sonar/db/user/UserDaoWithPersisterTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.junit.runner.RunWith;
2626
import org.mockito.ArgumentCaptor;
2727
import org.sonar.api.impl.utils.TestSystem2;
28+
import org.sonar.api.utils.DateUtils;
2829
import org.sonar.db.DbClient;
2930
import org.sonar.db.DbTester;
3031
import org.sonar.db.audit.AuditPersister;
@@ -114,7 +115,9 @@ public void updateUserIsPersisted() {
114115
.containsExactly(updatedUser.getUuid(), updatedUser.getLogin(), updatedUser.getName(), updatedUser.getEmail(), updatedUser.isActive(),
115116
updatedUser.getScmAccounts(), updatedUser.getExternalId(), updatedUser.getExternalLogin(), updatedUser.getExternalIdentityProvider(),
116117
updatedUser.isLocal(), updatedUser.isOnboarded(), updatedUser.isRoot(), updatedUser.getLastConnectionDate());
117-
assertThat(newValue.toString()).contains("name");
118+
assertThat(newValue.toString())
119+
.contains("name")
120+
.contains(DateUtils.formatDateTime(updatedUser.getLastConnectionDate()));
118121
}
119122

120123
@Test

server/sonar-db-dao/src/test/java/org/sonar/db/user/UserTokenDaoWithPersisterTest.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,15 @@
2323
import org.junit.Test;
2424
import org.junit.rules.ExpectedException;
2525
import org.mockito.ArgumentCaptor;
26+
import org.sonar.api.utils.DateUtils;
2627
import org.sonar.api.utils.System2;
2728
import org.sonar.db.DbClient;
2829
import org.sonar.db.DbSession;
2930
import org.sonar.db.DbTester;
3031
import org.sonar.db.audit.AuditPersister;
3132
import org.sonar.db.audit.model.UserTokenNewValue;
3233

34+
import static org.apache.commons.lang.math.RandomUtils.nextLong;
3335
import static org.assertj.core.api.Assertions.assertThat;
3436
import static org.mockito.ArgumentMatchers.any;
3537
import static org.mockito.ArgumentMatchers.eq;
@@ -53,7 +55,8 @@ public class UserTokenDaoWithPersisterTest {
5355

5456
@Test
5557
public void insert_token_is_persisted() {
56-
UserTokenDto userToken = newUserToken();
58+
UserTokenDto userToken = newUserToken()
59+
.setLastConnectionDate(nextLong());
5760
underTest.insert(db.getSession(), userToken, "login");
5861

5962
verify(auditPersister).addUserToken(eq(db.getSession()), newValueCaptor.capture());
@@ -68,7 +71,9 @@ public void insert_token_is_persisted() {
6871
assertThat(newValue)
6972
.extracting(UserTokenNewValue::getTokenUuid, UserTokenNewValue::getTokenName, UserTokenNewValue::getUserUuid, UserTokenNewValue::getLastConnectionDate)
7073
.containsExactly(userToken.getUuid(), userToken.getName(), userToken.getUserUuid(), userToken.getLastConnectionDate());
71-
assertThat(newValue.toString()).contains("tokenUuid");
74+
assertThat(newValue.toString())
75+
.contains("tokenUuid")
76+
.contains(DateUtils.formatDateTime(userToken.getLastConnectionDate()));
7277
}
7378

7479
@Test

0 commit comments

Comments
 (0)