Java Code Examples for com.facebook.internal.SessionTracker#stopTracking()

The following examples show how to use com.facebook.internal.SessionTracker#stopTracking() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SessionTrackerTests.java    From FacebookImageShareIntent with MIT License 5 votes vote down vote up
@SmallTest
@MediumTest
@LargeTest
// Tests the SessionDelegate while tracking the active session
public void testDelegateWithActiveSession() throws Exception {
    Session.setActiveSession(null);
    final SessionStatusCallbackRecorder statusRecorder =
            new SessionStatusCallbackRecorder();
    final MockTokenCachingStrategy cache = new MockTokenCachingStrategy(null, 0);
    final ScriptedSession session =
            createScriptedSessionOnBlockerThread(cache);

    session.addAuthorizeResult(TOKEN_STR, Collections.<String>emptyList(), AccessTokenSource.TEST_USER);

    final SessionTracker tracker = new SessionTracker(getActivity(), statusRecorder);
    Session.setActiveSession(session);

    session.openForRead(new Session.OpenRequest(getActivity()));

    statusRecorder.waitForCall(session, SessionState.OPENING, null);
    statusRecorder.waitForCall(session, SessionState.OPENED, null);
    assertNotNull("Session should be open", tracker.getOpenSession());
    assertEquals("Access Token check", TOKEN_STR, tracker.getOpenSession().getAccessToken());
    tracker.getOpenSession().close();
    statusRecorder.waitForCall(session, SessionState.CLOSED, null);

    stall(STRAY_CALLBACK_WAIT_MILLISECONDS);
    tracker.stopTracking();
    statusRecorder.close();
}
 
Example 2
Source File: SessionTrackerTests.java    From FacebookImageShareIntent with MIT License 5 votes vote down vote up
@SmallTest
@MediumTest
@LargeTest
// Tests the SessionDelegate while tracking a passed in session from the constructor
public void testDelegateWithSessionInConstructor() throws Exception {
    final SessionStatusCallbackRecorder statusRecorder =
            new SessionStatusCallbackRecorder();
    final MockTokenCachingStrategy cache = new MockTokenCachingStrategy(null, 0);
    final ScriptedSession session =
            createScriptedSessionOnBlockerThread(cache);

    session.addAuthorizeResult(TOKEN_STR, Collections.<String>emptyList(), AccessTokenSource.TEST_USER);

    SessionTracker tracker = new SessionTracker(getActivity(), statusRecorder, session);

    session.openForRead(new Session.OpenRequest(getActivity()));

    statusRecorder.waitForCall(session, SessionState.OPENING, null);
    statusRecorder.waitForCall(session, SessionState.OPENED, null);
    assertNotNull("Session should be open", tracker.getOpenSession());
    assertEquals("Access Token check", TOKEN_STR, tracker.getOpenSession().getAccessToken());
    tracker.getOpenSession().close();
    statusRecorder.waitForCall(session, SessionState.CLOSED, null);

    stall(STRAY_CALLBACK_WAIT_MILLISECONDS);
    tracker.stopTracking();
    statusRecorder.close();
}
 
