@Override
    @SuppressWarnings("PMD.AvoidCatchingGenericException")
    protected Result verifyConnectivity(Map<String, Object> parameters) {
        ResultBuilder builder = ResultBuilder.withStatusAndScope(Result.Status.OK, Scope.CONNECTIVITY);

        try {
            GoogleSheetsConfiguration configuration = setProperties(new GoogleSheetsConfiguration(), parameters);
            GoogleSheetsClientFactory clientFactory = new BatchGoogleSheetsClientFactory();
            Sheets client = clientFactory.makeClient(configuration.getClientId(), configuration.getClientSecret(),
                    configuration.getScopesAsList(), configuration.getApplicationName(),
                    configuration.getRefreshToken(), configuration.getAccessToken());
            client.spreadsheets().get(Optional.ofNullable(parameters.get("spreadsheetId"))
                    .map(Object::toString)
                    .orElse(UUID.randomUUID().toString())).execute();
        } catch (Exception e) {
            ResultErrorBuilder errorBuilder
                    = ResultErrorBuilder.withCodeAndDescription(VerificationError.StandardCode.AUTHENTICATION, e.getMessage())
                            .detail("google_sheets_exception_message", e.getMessage())
                            .detail(VerificationError.ExceptionAttribute.EXCEPTION_CLASS, e.getClass().getName())
                            .detail(VerificationError.ExceptionAttribute.EXCEPTION_INSTANCE, e);

            builder.error(errorBuilder.build());
        }

        return builder.build();
    }
@Test
    public void testVerifyConnectivity() {
        Component component = context().getComponent("google-sheets");
        ComponentVerifierExtension verifier = component.getExtension(ComponentVerifierExtension.class)
                .orElseThrow(IllegalStateException::new);

        Map<String, Object> parameters = new HashMap<>();
        parameters.put("clientId", "l");
        parameters.put("clientSecret", "k");
        parameters.put("applicationName", "test");
        parameters.put("spreadsheetId", UUID.randomUUID().toString());

        ComponentVerifierExtension.Result result = verifier.verify(ComponentVerifierExtension.Scope.CONNECTIVITY, parameters);
        assertEquals(ComponentVerifierExtension.Result.Status.ERROR, result.getStatus());
    }