From 6f66d78865633908ec912071f3d1368a7017cc5e Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 24 Oct 2026 19:59:00 +0800 Subject: [PATCH] test: 修复时间精度差异并恢复时间字段断言 --- yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/job/JobLogServiceImplTest.java | 5 ++--- yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/logger/ApiAccessLogServiceImplTest.java | 5 ++--- yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/logger/ApiErrorLogServiceImplTest.java | 5 ++--- yudao-module-pay/src/test/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceTest.java | 16 ++++++---------- yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ApproveServiceImplTest.java | 5 ++--- yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2CodeServiceImplTest.java | 21 ++++++++++++++------- yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2TokenServiceImplTest.java | 55 +++++++++++++++++++++++++++++++------------------------ 7 files changed, 59 insertions(+), 53 deletions(-) diff --git a/yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/job/JobLogServiceImplTest.java b/yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/job/JobLogServiceImplTest.java index a6bd3c8..b7100ac 100644 --- a/yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/job/JobLogServiceImplTest.java +++ b/yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/job/JobLogServiceImplTest.java @@ -101,7 +101,7 @@ public class JobLogServiceImplTest extends BaseDbUnitTest { JobLogDO log01 = randomPojo(JobLogDO.class, o -> o.setCreateTime(addTime(Duration.ofDays(-3)))) .setExecuteIndex(1); jobLogMapper.insert(log01); - JobLogDO log02 = randomPojo(JobLogDO.class, o -> o.setCreateTime(addTime(Duration.ofDays(-1)))) + JobLogDO log02 = randomPojo(JobLogDO.class, o -> o.setCreateTime(addTime(Duration.ofDays(-1)).withNano(0))) .setExecuteIndex(1); jobLogMapper.insert(log02); // 准备参数 @@ -114,8 +114,7 @@ public class JobLogServiceImplTest extends BaseDbUnitTest { assertEquals(1, count); List logs = jobLogMapper.selectList(); assertEquals(1, logs.size()); - // TODO @芋艿:createTime updateTime 被屏蔽,仅 win11 会复现,建议后续修复。 - assertPojoEquals(log02, logs.get(0), "createTime", "updateTime"); + assertPojoEquals(log02, logs.get(0)); } @Test diff --git a/yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/logger/ApiAccessLogServiceImplTest.java b/yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/logger/ApiAccessLogServiceImplTest.java index b8da238..eece5a6 100644 --- a/yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/logger/ApiAccessLogServiceImplTest.java +++ b/yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/logger/ApiAccessLogServiceImplTest.java @@ -79,7 +79,7 @@ public class ApiAccessLogServiceImplTest extends BaseDbUnitTest { // mock 数据 ApiAccessLogDO log01 = randomPojo(ApiAccessLogDO.class, o -> o.setCreateTime(addTime(Duration.ofDays(-3)))); apiAccessLogMapper.insert(log01); - ApiAccessLogDO log02 = randomPojo(ApiAccessLogDO.class, o -> o.setCreateTime(addTime(Duration.ofDays(-1)))); + ApiAccessLogDO log02 = randomPojo(ApiAccessLogDO.class, o -> o.setCreateTime(addTime(Duration.ofDays(-1)).withNano(0))); apiAccessLogMapper.insert(log02); // 准备参数 Integer exceedDay = 2; @@ -91,8 +91,7 @@ public class ApiAccessLogServiceImplTest extends BaseDbUnitTest { assertEquals(1, count); List logs = apiAccessLogMapper.selectList(); assertEquals(1, logs.size()); - // TODO @芋艿:createTime updateTime 被屏蔽,仅 win11 会复现,建议后续修复。 - assertPojoEquals(log02, logs.get(0), "createTime", "updateTime"); + assertPojoEquals(log02, logs.get(0)); } @Test diff --git a/yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/logger/ApiErrorLogServiceImplTest.java b/yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/logger/ApiErrorLogServiceImplTest.java index d4854e7..6a56e91 100644 --- a/yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/logger/ApiErrorLogServiceImplTest.java +++ b/yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/logger/ApiErrorLogServiceImplTest.java @@ -145,7 +145,7 @@ public class ApiErrorLogServiceImplTest extends BaseDbUnitTest { // mock 数据 ApiErrorLogDO log01 = randomPojo(ApiErrorLogDO.class, o -> o.setCreateTime(addTime(Duration.ofDays(-3)))); apiErrorLogMapper.insert(log01); - ApiErrorLogDO log02 = randomPojo(ApiErrorLogDO.class, o -> o.setCreateTime(addTime(Duration.ofDays(-1)))); + ApiErrorLogDO log02 = randomPojo(ApiErrorLogDO.class, o -> o.setCreateTime(addTime(Duration.ofDays(-1)).withNano(0))); apiErrorLogMapper.insert(log02); // 准备参数 Integer exceedDay = 2; @@ -157,8 +157,7 @@ public class ApiErrorLogServiceImplTest extends BaseDbUnitTest { assertEquals(1, count); List logs = apiErrorLogMapper.selectList(); assertEquals(1, logs.size()); - // TODO @芋艿:createTime updateTime 被屏蔽,仅 win11 会复现,建议后续修复。 - assertPojoEquals(log02, logs.get(0), "createTime", "updateTime"); + assertPojoEquals(log02, logs.get(0)); } } diff --git a/yudao-module-pay/src/test/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceTest.java b/yudao-module-pay/src/test/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceTest.java index 2b9907e..52b9024 100755 --- a/yudao-module-pay/src/test/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceTest.java +++ b/yudao-module-pay/src/test/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceTest.java @@ -340,7 +340,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { // mock 数据(order) PayOrderDO order = randomPojo(PayOrderDO.class, o -> o.setStatus(PayOrderStatusEnum.WAITING.getStatus()) - .setAppId(1L).setExpireTime(addTime(Duration.ofDays(1)))); + .setAppId(1L).setExpireTime(addTime(Duration.ofDays(1)).withNano(0))); orderMapper.insert(order); // 准备参数 PayOrderSubmitReqVO reqVO = randomPojo(PayOrderSubmitReqVO.class, o -> o.setId(order.getId()) @@ -363,11 +363,9 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { when(client.unifiedOrder(argThat(payOrderUnifiedReqDTO -> { assertNotNull(payOrderUnifiedReqDTO.getOutTradeNo()); assertThat(payOrderUnifiedReqDTO) -// .extracting("subject", "body", "notifyUrl", "returnUrl", "price", "expireTime") // TODO @芋艿:win11 下,时间不太准 - .extracting("subject", "body", "notifyUrl", "returnUrl", "price") + .extracting("subject", "body", "notifyUrl", "returnUrl", "price", "expireTime") .containsExactly(order.getSubject(), order.getBody(), "http://127.0.0.1/10", -// reqVO.getReturnUrl(), order.getPrice(), order.getExpireTime()); - reqVO.getReturnUrl(), order.getPrice()); + reqVO.getReturnUrl(), order.getPrice(), order.getExpireTime()); return true; }))).thenReturn(unifiedOrderResp); @@ -396,7 +394,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { // mock 数据(order) PayOrderDO order = randomPojo(PayOrderDO.class, o -> o.setStatus(PayOrderStatusEnum.WAITING.getStatus()) - .setAppId(1L).setExpireTime(addTime(Duration.ofDays(1)))); + .setAppId(1L).setExpireTime(addTime(Duration.ofDays(1)).withNano(0))); orderMapper.insert(order); // 准备参数 PayOrderSubmitReqVO reqVO = randomPojo(PayOrderSubmitReqVO.class, o -> o.setId(order.getId()) @@ -419,11 +417,9 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { when(client.unifiedOrder(argThat(payOrderUnifiedReqDTO -> { assertNotNull(payOrderUnifiedReqDTO.getOutTradeNo()); assertThat(payOrderUnifiedReqDTO) -// .extracting("subject", "body", "notifyUrl", "returnUrl", "price", "expireTime") // TODO @芋艿:win11 下,时间不太准 - .extracting("subject", "body", "notifyUrl", "returnUrl", "price") + .extracting("subject", "body", "notifyUrl", "returnUrl", "price", "expireTime") .containsExactly(order.getSubject(), order.getBody(), "http://127.0.0.1/10", -// reqVO.getReturnUrl(), order.getPrice(), order.getExpireTime()); - reqVO.getReturnUrl(), order.getPrice()); + reqVO.getReturnUrl(), order.getPrice(), order.getExpireTime()); return true; }))).thenReturn(unifiedOrderResp); diff --git a/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ApproveServiceImplTest.java b/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ApproveServiceImplTest.java index 8b8de87..9399796 100644 --- a/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ApproveServiceImplTest.java +++ b/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ApproveServiceImplTest.java @@ -202,7 +202,7 @@ public class OAuth2ApproveServiceImplTest extends BaseDbUnitTest { String clientId = randomString(); // mock 数据 OAuth2ApproveDO approve = randomPojo(OAuth2ApproveDO.class).setUserId(userId) - .setUserType(userType).setClientId(clientId).setExpiresTime(LocalDateTimeUtil.offset(LocalDateTime.now(), 1L, ChronoUnit.DAYS)); + .setUserType(userType).setClientId(clientId).setExpiresTime(LocalDateTimeUtil.offset(LocalDateTime.now(), 1L, ChronoUnit.DAYS).withNano(0)); oauth2ApproveMapper.insert(approve); // 未过期 oauth2ApproveMapper.insert(ObjectUtil.clone(approve).setId(null) .setExpiresTime(LocalDateTimeUtil.offset(LocalDateTime.now(), -1L, ChronoUnit.DAYS))); // 已过期 @@ -211,8 +211,7 @@ public class OAuth2ApproveServiceImplTest extends BaseDbUnitTest { List result = oauth2ApproveService.getApproveList(userId, userType, clientId); // 断言 assertEquals(1, result.size()); - // TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。 - assertPojoEquals(approve, result.get(0), "expiresTime"); + assertPojoEquals(approve, result.get(0)); } @Test diff --git a/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2CodeServiceImplTest.java b/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2CodeServiceImplTest.java index cba9d3e..8e05da0 100644 --- a/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2CodeServiceImplTest.java +++ b/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2CodeServiceImplTest.java @@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2CodeDO; import cn.iocoder.yudao.module.system.dal.mysql.oauth2.OAuth2CodeMapper; import org.assertj.core.util.Lists; import org.junit.jupiter.api.Test; +import org.mockito.MockedStatic; import org.springframework.context.annotation.Import; import jakarta.annotation.Resource; @@ -20,6 +21,8 @@ import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.OAUTH2_CODE_EXPIRE; import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.OAUTH2_CODE_NOT_EXISTS; import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.CALLS_REAL_METHODS; +import static org.mockito.Mockito.mockStatic; /** * {@link OAuth2CodeServiceImpl} 的单元测试类 @@ -44,20 +47,25 @@ class OAuth2CodeServiceImplTest extends BaseDbUnitTest { List scopes = Lists.newArrayList("read", "write"); String redirectUri = randomString(); String state = randomString(); + LocalDateTime now = LocalDateTime.now().withNano(0); // 调用 - OAuth2CodeDO codeDO = oauth2CodeService.createAuthorizationCode(userId, userType, clientId, - scopes, redirectUri, state); + OAuth2CodeDO codeDO; + try (MockedStatic mockedTime = mockStatic(LocalDateTime.class, CALLS_REAL_METHODS)) { + mockedTime.when(LocalDateTime::now).thenReturn(now); + codeDO = oauth2CodeService.createAuthorizationCode(userId, userType, clientId, + scopes, redirectUri, state); + } // 断言 OAuth2CodeDO dbCodeDO = oauth2CodeMapper.selectByCode(codeDO.getCode()); - // TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。 - assertPojoEquals(codeDO, dbCodeDO, "expiresTime", "createTime", "updateTime", "deleted"); + assertPojoEquals(codeDO, dbCodeDO, "createTime", "updateTime", "deleted"); assertEquals(userId, codeDO.getUserId()); assertEquals(userType, codeDO.getUserType()); assertEquals(clientId, codeDO.getClientId()); assertEquals(scopes, codeDO.getScopes()); assertEquals(redirectUri, codeDO.getRedirectUri()); assertEquals(state, codeDO.getState()); + assertEquals(now.plusMinutes(5), codeDO.getExpiresTime()); assertFalse(DateUtils.isExpired(codeDO.getExpiresTime())); } @@ -88,13 +96,12 @@ class OAuth2CodeServiceImplTest extends BaseDbUnitTest { String code = "test_code"; // mock 数据 OAuth2CodeDO codeDO = randomPojo(OAuth2CodeDO.class).setCode(code) - .setExpiresTime(LocalDateTime.now().plusDays(1)); + .setExpiresTime(LocalDateTime.now().plusDays(1).withNano(0)); oauth2CodeMapper.insert(codeDO); // 调用 OAuth2CodeDO result = oauth2CodeService.consumeAuthorizationCode(code); - // TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。 - assertPojoEquals(codeDO, result, "expiresTime"); + assertPojoEquals(codeDO, result); assertNull(oauth2CodeMapper.selectByCode(code)); } diff --git a/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2TokenServiceImplTest.java b/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2TokenServiceImplTest.java index 487667f..5bd6e85 100644 --- a/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2TokenServiceImplTest.java +++ b/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2TokenServiceImplTest.java @@ -19,6 +19,7 @@ import cn.iocoder.yudao.module.system.service.user.AdminUserService; import jakarta.annotation.Resource; import org.assertj.core.util.Lists; import org.junit.jupiter.api.Test; +import org.mockito.MockedStatic; import org.springframework.context.annotation.Import; import org.springframework.test.context.bean.override.mockito.MockitoBean; @@ -31,6 +32,8 @@ import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServic import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.CALLS_REAL_METHODS; +import static org.mockito.Mockito.mockStatic; import static org.mockito.Mockito.when; /** @@ -65,6 +68,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { Integer userType = UserTypeEnum.ADMIN.getValue(); String clientId = randomString(); List scopes = Lists.newArrayList("read", "write"); + LocalDateTime now = LocalDateTime.now().withNano(0); // mock 方法 OAuth2ClientDO clientDO = randomPojo(OAuth2ClientDO.class).setClientId(clientId) .setAccessTokenValiditySeconds(30).setRefreshTokenValiditySeconds(60); @@ -74,11 +78,14 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { when(adminUserService.getUser(userId)).thenReturn(user); // 调用 - OAuth2AccessTokenDO accessTokenDO = oauth2TokenService.createAccessToken(userId, userType, clientId, scopes); + OAuth2AccessTokenDO accessTokenDO; + try (MockedStatic mockedTime = mockStatic(LocalDateTime.class, CALLS_REAL_METHODS)) { + mockedTime.when(LocalDateTime::now).thenReturn(now); + accessTokenDO = oauth2TokenService.createAccessToken(userId, userType, clientId, scopes); + } // 断言访问令牌 OAuth2AccessTokenDO dbAccessTokenDO = oauth2AccessTokenMapper.selectByAccessToken(accessTokenDO.getAccessToken()); - // TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。 - assertPojoEquals(accessTokenDO, dbAccessTokenDO, "expiresTime", "createTime", "updateTime", "deleted"); + assertPojoEquals(accessTokenDO, dbAccessTokenDO, "createTime", "updateTime", "deleted"); assertEquals(userId, accessTokenDO.getUserId()); assertEquals(userType, accessTokenDO.getUserType()); assertEquals(2, accessTokenDO.getUserInfo().size()); @@ -86,14 +93,15 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { assertEquals(user.getDeptId().toString(), accessTokenDO.getUserInfo().get("deptId")); assertEquals(clientId, accessTokenDO.getClientId()); assertEquals(scopes, accessTokenDO.getScopes()); + assertEquals(now.plusSeconds(30), accessTokenDO.getExpiresTime()); assertFalse(DateUtils.isExpired(accessTokenDO.getExpiresTime())); // 断言访问令牌的缓存 OAuth2AccessTokenDO redisAccessTokenDO = oauth2AccessTokenRedisDAO.get(accessTokenDO.getAccessToken()); - // TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。 - assertPojoEquals(accessTokenDO, redisAccessTokenDO, "expiresTime", "createTime", "updateTime", "deleted"); + assertPojoEquals(accessTokenDO, redisAccessTokenDO, "createTime", "updateTime", "deleted"); // 断言刷新令牌 OAuth2RefreshTokenDO refreshTokenDO = oauth2RefreshTokenMapper.selectList().get(0); assertPojoEquals(accessTokenDO, refreshTokenDO, "id", "expiresTime", "createTime", "updateTime", "deleted"); + assertEquals(now.plusSeconds(60), refreshTokenDO.getExpiresTime()); assertFalse(DateUtils.isExpired(refreshTokenDO.getExpiresTime())); } @@ -153,6 +161,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { // 准备参数 String refreshToken = randomString(); String clientId = randomString(); + LocalDateTime now = LocalDateTime.now().withNano(0); // mock 方法 OAuth2ClientDO clientDO = randomPojo(OAuth2ClientDO.class).setClientId(clientId) .setAccessTokenValiditySeconds(30); @@ -174,28 +183,31 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { when(adminUserService.getUser(refreshTokenDO.getUserId())).thenReturn(user); // 调用 - OAuth2AccessTokenDO newAccessTokenDO = oauth2TokenService.refreshAccessToken(refreshToken, clientId); + OAuth2AccessTokenDO newAccessTokenDO; + try (MockedStatic mockedTime = mockStatic(LocalDateTime.class, CALLS_REAL_METHODS)) { + mockedTime.when(LocalDateTime::now).thenReturn(now); + newAccessTokenDO = oauth2TokenService.refreshAccessToken(refreshToken, clientId); + } // 断言,老的访问令牌被删除 assertNull(oauth2AccessTokenMapper.selectByAccessToken(accessTokenDO.getAccessToken())); assertNull(oauth2AccessTokenRedisDAO.get(accessTokenDO.getAccessToken())); // 断言,新的访问令牌 OAuth2AccessTokenDO dbAccessTokenDO = oauth2AccessTokenMapper.selectByAccessToken(newAccessTokenDO.getAccessToken()); - // TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。 - assertPojoEquals(newAccessTokenDO, dbAccessTokenDO, "expiresTime", "createTime", "updateTime", "deleted"); + assertPojoEquals(newAccessTokenDO, dbAccessTokenDO, "createTime", "updateTime", "deleted"); assertPojoEquals(newAccessTokenDO, refreshTokenDO, "id", "expiresTime", "createTime", "updateTime", "deleted", "creator", "updater"); + assertEquals(now.plusSeconds(30), newAccessTokenDO.getExpiresTime()); assertFalse(DateUtils.isExpired(newAccessTokenDO.getExpiresTime())); // 断言,新的访问令牌的缓存 OAuth2AccessTokenDO redisAccessTokenDO = oauth2AccessTokenRedisDAO.get(newAccessTokenDO.getAccessToken()); - // TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。 - assertPojoEquals(newAccessTokenDO, redisAccessTokenDO, "expiresTime", "createTime", "updateTime", "deleted"); + assertPojoEquals(newAccessTokenDO, redisAccessTokenDO, "createTime", "updateTime", "deleted"); } @Test public void testGetAccessToken() { // mock 数据(访问令牌) OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class) - .setExpiresTime(LocalDateTime.now().plusDays(1)); + .setExpiresTime(LocalDateTime.now().plusDays(1).withNano(0)); oauth2AccessTokenMapper.insert(accessTokenDO); // 准备参数 String accessToken = accessTokenDO.getAccessToken(); @@ -203,11 +215,9 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { // 调用 OAuth2AccessTokenDO result = oauth2TokenService.getAccessToken(accessToken); // 断言 - // TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。 - assertPojoEquals(accessTokenDO, result, "expiresTime", "createTime", "updateTime", "deleted", + assertPojoEquals(accessTokenDO, result, "createTime", "updateTime", "deleted", "creator", "updater"); - // TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。 - assertPojoEquals(accessTokenDO, oauth2AccessTokenRedisDAO.get(accessToken), "expiresTime", "createTime", "updateTime", "deleted", + assertPojoEquals(accessTokenDO, oauth2AccessTokenRedisDAO.get(accessToken), "createTime", "updateTime", "deleted", "creator", "updater"); } @@ -253,7 +263,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { public void testCheckAccessToken_success() { // mock 数据(访问令牌) OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class) - .setExpiresTime(LocalDateTime.now().plusDays(1)); + .setExpiresTime(LocalDateTime.now().plusDays(1).withNano(0)); oauth2AccessTokenMapper.insert(accessTokenDO); // 准备参数 String accessToken = accessTokenDO.getAccessToken(); @@ -261,8 +271,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { // 调研,并断言 OAuth2AccessTokenDO result = oauth2TokenService.getAccessToken(accessToken); // 断言 - // TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。 - assertPojoEquals(accessTokenDO, result, "expiresTime", "createTime", "updateTime", "deleted", + assertPojoEquals(accessTokenDO, result, "createTime", "updateTime", "deleted", "creator", "updater"); } @@ -276,7 +285,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { public void testRemoveAccessToken_success() { // mock 数据(访问令牌) OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class) - .setExpiresTime(LocalDateTime.now().plusDays(1)); + .setExpiresTime(LocalDateTime.now().plusDays(1).withNano(0)); oauth2AccessTokenMapper.insert(accessTokenDO); // mock 数据(刷新令牌) OAuth2RefreshTokenDO refreshTokenDO = randomPojo(OAuth2RefreshTokenDO.class) @@ -284,8 +293,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { oauth2RefreshTokenMapper.insert(refreshTokenDO); // 调用 OAuth2AccessTokenDO result = oauth2TokenService.removeAccessToken(accessTokenDO.getAccessToken()); - // TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。 - assertPojoEquals(accessTokenDO, result, "expiresTime", "createTime", "updateTime", "deleted", + assertPojoEquals(accessTokenDO, result, "createTime", "updateTime", "deleted", "creator", "updater"); // 断言数据 assertNull(oauth2AccessTokenMapper.selectByAccessToken(accessTokenDO.getAccessToken())); @@ -301,7 +309,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { o.setUserId(10L); o.setUserType(1); o.setClientId("test_client"); - o.setExpiresTime(LocalDateTime.now().plusDays(1)); + o.setExpiresTime(LocalDateTime.now().plusDays(1).withNano(0)); }); oauth2AccessTokenMapper.insert(dbAccessToken); // 测试 userId 不匹配 @@ -323,8 +331,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { // 断言 assertEquals(1, pageResult.getTotal()); assertEquals(1, pageResult.getList().size()); - // TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。 - assertPojoEquals(dbAccessToken, pageResult.getList().get(0), "expiresTime"); + assertPojoEquals(dbAccessToken, pageResult.getList().get(0)); } } -- libgit2 0.21.4