@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 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 testExecuteRequestMe() { GraphRequest request = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(), null); GraphResponse response = request.executeAndWait(); validateMeResponse(AccessToken.getCurrentAccessToken(), response); }
@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()); }
@LargeTest public void testExplicitDependencyDefaultsToOmitFirstResponse() { final AccessToken accessToken = getAccessTokenForSharedUser(); GraphRequest requestMe = GraphRequest.newMeRequest(accessToken, null); requestMe.setBatchEntryName("me_request"); GraphRequest requestMyFriends = GraphRequest.newMyFriendsRequest(accessToken, null); requestMyFriends.setBatchEntryDependsOn("me_request"); List<GraphResponse> responses = GraphRequest.executeBatchAndWait(requestMe, requestMyFriends); GraphResponse meResponse = responses.get(0); GraphResponse myFriendsResponse = responses.get(1); assertNull(meResponse.getJSONObject()); assertNotNull(myFriendsResponse.getJSONObject()); }
@LargeTest public void testBatchWithoutAppIDIsError() { GraphRequest request1 = new GraphRequest(null, "TourEiffel", null, null, new ExpectFailureCallback()); GraphRequest request2 = new GraphRequest(null, "SpaceNeedle", null, null, new ExpectFailureCallback()); GraphRequest.executeBatchAndWait(request1, request2); }
@LargeTest public void testExecuteSingleGetFailureCase() { final AccessToken accessToken = getAccessTokenForSharedUser(); GraphRequest request = new GraphRequest(accessToken, "-1", null, null, new ExpectFailureCallback()); TestGraphRequestAsyncTask task = new TestGraphRequestAsyncTask(request); task.executeOnBlockerThread(); // Wait on 2 signals: request and task will both signal. waitAndAssertSuccess(2); }
@LargeTest public void testCreateNonemptyRequestBatch() { GraphRequest meRequest = GraphRequest.newMeRequest(null, null); GraphRequestBatch batch = new GraphRequestBatch(new GraphRequest[] { meRequest, meRequest }); assertEquals(2, batch.size()); assertEquals(meRequest, batch.get(0)); assertEquals(meRequest, batch.get(1)); }
@Suppress @LargeTest public void testBatchWithoutAppIDIsError() throws Throwable { GraphRequest request1 = new GraphRequest(null, "TourEiffel", null, null, new ExpectFailureCallback()); GraphRequest request2 = new GraphRequest(null, "SpaceNeedle", null, null, new ExpectFailureCallback()); TestGraphRequestAsyncTask task = new TestGraphRequestAsyncTask(request1, request2); task.executeOnBlockerThread(); // Wait on 3 signals: request1, request2, and task will all signal. waitAndAssertSuccessOrRethrow(3); }
@MediumTest @LargeTest public void testShortTimeoutCausesFailure() { final AccessToken accessToken = getAccessTokenForSharedUser(); GraphRequest request = new GraphRequest(accessToken, "me/likes", null, null, new ExpectFailureCallback()); GraphRequestBatch requestBatch = new GraphRequestBatch(request); // 1 millisecond timeout should be too short for response from server. requestBatch.setTimeout(1); TestGraphRequestAsyncTask task = new TestGraphRequestAsyncTask(requestBatch); task.executeOnBlockerThread(); // Note: plus 1, because the overall async task signals as well. waitAndAssertSuccess(2); }