diff --git a/weixin-java-miniapp/pom.xml b/weixin-java-miniapp/pom.xml
index d2722652f..66e859dd0 100644
--- a/weixin-java-miniapp/pom.xml
+++ b/weixin-java-miniapp/pom.xml
@@ -115,6 +115,7 @@
org.apache.maven.plugins
maven-surefire-plugin
+ false
src/test/resources/testng.xml
diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaSubscribeService.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaSubscribeService.java
index 1dbb9f64c..d1ecf1c83 100644
--- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaSubscribeService.java
+++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaSubscribeService.java
@@ -122,7 +122,7 @@ public interface WxMaSubscribeService {
* 激活与更新服务卡片
*
* 详情请见: 激活与更新服务卡片
- * 接口url格式: POST https://api.weixin.qq.com/wxa/setusernotify?access_token=ACCESS_TOKEN
+ * 接口url格式: POST https://api.weixin.qq.com/wxa/set_user_notify?access_token=ACCESS_TOKEN
*
*
* @param request 请求参数
@@ -135,7 +135,7 @@ public interface WxMaSubscribeService {
* 更新服务卡片扩展信息
*
* 详情请见: 更新服务卡片扩展信息
- * 接口url格式: POST https://api.weixin.qq.com/wxa/setusernotifyext?access_token=ACCESS_TOKEN
+ * 接口url格式: POST https://api.weixin.qq.com/wxa/set_user_notifyext?access_token=ACCESS_TOKEN
*
*
* @param request 请求参数
@@ -148,7 +148,7 @@ public interface WxMaSubscribeService {
* 查询服务卡片状态
*
* 详情请见: 查询服务卡片状态
- * 接口url格式: POST https://api.weixin.qq.com/wxa/getusernotify?access_token=ACCESS_TOKEN
+ * 接口url格式: POST https://api.weixin.qq.com/wxa/get_user_notify?access_token=ACCESS_TOKEN
*
*
* @param request 请求参数
diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java
index 1054f7df2..e16cd982a 100644
--- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java
+++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java
@@ -370,13 +370,13 @@ public class WxMaApiUrlConstants {
String SUBSCRIBE_MSG_SEND_URL = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send";
/** 激活与更新服务卡片 */
- String SERVICE_NOTIFY_SET_URL = "https://api.weixin.qq.com/wxa/setusernotify";
+ String SERVICE_NOTIFY_SET_URL = "https://api.weixin.qq.com/wxa/set_user_notify";
/** 更新服务卡片扩展信息 */
- String SERVICE_NOTIFY_SET_EXT_URL = "https://api.weixin.qq.com/wxa/setusernotifyext";
+ String SERVICE_NOTIFY_SET_EXT_URL = "https://api.weixin.qq.com/wxa/set_user_notifyext";
/** 查询服务卡片状态 */
- String SERVICE_NOTIFY_GET_URL = "https://api.weixin.qq.com/wxa/getusernotify";
+ String SERVICE_NOTIFY_GET_URL = "https://api.weixin.qq.com/wxa/get_user_notify";
}
public interface User {
diff --git a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaSubscribeServiceImplUrlTest.java b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaSubscribeServiceImplUrlTest.java
new file mode 100644
index 000000000..1b4c09d5f
--- /dev/null
+++ b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaSubscribeServiceImplUrlTest.java
@@ -0,0 +1,55 @@
+package cn.binarywang.wx.miniapp.api.impl;
+
+import cn.binarywang.wx.miniapp.api.WxMaService;
+import cn.binarywang.wx.miniapp.api.WxMaSubscribeService;
+import cn.binarywang.wx.miniapp.bean.WxMaGetUserNotifyRequest;
+import cn.binarywang.wx.miniapp.bean.WxMaServiceNotifyExtRequest;
+import cn.binarywang.wx.miniapp.bean.WxMaServiceNotifyRequest;
+import me.chanjar.weixin.common.error.WxErrorException;
+import org.mockito.Mockito;
+import org.testng.annotations.Test;
+
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+public class WxMaSubscribeServiceImplUrlTest {
+
+ @Test
+ public void setUserNotifyUsesOfficialEndpoint() throws WxErrorException {
+ WxMaService service = successService();
+
+ subscribeService(service).setUserNotify(WxMaServiceNotifyRequest.builder().build());
+
+ verify(service).post(eq("https://api.weixin.qq.com/wxa/set_user_notify"), anyString());
+ }
+
+ @Test
+ public void setUserNotifyExtUsesOfficialEndpoint() throws WxErrorException {
+ WxMaService service = successService();
+
+ subscribeService(service).setUserNotifyExt(WxMaServiceNotifyExtRequest.builder().build());
+
+ verify(service).post(eq("https://api.weixin.qq.com/wxa/set_user_notifyext"), anyString());
+ }
+
+ @Test
+ public void getUserNotifyUsesOfficialEndpoint() throws WxErrorException {
+ WxMaService service = successService();
+
+ subscribeService(service).getUserNotify(WxMaGetUserNotifyRequest.builder().build());
+
+ verify(service).post(eq("https://api.weixin.qq.com/wxa/get_user_notify"), anyString());
+ }
+
+ private WxMaSubscribeService subscribeService(WxMaService service) {
+ return new WxMaSubscribeServiceImpl(service);
+ }
+
+ private WxMaService successService() throws WxErrorException {
+ WxMaService service = Mockito.mock(WxMaService.class);
+ when(service.post(anyString(), anyString())).thenReturn("{\"errcode\":0,\"errmsg\":\"ok\"}");
+ return service;
+ }
+}
diff --git a/weixin-java-miniapp/src/test/resources/testng.xml b/weixin-java-miniapp/src/test/resources/testng.xml
new file mode 100644
index 000000000..b34a4415d
--- /dev/null
+++ b/weixin-java-miniapp/src/test/resources/testng.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+