### Question:
ParseUser extends ParseObject { public static Task<Void> enableRevocableSessionInBackground() { ParseCorePlugins.getInstance().registerUserController( new NetworkUserController(ParsePlugins.get().restClient(), true)); return getCurrentUserController().getAsync(false).onSuccessTask(new Continuation<ParseUser, Task<Void>>() { @Override public Task<Void> then(Task<ParseUser> task) throws Exception { ParseUser user = task.getResult(); if (user == null) { return Task.forResult(null); } return user.upgradeToRevocableSessionAsync(); } }); } ParseUser(); static ParseQuery<ParseUser> getQuery(); boolean isAuthenticated(); @Override void remove(String key); String getSessionToken(); void setUsername(String username); String getUsername(); void setPassword(String password); void setEmail(String email); String getEmail(); boolean isNew(); @Override void put(String key, Object value); @SuppressWarnings("unchecked") @Override ParseUser fetch(); Task<Void> signUpInBackground(); void signUp(); void signUpInBackground(SignUpCallback callback); static Task<ParseUser> logInInBackground(String username, String password); static ParseUser logIn(String username, String password); static void logInInBackground(final String username, final String password,
      LogInCallback callback); static Task<ParseUser> becomeInBackground(String sessionToken); static ParseUser become(String sessionToken); static void becomeInBackground(final String sessionToken, LogInCallback callback); static ParseUser getCurrentUser(); static Task<Void> logOutInBackground(); static void logOutInBackground(LogOutCallback callback); static void logOut(); static Task<Void> requestPasswordResetInBackground(String email); static void requestPasswordReset(String email); static void requestPasswordResetInBackground(final String email,
      RequestPasswordResetCallback callback); @SuppressWarnings("unchecked") @Override ParseUser fetchIfNeeded(); static void registerAuthenticationCallback(
      String authType, AuthenticationCallback callback); static Task<ParseUser> logInWithInBackground(
      final String authType, final Map<String, String> authData); boolean isLinked(String authType); Task<Void> linkWithInBackground(
      String authType, Map<String, String> authData); Task<Void> unlinkFromInBackground(final String authType); static void enableAutomaticUser(); static Task<Void> enableRevocableSessionInBackground();  }### Answer:
@Test public void testEnableRevocableSessionInBackgroundWithNoCurrentUser() throws Exception { ParsePlugins mockPlugins = mock(ParsePlugins.class); when(mockPlugins.restClient()).thenReturn(null); ParsePlugins.set(mockPlugins); ParseCurrentUserController currentUserController = mock(ParseCurrentUserController.class); when(currentUserController.getAsync(anyBoolean())).thenReturn(Task.<ParseUser>forResult(null)); ParseCorePlugins.getInstance().registerCurrentUserController(currentUserController); ParseTaskUtils.wait(ParseUser.enableRevocableSessionInBackground()); verify(currentUserController, times(1)).getAsync(false); }