View Javadoc
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  }