### Question:
CloudFoundryOAuth2Client implements OAuth2Client { @Override public Mono<DeleteOAuth2ClientResponse> deleteClient(DeleteOAuth2ClientRequest request) { return uaaClient.clients() .delete(mapDeleteRequest(request)) .map(this::mapDeleteResponse); } CloudFoundryOAuth2Client(UaaClient uaaClient); @Override Mono<CreateOAuth2ClientResponse> createClient(CreateOAuth2ClientRequest request); @Override Mono<DeleteOAuth2ClientResponse> deleteClient(DeleteOAuth2ClientRequest request);  }### Answer:
@Test void deleteClient() { DeleteClientRequest clientsRequest = DeleteClientRequest.builder() .clientId("test-client") .identityZoneSubdomain("subdomain") .identityZoneId("zoneId") .build(); DeleteClientResponse clientsResponse = DeleteClientResponse.builder() .clientId("test-client") .name("test-name") .scopes("auth1", "auth2") .authorities("auth1", "auth2") .authorizedGrantTypes(GrantType.CLIENT_CREDENTIALS, GrantType.AUTHORIZATION_CODE, GrantType.PASSWORD, GrantType.IMPLICIT, GrantType.REFRESH_TOKEN) .build(); given(clients.delete(clientsRequest)) .willReturn(Mono.just(clientsResponse)); DeleteOAuth2ClientRequest request = DeleteOAuth2ClientRequest.builder() .clientId("test-client") .identityZoneSubdomain("subdomain") .identityZoneId("zoneId") .build(); StepVerifier.create(oAuth2Client.deleteClient(request)) .assertNext(response -> assertResponse(response.getClientId(), response.getClientName(), response.getScopes(), response.getAuthorities(), response.getGrantTypes())) .verifyComplete(); }