@LargeTest public void testExecutePostOpenGraphRequest() { executePostOpenGraphRequest(); }
@LargeTest public void testPostStatusUpdate() { JSONObject statusUpdate = createStatusUpdate(""); JSONObject retrievedStatusUpdate = postGetAndAssert( AccessToken.getCurrentAccessToken(), "me/feed", statusUpdate); assertEquals(statusUpdate.optString("message"), retrievedStatusUpdate.optString("message")); }
@LargeTest public void testImageNotCaching() throws IOException { String imgUrl = "https://graph.facebook.com/ryanseacrest/picture?type=large"; Bitmap bmp1 = readImage(imgUrl, false); Bitmap bmp2 = readImage(imgUrl, false); compareImages(bmp1, bmp2); }
@LargeTest public void testBatchTimeoutCantBeNegative() { try { new GraphRequestBatch().setTimeout(-1); fail(); } catch (IllegalArgumentException ignored) { /* no op */ } }
@LargeTest public void testCanGetAccessTokenForSharedUser() { TestUserManager testUserManager = createTestUserManager(); AccessToken accessToken = testUserManager.getAccessTokenForSharedUser(null); assertNotNull(accessToken); }
@LargeTest public void testCanGetAccessTokenForPrivateUser() { TestUserManager testUserManager = createTestUserManager(); AccessToken accessToken = testUserManager.getAccessTokenForPrivateUser(null); assertNotNull(accessToken); }
@LargeTest public void testCallbackIsCalled() { GraphRequest request = new GraphRequest(null, "4"); final ArrayList<Boolean> calledBack = new ArrayList<>(); request.setCallback(new GraphRequest.Callback() { @Override public void onCompleted(GraphResponse response) { calledBack.add(true); } }); GraphResponse response = request.executeAndWait(); assertNotNull(response); assertTrue(calledBack.size() == 1); }
@LargeTest public void testCallbacksAreCalled() { setBatchApplicationIdForTestApp(); ArrayList<GraphRequest> requests = new ArrayList<GraphRequest>(); final ArrayList<Boolean> calledBack = new ArrayList<Boolean>(); final int NUM_REQUESTS = 4; for (int i = 0; i < NUM_REQUESTS; ++i) { GraphRequest request = new GraphRequest(null, "4"); request.setCallback(new GraphRequest.Callback() { @Override public void onCompleted(GraphResponse response) { calledBack.add(true); } }); requests.add(request); } List<GraphResponse> responses = GraphRequest.executeBatchAndWait(requests); assertNotNull(responses); assertTrue(calledBack.size() == NUM_REQUESTS); }
@LargeTest public void testCanLaunchAsyncRequestFromUiThread() { GraphRequest request = GraphRequest.newPostRequest(null, "me/feeds", null, null); try { TestGraphRequestAsyncTask task = createAsyncTaskOnUiThread(request); assertNotNull(task); } catch (Throwable throwable) { assertNull(throwable); } }
@LargeTest public void testExecuteMyFriendsRequest() { GraphRequest request = GraphRequest.newMyFriendsRequest(AccessToken.getCurrentAccessToken(), null); GraphResponse response = request.executeAndWait(); validateMyFriendsResponse(response); }
@LargeTest public void testExecuteBatchWithZeroRequestsThrows() throws Exception { try { TestGraphRequestAsyncTask task = new TestGraphRequestAsyncTask(); task.executeOnBlockerThread(); waitAndAssertSuccessOrRethrow(1); fail("expected IllegalArgumentException"); } catch (IllegalArgumentException ignored) { /* no op */ } }
@LargeTest public void testExecuteWithNullRequestsThrows() throws Exception { try { TestGraphRequestAsyncTask task = new TestGraphRequestAsyncTask((GraphRequest[]) null); task.executeOnBlockerThread(); waitAndAssertSuccessOrRethrow(1); fail("expected NullPointerException"); } catch (NullPointerException ignored) { /* no op */ } }
@LargeTest public void testRequestWithNoTokenFails() { GraphRequest request = new GraphRequest(null, "me"); GraphResponse response = request.executeAndWait(); assertNotNull(response.getError()); }
@LargeTest public void testExecuteBatchWithNullRequestThrows() throws Exception { try { TestGraphRequestAsyncTask task = new TestGraphRequestAsyncTask( new GraphRequest[] { null }); task.executeOnBlockerThread(); waitAndAssertSuccessOrRethrow(1); fail("expected NullPointerException"); } catch (NullPointerException ignored) { /* no op */ } }
@LargeTest public void testTwoDifferentAccessTokens() { final AccessToken accessToken1 = getAccessTokenForSharedUser(); final AccessToken accessToken2 = getAccessTokenForSharedUser(SECOND_TEST_USER_TAG); GraphRequest request1 = GraphRequest.newMeRequest(accessToken1, null); GraphRequest request2 = GraphRequest.newMeRequest(accessToken2, null); List<GraphResponse> responses = GraphRequest.executeBatchAndWait(request1, request2); assertNotNull(responses); assertEquals(2, responses.size()); JSONObject user1 = responses.get(0).getJSONObject(); JSONObject user2 = responses.get(1).getJSONObject(); assertNotNull(user1); assertNotNull(user2); assertFalse(user1.optString("id").equals(user2.optString("id"))); assertEquals(accessToken1.getUserId(), user1.optString("id")); assertEquals(accessToken2.getUserId(), user2.optString("id")); }
@LargeTest public void testExecuteRequestMe() { GraphRequest request = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(), null); GraphResponse response = request.executeAndWait(); validateMeResponse(AccessToken.getCurrentAccessToken(), response); }
@LargeTest public void testBatchWithNoSessionAndValidSession() { final AccessToken accessToken = getAccessTokenForSharedUser(); GraphRequest request1 = new GraphRequest(null, "me"); GraphRequest request2 = new GraphRequest(accessToken, "me"); List<GraphResponse> responses = GraphRequest.executeBatchAndWait(request1, request2); assertNotNull(responses); assertEquals(2, responses.size()); JSONObject user1 = responses.get(0).getJSONObject(); JSONObject user2 = responses.get(1).getJSONObject(); assertNull(user1); assertNotNull(user2); assertEquals(accessToken.getUserId(), user2.optString("id")); }
@LargeTest public void testBatchWithValidSessionAndNoSession() { final AccessToken accessToken = getAccessTokenForSharedUser(); GraphRequest request1 = new GraphRequest(accessToken, "me"); GraphRequest request2 = new GraphRequest(null, "me"); List<GraphResponse> responses = GraphRequest.executeBatchAndWait(request1, request2); assertNotNull(responses); assertEquals(2, responses.size()); JSONObject user1 = responses.get(0).getJSONObject(); JSONObject user2 = responses.get(1).getJSONObject(); assertNotNull(user1); assertNull(user2); assertEquals(accessToken.getUserId(), user1.optString("id")); }
@LargeTest public void testBatchTimeoutIsApplied() { GraphRequest request = new GraphRequest(null, "me"); GraphRequestBatch batch = new GraphRequestBatch(request); // We assume 5 ms is short enough to fail batch.setTimeout(1); List<GraphResponse> responses = GraphRequest.executeBatchAndWait(batch); assertNotNull(responses); assertTrue(responses.size() == 1); GraphResponse response = responses.get(0); assertNotNull(response); assertNotNull(response.getError()); }
@MediumTest @LargeTest public void testStaticExecuteMyFriendsAsync() { final AccessToken accessToken = getAccessTokenForSharedUser(); class FriendsCallback extends ExpectSuccessCallback implements GraphRequest.GraphJSONArrayCallback { @Override public void onCompleted(JSONArray friends, GraphResponse response) { assertNotNull(friends); RequestTests.validateMyFriendsResponse(response); onCompleted(response); } } runOnBlockerThread(new Runnable() { @Override public void run() { GraphRequest.newMyFriendsRequest(accessToken, new FriendsCallback()).executeAsync(); } }, false); waitAndAssertSuccess(1); }