Example 3
Source File: SessionTrackerTests.java    From FacebookImageShareIntent with MIT License 4 votes vote down vote up
@SmallTest
@MediumTest
@LargeTest
// Tests the SessionDelegate while tracking the active session and then a new session
public void testDelegateWithActiveSessionThenNewSession() throws Exception {
    Session.setActiveSession(null);
    final SessionStatusCallbackRecorder statusRecorder = new SessionStatusCallbackRecorder();
    final MockTokenCachingStrategy cache = new MockTokenCachingStrategy(null, 0);
    final ScriptedSession session = createScriptedSessionOnBlockerThread(cache);

    session.addAuthorizeResult(TOKEN_STR, Collections.<String>emptyList(), AccessTokenSource.TEST_USER);

    SessionTracker tracker = new SessionTracker(getActivity(), statusRecorder);
    Session.setActiveSession(session);

    session.openForRead(new Session.OpenRequest(getActivity()));

    statusRecorder.waitForCall(session, SessionState.OPENING, null);
    statusRecorder.waitForCall(session, SessionState.OPENED, null);
    assertNotNull("Session should be open", tracker.getOpenSession());
    assertEquals("Access Token check", TOKEN_STR, tracker.getOpenSession().getAccessToken());
    tracker.getOpenSession().close();
    statusRecorder.waitForCall(session, SessionState.CLOSED, null);

    final ScriptedSession newSession = createScriptedSessionOnBlockerThread(cache);
    newSession.addAuthorizeResult(TOKEN_STR, Collections.<String>emptyList(), AccessTokenSource.TEST_USER);

    tracker.setSession(newSession);
    assertNull("Session should not be open", tracker.getOpenSession());
    newSession.openForRead(new Session.OpenRequest(getActivity()));

    statusRecorder.waitForCall(newSession, SessionState.OPENING, null);
    statusRecorder.waitForCall(newSession, SessionState.OPENED, null);
    assertNotNull("Session should be open", tracker.getOpenSession());
    assertEquals("Access Token check", TOKEN_STR, tracker.getOpenSession().getAccessToken());
    tracker.getOpenSession().close();
    statusRecorder.waitForCall(newSession, SessionState.CLOSED, null);

    stall(STRAY_CALLBACK_WAIT_MILLISECONDS);
    tracker.stopTracking();
    statusRecorder.close();
}
 
Example 4
Source File: SessionTrackerTests.java    From FacebookImageShareIntent with MIT License 4 votes vote down vote up
@SmallTest
@MediumTest
@LargeTest
// Tests the SessionDelegate while tracking a new session and then an active session
public void testDelegateWithSessionThenActiveSession() throws Exception {
    Session.setActiveSession(null);
    final SessionStatusCallbackRecorder statusRecorder = new SessionStatusCallbackRecorder();
    final MockTokenCachingStrategy cache = new MockTokenCachingStrategy(null, 0);
    final ScriptedSession session = createScriptedSessionOnBlockerThread(cache);

    session.addAuthorizeResult(TOKEN_STR, Collections.<String>emptyList(), AccessTokenSource.TEST_USER);

    final SessionTracker tracker = new SessionTracker(getActivity(), statusRecorder, session);

    session.openForRead(new Session.OpenRequest(getActivity()));

    statusRecorder.waitForCall(session, SessionState.OPENING, null);
    statusRecorder.waitForCall(session, SessionState.OPENED, null);
    assertNotNull("Session should be open", tracker.getOpenSession());
    assertEquals("Access Token check", TOKEN_STR, tracker.getOpenSession().getAccessToken());
    tracker.getOpenSession().close();
    statusRecorder.waitForCall(session, SessionState.CLOSED, null);

    final ScriptedSession newSession = createScriptedSessionOnBlockerThread(cache);
    newSession.addAuthorizeResult(TOKEN_STR, Collections.<String>emptyList(), AccessTokenSource.TEST_USER);

    // need to run on the blocker thread so that when we register the 
    // BroadcastReceivers, the handler gets run on the right thread
    runOnBlockerThread(new Runnable() {
        public void run() {
            tracker.setSession(null);
            Session.setActiveSession(newSession);
        }
    }, true);

    assertNull("Session should not be open", tracker.getOpenSession());
    newSession.openForRead(new Session.OpenRequest(getActivity()));

    statusRecorder.waitForCall(newSession, SessionState.OPENING, null);
    statusRecorder.waitForCall(newSession, SessionState.OPENED, null);
    assertNotNull("Session should be open", tracker.getOpenSession());
    assertEquals("Access Token check", TOKEN_STR, tracker.getOpenSession().getAccessToken());
    tracker.getOpenSession().close();
    statusRecorder.waitForCall(newSession, SessionState.CLOSED, null);

    stall(STRAY_CALLBACK_WAIT_MILLISECONDS);
    tracker.stopTracking();
    statusRecorder.close();
}