Package test.com.example.GWTOAuthLoginDemo

Source Code of test.com.example.GWTOAuthLoginDemo.TestGWTOAuthLoginDemo

package test.com.example.GWTOAuthLoginDemo;

import static org.junit.Assert.*;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.log4j.BasicConfigurator;
import org.junit.Before;
import org.junit.Test;

import com.example.GWTOAuthLoginDemo.client.model.SocialUser;
import com.example.GWTOAuthLoginDemo.client.util.ClientUtils;
import com.google.gson.Gson;

import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class TestGWTOAuthLoginDemo
{
    private final static Log logger=LogFactory.getLog(TestGWTOAuthLoginDemo.class);
   
    @Before
    public void init() throws Exception
    {
        BasicConfigurator.configure();
        logger.info("info");
        logger.debug("debug");
        logger.error("error");
    }
   
    private static Map<String,String> parseQueryString(String qs)
    {
        String[] ps = qs.split("&");
        Map<String,String> map = new HashMap<String,String>();
       
        for (String p: ps )
        {
            String k = p.split("=")[0];
            String v = p.split("=")[1];
            map.put(k,v);
        }
        return map;
    }
    private String getQueryStringValue(String qs,String name)
    {
        Map<String,String> map = parseQueryString(qs);
        return map.get(name);
       
    }
    @Test
    public void testParseQuerystring()
    {
        final String qs = "oauth_token=A%3D1x1guZLgszvoOvDDCPQv5IqVYCnXel6NbQD_kKDremCtN66sgW5HbMPE.pTerRvJK4ogR1x1kmvqgU1fMylh_npk3KiHoWPfFLRTd3burE8WJaLVwqoMGljIw_FNXd.ITMjBsWoTRMkB5.sLRWT93GC3cMIOiob66Gonmu2KjnsU8v4V_qu5cKRyVQkAvY96K5n7igfRgX7A_enqUwmSe0tBlAbrOquWn5fv60z16iMqSeMB46E9sUaaf4Lag1GRPdzuIZMzC1pcnOfkQMglf1f7ozPJNSVO7On7dKn5UQ3kUnDMpkiT4_9WJSTIkJyYt_H1u4IegB2U8XdfWcZSbxWuBGDB3N0Ov2tY67ZKai.8lLE7uq_oRyqSEm3TtdCLkJEf73._MfRGYK1oWwxN7Nxs_VEcPq5OGd_TH49xeA6.mkv8jOrX.6hk67zuZAkmt2jRbLeB5N0u3bF5FKNMYJs6qtn_HtvGPQRBJMUJxftA49mmCKWENrybwIb8JZWE8cQnt63f.Nf_vlCwaamTOvX6cEFtcOGSb4gQrMtSb3J_opa28MycJIqsLSn045_eT7AyQHWlDuwN1CNjCGFYevlJ.qkatETNfAQ4ZjDrU1SxZVE5bxRedRmSSAuXr.DF49HpmYa4RFa3bbbn2V1DYolSHoqPrbCpxda1cYkCBHTtOyAJxIk970kxQKu_bbBtCLq4FizQ_X8j9Equ3g9kLrAFHS94eQ--&oauth_token_secret=0914f988577ec39419b887957ea815ce6a7bad4c&oauth_expires_in=3600&oauth_session_handle=AKOZulCqpibrGHWn_Ka7mY_W1T6LsxP.eQS01FB.LNCQvF62NA--&oauth_authorization_expires_in=793071275&xoauth_yahoo_guid=AWTCXFJYJJH77BHW4HFOUMS5SA";

        Map<String,String> map = parseQueryString(qs);
        Set<String> keys = map.keySet();
        for (String k: keys)
        {
            System.out.println(k + "=" + map.get(k));
        }
        String guid = getQueryStringValue(qs,"oauth_token_secret");
        System.out.println("GUID: " + guid);
    }
   
    @Test
    public void testRepalceGUID()
    {
        String url = ClientUtils.getProctedResourceUrl(4);
        System.out.println(url);
        String guid="uZLgszvoOvDDCPQv5Iq";
        url = url.replace("<GUID>",guid);
        System.out.println(url);
       
    }
   
    @Test
    public void testParseYahooProfileJson()
    {
        String json =
            "{"
                + "\"profile\": {"
                + "\"guid\": \"ECUFIYO7BLY5FOAPEQDC3Y\","
                + "\"birthYear\": 1969,"
                + "\"displayAge\": 43,"
                + "\"gender\": \"M\","
                + "\"nickname\": \"jdoe\""
                + "}"
                + "}";
        Gson gson = new Gson();
        try
        {
            System.out.println(json);
            logger.error(gson);
            JSONParser jsonParser = new JSONParser();
            Object obj = jsonParser.parse(json);
            JSONObject jsonObject = (JSONObject) obj;
            json = (String) jsonObject.get("profile").toString();
            logger.info("JSON: " + json);
            SocialUser user = gson.fromJson(json,SocialUser.class);
            logger.info("guid: " + user.getGuid());
            logger.info("nickname: " + user.getNickname());
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
   
    @Test
    public void testInstagramProtectedResourceUrl()
    {
        String url = ClientUtils.getProctedResourceUrl(ClientUtils.INSTAGRAM);
        logger.info("url: " + url);
        String userId = "1234";
        String accessToken = "29329329difjldjfdjldldf";
        String formattedUrl = String.format(url,userId,accessToken);
        logger.info("formatted: " + formattedUrl);
       
    }
   
    @Test
    public void testInstagramTokenExtraction()
    {
        String accessTokenJson =
            "{"
                + "\"access_token\":\"263534762.8e52bda.5a03053395cc4d8ebb47a3ac43f45da2\","
                + "\"user\":"
                + "{"
                + "\"id\":\"263534762\""
                + "\"username\":\"mmqx1219\","
                + "\"full_name\":\"mmqx2219\""
                + "}"
             + "}";
       
        logger.info(accessTokenJson);
        JSONParser jsonParser = new JSONParser();
        try
        {
            Object obj = jsonParser.parse(accessTokenJson);
            JSONObject jsonObj = (JSONObject) obj;
            String accessToken = (String) jsonObj.get("access_token");
            logger.info("Access Token: " + accessToken);
            jsonObj = (JSONObject) jsonObj.get("user");
            String userName = (String) jsonObj.get("username");
            logger.info("Usrname: " + userName);
            String userId = (String) jsonObj.get("id");
            logger.info("userId: " + userId);
            String fullName = (String) jsonObj.get("full_name");
            logger.info("Full name: " + fullName);
           
        } catch (ParseException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
       
    }
}
TOP

Related Classes of test.com.example.GWTOAuthLoginDemo.TestGWTOAuthLoginDemo

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.