### Question:
FreeIpaV1Controller implements FreeIpaV1Endpoint { @Override @CheckPermissionByResourceCrn(action = AuthorizationResourceAction.DESCRIBE_ENVIRONMENT) @Retryable(value = RetryableFreeIpaClientException.class, maxAttemptsExpression = RetryableFreeIpaClientException.MAX_RETRIES_EXPRESSION, backoff = @Backoff(delayExpression = RetryableFreeIpaClientException.DELAY_EXPRESSION, multiplierExpression = RetryableFreeIpaClientException.MULTIPLIER_EXPRESSION)) public String getRootCertificate(@ResourceCrn String environmentCrn) { String accountId = crnService.getCurrentAccountId(); try { return freeIpaRootCertificateService.getRootCertificate(environmentCrn, accountId); } catch (FreeIpaClientException e) { throw new FreeIpaClientExceptionWrapper(e); } }  @Override @CheckPermissionByResourceObject DescribeFreeIpaResponse create(@ResourceObject @Valid CreateFreeIpaRequest request); @Override @CheckPermissionByResourceObject void attachChildEnvironment(@ResourceObject @Valid AttachChildEnvironmentRequest request); @Override @CheckPermissionByResourceObject void detachChildEnvironment(@ResourceObject @Valid DetachChildEnvironmentRequest request); @Override @CheckPermissionByResourceCrn(action = AuthorizationResourceAction.DESCRIBE_ENVIRONMENT) DescribeFreeIpaResponse describe(@ResourceCrn String environmentCrn); @Override @DisableCheckPermissions List<ListFreeIpaResponse> list(); @Override @CheckPermissionByResourceCrn(action = AuthorizationResourceAction.DESCRIBE_ENVIRONMENT) @Retryable(value = RetryableFreeIpaClientException.class, maxAttemptsExpression = RetryableFreeIpaClientException.MAX_RETRIES_EXPRESSION, backoff = @Backoff(delayExpression = RetryableFreeIpaClientException.DELAY_EXPRESSION, multiplierExpression = RetryableFreeIpaClientException.MULTIPLIER_EXPRESSION)) HealthDetailsFreeIpaResponse healthDetails(@ResourceCrn String environmentCrn); @Override @CheckPermissionByResourceCrn(action = AuthorizationResourceAction.DESCRIBE_ENVIRONMENT) @Retryable(value = RetryableFreeIpaClientException.class, maxAttemptsExpression = RetryableFreeIpaClientException.MAX_RETRIES_EXPRESSION, backoff = @Backoff(delayExpression = RetryableFreeIpaClientException.DELAY_EXPRESSION, multiplierExpression = RetryableFreeIpaClientException.MULTIPLIER_EXPRESSION)) String getRootCertificate(@ResourceCrn String environmentCrn); @Override @CheckPermissionByResourceCrn(action = AuthorizationResourceAction.DELETE_ENVIRONMENT) void delete(@ResourceCrn String environmentCrn, boolean forced); @Override @CheckPermissionByResourceObject OperationStatus cleanup(@ResourceObject @Valid CleanupRequest request); @Override @InternalOnly OperationStatus internalCleanup(@Valid CleanupRequest request, @AccountId String accountId); @Override @CheckPermissionByResourceObject OperationStatus rebootInstances(@ResourceObject @Valid RebootInstancesRequest request); @Override @CheckPermissionByResourceObject OperationStatus repairInstances(@ResourceObject @Valid RepairInstancesRequest request); @Override @CheckPermissionByResourceCrn(action = AuthorizationResourceAction.START_ENVIRONMENT) void start(@ResourceCrn @NotEmpty String environmentCrn); @Override @CheckPermissionByResourceCrn(action = AuthorizationResourceAction.STOP_ENVIRONMENT) void stop(@ResourceCrn @NotEmpty String environmentCrn); @Override @CheckPermissionByResourceCrn(action = AuthorizationResourceAction.EDIT_ENVIRONMENT) String registerWithClusterProxy(@ResourceCrn @NotEmpty String environmentCrn); @Override @CheckPermissionByResourceCrn(action = AuthorizationResourceAction.EDIT_ENVIRONMENT) void deregisterWithClusterProxy(@ResourceCrn @NotEmpty String environmentCrn);  }### Answer:
@Test void getRootCertificate() throws Exception { underTest.getRootCertificate(ENVIRONMENT_CRN); verify(rootCertificateService, times(1)).getRootCertificate(ENVIRONMENT_CRN, ACCOUNT_ID); }