|
|
package com.xkl.inneruse.qrcode;
|
|
|
|
|
|
import com.xkl.Constants;
|
|
|
import com.xkl.EncodeTools;
|
|
|
import com.xkl.HttpTools;
|
|
|
import com.xkl.TokenTest;
|
|
|
import org.json.JSONObject;
|
|
|
import org.junit.Assert;
|
|
|
import org.junit.Test;
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* Created by zhaoyue on 2017/3/11.
|
|
|
*/
|
|
|
public class QrCodeTest {
|
|
|
private static final String URL_USER = Constants.URL_PREFIX + "/userInfo";
|
|
|
|
|
|
|
|
|
public static final String URL_GETQR_WITHACCPWD = Constants.URL_PREFIX + "/qrcode/getQrWithAccPwd";
|
|
|
public static final String URL_GETQR_WITHTOKEN = Constants.URL_PREFIX + "/qrcode/getQrWithToken";
|
|
|
public static final String URL_GETQR_WITHOPNEID = Constants.URL_PREFIX + "/qrcode/getQrWithOpenId";
|
|
|
public static final String URL_GETUSRINFO_WITHQR = Constants.URL_PREFIX + "/qrcode/getUsrInfoWithQr";
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 1 .使用用户名密码得到qrcode
|
|
|
*/
|
|
|
@Test
|
|
|
public void testGetQrWithAccPwd() {
|
|
|
Map<String, String> params = new HashMap<String, String>();
|
|
|
params.put("username", Constants.USR_ACC);
|
|
|
params.put("password", EncodeTools.encode("MD5", Constants.USR_PWD));
|
|
|
params.put("t", HttpTools.getNow());
|
|
|
String response = HttpTools.requestByMap(URL_GETQR_WITHACCPWD, "GET", params);
|
|
|
System.out.println(response);
|
|
|
Assert.assertTrue(hasQrCode(response));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 2 .使用openid得到qrcode
|
|
|
*/
|
|
|
@Test
|
|
|
public void testGetQrWithOpenid() {
|
|
|
Map<String, String> params = new HashMap<String, String>();
|
|
|
params.put("openId", Constants.USR_OPENID);
|
|
|
params.put("openIdType", Constants.USR_OPENID_TYPE);
|
|
|
params.put("t", HttpTools.getNow());
|
|
|
params.put("type", Constants.KEY_ID);
|
|
|
params.put("sign", HttpTools.getSign(params));
|
|
|
String response = HttpTools.requestByMap(URL_GETQR_WITHOPNEID, "GET", params);
|
|
|
System.out.println(response);
|
|
|
Assert.assertTrue(hasQrCode(response));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 3 .使用token得到qrcode
|
|
|
*/
|
|
|
@Test
|
|
|
public void testGetQrWithToken() {
|
|
|
String token = TokenTest.loginAndGetToken(Constants.USR_ACC, Constants.USR_PWD);
|
|
|
Map<String, String> params = new HashMap<String, String>();
|
|
|
params.put("t", HttpTools.getNow());
|
|
|
params.put("type", Constants.KEY_ID);
|
|
|
params.put("sign", HttpTools.getSign(params));
|
|
|
String response = HttpTools.requestByMapWithToken(URL_GETQR_WITHTOKEN, "GET", params, token);
|
|
|
System.out.println(response);
|
|
|
Assert.assertTrue(hasQrCode(response));
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 4 .使用qrcode查询个人信息
|
|
|
*/
|
|
|
@Test
|
|
|
public void testGetUsrInfoWithQr() {
|
|
|
String qrcode = getQrCode();
|
|
|
Map<String, String> params = new HashMap<String, String>();
|
|
|
params.put("qrcode", qrcode);
|
|
|
params.put("t", HttpTools.getNow());
|
|
|
String response = HttpTools.requestByMap(URL_GETUSRINFO_WITHQR, "GET", params);
|
|
|
System.out.println(response);
|
|
|
Assert.assertTrue(hasSuccCode(response));
|
|
|
}
|
|
|
|
|
|
|
|
|
private boolean hasQrCode(String responseStr) {
|
|
|
try {
|
|
|
JSONObject res = new JSONObject(responseStr);
|
|
|
String qrcode = res.getJSONObject("content").getString("qrcode");
|
|
|
Assert.assertNotEquals("qrcode", "");
|
|
|
Assert.assertNotEquals("qrcode", null);
|
|
|
} catch (Exception e) {
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
private boolean hasSuccCode(String responseStr) {
|
|
|
try {
|
|
|
JSONObject res = new JSONObject(responseStr);
|
|
|
int code = res.getInt("code");
|
|
|
Assert.assertEquals(code, 100);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
private String getQrCode() {
|
|
|
Map<String, String> params = new HashMap<String, String>();
|
|
|
params.put("username", Constants.USR_ACC);
|
|
|
params.put("password", EncodeTools.encode("MD5", Constants.USR_PWD));
|
|
|
params.put("t", HttpTools.getNow());
|
|
|
String response = HttpTools.requestByMap(URL_GETQR_WITHACCPWD, "GET", params);
|
|
|
String qrcode = null;
|
|
|
try {
|
|
|
JSONObject res = new JSONObject(response);
|
|
|
qrcode = res.getJSONObject("content").getString("qrcode");
|
|
|
} catch (Exception e) {
|
|
|
return null;
|
|
|
}
|
|
|
return qrcode;
|
|
|
}
|
|
|
|
|
|
|
|
|
} |
...
|
...
|
|