### Question:
SyncSessionClientImpl implements SyncSessionClient { public JSONObject authorizedRequest(@NonNull Uri uri, @Nullable Map<String, String> properties, @Nullable Map<String, String> postParameters, @NonNull ConnectionParameters.RequestMethod method) throws AuthorizationException { try { ProviderConfiguration providerConfiguration = mOktaState.getProviderConfiguration(); TokenResponse tokenResponse = mOktaState.getTokenResponse(); AuthorizedRequest request = createAuthorizedRequest(uri, properties, postParameters, method, providerConfiguration, tokenResponse); mCurrentRequest.set(new WeakReference<>(request)); return request.executeRequest(mHttpClient); } catch (OktaRepository.EncryptionException e) { throw AuthorizationException.EncryptionErrors.byEncryptionException(e); } } SyncSessionClientImpl(OIDCConfig oidcConfig, OktaState oktaState,
                          OktaHttpClient httpClient); JSONObject authorizedRequest(@NonNull Uri uri,
                                        @Nullable Map<String, String> properties,
                                        @Nullable Map<String, String> postParameters,
                                        @NonNull ConnectionParameters.RequestMethod method); @Override UserInfo getUserProfile(); @Override IntrospectInfo introspectToken(String token, String tokenType); @Override Boolean revokeToken(String token); @Override Tokens refreshToken(); @Override Tokens getTokens(); @Override boolean isAuthenticated(); @Override void clear(); @Override void cancel(); @Override void migrateTo(EncryptionManager manager);  }### Answer:
@Test public void authorizedRequest() throws InterruptedException, AuthorizationException, JSONException, OktaRepository.EncryptionException { mOktaState.save(mTokenResponse); mEndPoint.enqueueUserInfoSuccess(); Uri uri = Uri.parse(mProviderConfig.userinfo_endpoint); HashMap<String, String> properties = new HashMap<>(); properties.put("state", CUSTOM_STATE); AuthorizedRequest request = mSyncSessionClientImpl.createAuthorizedRequest(uri, properties, null, ConnectionParameters.RequestMethod.GET, mOktaState.getProviderConfiguration(), mOktaState.getTokenResponse()); JSONObject result = request.executeRequest(mHttpClient); RecordedRequest recordedRequest = mEndPoint.takeRequest(); assertThat(recordedRequest.getHeader("state"), is(CUSTOM_STATE)); assertThat(recordedRequest.getHeader("Authorization"), is("Bearer " + ACCESS_TOKEN)); assertThat(recordedRequest.getHeader("Accept"), is(ConnectionParameters.JSON_CONTENT_TYPE)); assertThat(recordedRequest.getPath(), equalTo("/userinfo")); assertNotNull(result); assertEquals("John Doe", result.getString("name")); assertEquals("Jimmy", result.getString("nickname")); }