@LargeTest public void testExecutePostOpenGraphRequest() { executePostOpenGraphRequest(); }
@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); }
@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); }
@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); }
@MediumTest @LargeTest public void testStaticExecuteMeAsync() { final AccessToken accessToken = getAccessTokenForSharedUser(); class MeCallback extends ExpectSuccessCallback implements GraphRequest.GraphJSONObjectCallback { @Override public void onCompleted(JSONObject me, GraphResponse response) { assertNotNull(me); assertEquals(accessToken.getUserId(), me.optString("id")); RequestTests.validateMeResponse(accessToken, response); onCompleted(response); } } runOnBlockerThread(new Runnable() { @Override public void run() { GraphRequest.newMeRequest(accessToken, new MeCallback()).executeAsync(); } }, false); waitAndAssertSuccess(1); }
@LargeTest public void testBatchTimeoutCantBeNegative() { try { new GraphRequestBatch().setTimeout(-1); fail(); } catch (IllegalArgumentException ignored) { /* no op */ } }
@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); }
@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 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 testExecuteBatchWithZeroRequestsThrows() throws Exception { try { TestGraphRequestAsyncTask task = new TestGraphRequestAsyncTask(); task.executeOnBlockerThread(); waitAndAssertSuccessOrRethrow(1); fail("expected IllegalArgumentException"); } catch (IllegalArgumentException ignored) { /* no op */ } }
@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 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 testRequestWithNoTokenFails() { GraphRequest request = new GraphRequest(null, "me"); GraphResponse response = request.executeAndWait(); assertNotNull(response.getError()); }
@LargeTest public void testExecuteMyFriendsRequest() { GraphRequest request = GraphRequest.newMyFriendsRequest(AccessToken.getCurrentAccessToken(), null); GraphResponse response = request.executeAndWait(); validateMyFriendsResponse(response); }
@LargeTest public void testExecuteRequestMe() { GraphRequest request = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(), null); GraphResponse response = request.executeAndWait(); validateMeResponse(AccessToken.getCurrentAccessToken(), response); }
@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 testSharedUserDoesntCreateUnnecessaryUsers() throws Throwable { TestUserManager testUserManager = createTestUserManager(); AccessToken accessToken = testUserManager.getAccessTokenForSharedUser(null); assertNotNull(accessToken); // Note that this test is somewhat brittle in that the count of test users could change for // external reasons while the test is running. For that reason it may not be appropriate for // an automated test suite, and could be run only when testing changes to TestSession. int startingUserCount = countTestUsers(); accessToken = testUserManager.getAccessTokenForSharedUser(null); assertNotNull(accessToken); int endingUserCount = countTestUsers(); assertEquals(startingUserCount, endingUserCount); }
@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)); }