1 package com.foxinmy.weixin4j.wxa.api;
2
3 import static org.junit.Assert.assertEquals;
4
5 import java.util.Properties;
6
7 import org.junit.Test;
8
9 import com.foxinmy.weixin4j.cache.FileCacheStorager;
10 import com.foxinmy.weixin4j.model.Token;
11 import com.foxinmy.weixin4j.model.WeixinAccount;
12 import com.foxinmy.weixin4j.wxa.WeixinAppFacade;
13
14 public class WxaApiTest {
15
16 @Test
17 public void testGetRequestUriStringObjectArrayDefault() {
18 WxaApi wxaApi = new WxaApi() {
19 };
20 String uri = wxaApi.getRequestUri("sns_jscode2session", "myAppId", "mySecret", "myJsCode", "myGrantType");
21 assertEquals("https://api.weixin.qq.com/sns/jscode2session?appid=myAppId&secret=mySecret&js_code=myJsCode&grant_type=myGrantType", uri);
22 }
23
24 @Test
25 public void testGetRequestUriStringObjectArrayOverride() {
26 Properties properties = new Properties();
27 properties.setProperty("api_base_url", "https://api.example.com");
28 WxaApi wxaApi = new WxaApi(properties) {
29 };
30 assertEquals(
31 "https://api.example.com/sns/jscode2session?appid=myAppId&secret=mySecret&js_code=myJsCode&grant_type=myGrantType",
32 wxaApi.getRequestUri("sns_jscode2session", "myAppId", "mySecret", "myJsCode", "myGrantType")
33 );
34 }
35
36 @Test
37 public void testFacadeWithProperties() {
38 Properties properties = new Properties();
39 properties.setProperty("api_base_url", "https://api.example.com");
40 properties.setProperty("api_cgi_url", "{api_base_url}/cgi-bin2");
41
42 WeixinAppFacade wxaFacade = new WeixinAppFacade(new WeixinAccount("myAppId", "mySecret"), new FileCacheStorager<Token>(), properties);
43
44 assertEquals("https://api.example.com", wxaFacade.getLoginApi().getRequestUri("api_base_url"));
45
46 assertEquals(
47 "https://api.example.com/sns/jscode2session?appid=myAppId&secret=mySecret&js_code=myJsCode&grant_type=myGrantType",
48 wxaFacade.getLoginApi().getRequestUri("sns_jscode2session", "myAppId", "mySecret", "myJsCode", "myGrantType")
49 );
50
51 assertEquals(
52 "https://api.example.com/cgi-bin2/wxopen/template/library/list?access_token=myAccessToken",
53 wxaFacade.getTemplateApi().getRequestUri("wxopen_template_library_list", "myAccessToken")
54 );
55 }
56
57 }