Package org.orgama.server.auth

Source Code of org.orgama.server.auth.HttpFacebookUserServiceFailureTest$Module

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.orgama.server.auth;

import com.google.inject.Inject;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletRequest;
import org.jukito.JukitoRunner;
import org.jukito.TestSingleton;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
import org.junit.runner.RunWith;
import org.orgama.server.IResourceLoader;
import org.orgama.server.Orgama;
import org.orgama.server.auth.source.FacebookUserServiceViaHttp;
import org.orgama.server.config.OrgamaTestEnvModule;
import org.orgama.server.config.OrgamaTstModule;
import org.orgama.server.mock.MockResourceLoader;
import org.orgama.server.mock.MockServletRequestResponse;
import org.orgama.shared.ICookieHandler;

/**
*
* @author kguthrie
*/
@RunWith(JukitoRunner.class)
public class HttpFacebookUserServiceFailureTest {

  private static final String applicationId = "TestApplicationId";
  private static final String fakeJSessionId = "FakeCookieId";
  private static final String accessToken = "TestAccessToken";
  private static final String applicationSecretId = "TestApplicationSecretId";
  private static final String fakeCode = "fakeCode";

  public static class Module extends OrgamaTstModule {

    @Override
    protected void bindTestEnvironment() {

      bindConstant()
          .annotatedWith(IFacebookUserService.ApplictionId.class)
          .to(applicationId);

      OrgamaTestEnvModule module = new OrgamaTestEnvModule(
          getEmailAddress(),
          getAuthServiceName(),
          isAuthenticated(),
          isAdmin()) {
        @Override
        protected void bindFacebookUserService() {
          bind(IFacebookUserService.class)
              .to(FacebookUserServiceViaHttp.class)
              .in(TestSingleton.class);
        }
      };

      install(module);

    }
  }

  @Inject IResourceLoader ifaceResourceLoader;
  @Inject IFacebookUserService userService;
  @Inject ICookieHandler cookeiHandler;
  @Inject HttpServletRequest ifaceRequest;
 
  private MockServletRequestResponse requestResponse;
  private MockResourceLoader resourceLoader;
 
  public HttpFacebookUserServiceFailureTest() {
  }

  @BeforeClass
  public static void setUpClass() {
  }

  @AfterClass
  public static void tearDownClass() {
  }
 
  @Before
  public void setUp() {
    resourceLoader = (MockResourceLoader)ifaceResourceLoader;
    requestResponse = (MockServletRequestResponse)ifaceRequest;
    cookeiHandler.setValue("JSESSIONID", fakeJSessionId);
  }

  @After
  public void tearDown() {
  }

  @Test
  public void testAccessTokenFailures() {
    assertNull(userService.getAccessToken());
   
    requestResponse.addRequestQueryParam("code", fakeCode);
   
    assertNull(userService.getAccessToken());
   
    requestResponse.addRequestQueryParam("state", fakeJSessionId);
   
    String accessTokenUrl = String.format(
        "%s/r/facebook/access_token" +
            "?client_id=%s&redirect_uri=%s" +
            "&client_secret=%s&code=%s",
        Orgama.getDomain(),
        applicationId,
        "http%3A%2F%2F127.0.0.1%3A8888%2F"
        FacebookUserServiceViaHttp.DEFAULT_APP_SECRET_ID,
        fakeCode);
   
    assertNull(userService.getAccessToken());
   
    cookeiHandler.setValue("JSESSIONID", "notCorrect");
   
    assertNull(userService.getAccessToken());
   
    cookeiHandler.setValue("JSESSIONID", fakeJSessionId);
   
    resourceLoader.addUrlContent(accessTokenUrl,
        "something that has no accessToken");
   
    assertNull(userService.getAccessToken());
  }
 
  @Test
  public void testGetUserIdFailures() {
    assertNull(userService.getUserId(null));
   
   
    assertNull(userService.getUserId(accessToken));
   
   
    String meUrl = String.format("%s/r/facebook/me?access_token=%s",
        Orgama.getDomain(), accessToken);

    resourceLoader.addUrlContent(meUrl,
        "{something wrong\"}");
   
   
    assertNull(userService.getUserId(accessToken));
   
   
  }
}
TOP

Related Classes of org.orgama.server.auth.HttpFacebookUserServiceFailureTest$Module

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.