1
0
mirror of synced 2025-12-21 16:38:01 +08:00

🎨 #1542 小程序模块配置类增加Redisson的实现,解决分布式锁问题

* 增加Redisson的实现,解决分布式锁问题

* key值重复添加了appid。

Co-authored-by: 袁启勋 <xun.yuan@infoship.cn>
This commit is contained in:
yuanqixun
2020-05-03 21:29:43 +08:00
committed by GitHub
parent 424a835c45
commit 98aef34fdb
3 changed files with 229 additions and 0 deletions

View File

@@ -0,0 +1,72 @@
package cn.binarywang.wx.miniapp.config.impl;
import cn.binarywang.wx.miniapp.config.WxMaConfig;
import lombok.SneakyThrows;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.redisson.config.TransportMode;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
/**
* @author yqx
* @date 2020/5/3
*/
public class WxMaRedissonConfigImplTest {
WxMaDefaultConfigImpl wxMaConfig;
@BeforeMethod
public void setUp() {
Config config = new Config();
config.useSingleServer().setAddress("redis://127.0.0.1:6379")
.setDatabase(0);
config.setTransportMode(TransportMode.NIO);
RedissonClient redisson = Redisson.create(config);
wxMaConfig = new WxMaRedissonConfigImpl(redisson);
wxMaConfig.setAppid("appid12345678");
wxMaConfig.updateAccessToken("accessToken", 5); //有效期5秒
wxMaConfig.updateJsapiTicket("jsapiTicket", 5);
wxMaConfig.updateCardApiTicket("cardApiTicket", 5);
}
@SneakyThrows
@Test
public void testGetAccessToken() {
String accessToken = wxMaConfig.getAccessToken();
Assert.assertEquals(accessToken, "accessToken");
Assert.assertFalse(wxMaConfig.isAccessTokenExpired());
Thread.sleep(6000);//休眠6s
Assert.assertTrue(wxMaConfig.isAccessTokenExpired());
}
@SneakyThrows
@Test
public void testGetJsapiTicket() {
String jsapiTicket = wxMaConfig.getJsapiTicket();
Assert.assertEquals(jsapiTicket, "jsapiTicket");
Assert.assertFalse(wxMaConfig.isJsapiTicketExpired());
Thread.sleep(6000);//休眠6s
Assert.assertTrue(wxMaConfig.isJsapiTicketExpired());
}
@SneakyThrows
@Test
public void testGetCardApiTicket() {
String cardApiTicket = wxMaConfig.getCardApiTicket();
Assert.assertEquals(cardApiTicket, "cardApiTicket");
Assert.assertFalse(wxMaConfig.isCardApiTicketExpired());
Thread.sleep(6000);//休眠6s
Assert.assertTrue(wxMaConfig.isCardApiTicketExpired());
}
@Test
public void testIsAccessTokenExpired() {
Assert.assertFalse(wxMaConfig.isAccessTokenExpired());
wxMaConfig.expireAccessToken();
Assert.assertTrue(wxMaConfig.isAccessTokenExpired());
}
}