### Question:
AuthorizationApiClient extends BaseClient implements IAMApi { HttpUrl createAuthorizeUrl(String clientId, String redirectUri, String scopes, String codeChallenge) { HttpUrl.Builder builder = baseBuilder() .addEncodedPathSegments(BASE_PATH) .addEncodedPathSegment("authorize") .addQueryParameter("response_type", "code") .addQueryParameter("client_id", clientId) .addQueryParameter("redirect_uri", redirectUri) .addQueryParameter("scope", scopes); if(codeChallenge != null) { builder.addQueryParameter("code_challenge_method", "S256") .addEncodedQueryParameter("code_challenge", codeChallenge); } return builder.build(); } AuthorizationApiClient(OAuthConfig config);   AuthorizationApiClient(OAuthConfig config, OkHttpClient redirectClient, OkHttpClient noRedirectClient); String authorize(String clientId, String redirectUri, String scopes, String codeChallenge); String authorize(String clientId, String redirectUri, String scopes); String retrieveAuthCode(String action, String sessionId, String sessionData);  }### Answer:
@Test public void testCreateAuthorizeUrl_whenCodeChallengeProvided_shouldAppendToUrlAccordingly() { HttpUrl url = apiClient.createAuthorizeUrl("client-id", "http: assertThat(url.queryParameter("code_challenge")).isEqualTo("code-challenge"); assertThat(url.queryParameter("code_challenge_method")).isEqualTo("S256"); }