This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit ec0c38f4b1cc05af32b40e7b85e2fa5213899fd1
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Fri May 9 11:29:24 2025 +0200

    CAMEL-22013 - camel-api - Remove all usage of component.extension and the 
component.extension package content itself - Slack
    
    Signed-off-by: Andrea Cosentino <anco...@gmail.com>
---
 .../camel/component/slack/SlackComponent.java      |   1 -
 .../slack/SlackComponentVerifierExtension.java     | 127 ---------------------
 .../slack/SlackComponentVerifierExtensionTest.java | 126 --------------------
 3 files changed, 254 deletions(-)

diff --git 
a/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackComponent.java
 
b/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackComponent.java
index 71db2a269c1..73493f39f9c 100644
--- 
a/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackComponent.java
+++ 
b/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackComponent.java
@@ -39,7 +39,6 @@ public class SlackComponent extends HealthCheckComponent {
 
     public SlackComponent(CamelContext context) {
         super(context);
-        registerExtension(new SlackComponentVerifierExtension());
     }
 
     @Override
diff --git 
a/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackComponentVerifierExtension.java
 
b/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackComponentVerifierExtension.java
deleted file mode 100644
index ae7277082aa..00000000000
--- 
a/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackComponentVerifierExtension.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.slack;
-
-import java.util.Collections;
-import java.util.Map;
-
-import com.google.gson.Gson;
-import com.slack.api.Slack;
-import com.slack.api.SlackConfig;
-import com.slack.api.methods.response.conversations.ConversationsListResponse;
-import com.slack.api.model.ConversationType;
-import com.slack.api.util.http.SlackHttpClient;
-import com.slack.api.webhook.WebhookResponse;
-import 
org.apache.camel.component.extension.verifier.DefaultComponentVerifierExtension;
-import org.apache.camel.component.extension.verifier.ResultBuilder;
-import org.apache.camel.component.extension.verifier.ResultErrorBuilder;
-import org.apache.camel.component.slack.helper.SlackHelper;
-import org.apache.camel.component.slack.helper.SlackMessage;
-import org.apache.camel.util.ObjectHelper;
-
-public class SlackComponentVerifierExtension extends 
DefaultComponentVerifierExtension {
-
-    private static final Gson GSON = new Gson();
-
-    public SlackComponentVerifierExtension() {
-        this("slack");
-    }
-
-    public SlackComponentVerifierExtension(String scheme) {
-        super(scheme);
-    }
-
-    // *********************************
-    // Parameters validation
-    // *********************************
-    @Override
-    protected Result verifyParameters(Map<String, Object> parameters) {
-        ResultBuilder builder = 
ResultBuilder.withStatusAndScope(Result.Status.OK, Scope.PARAMETERS);
-
-        if (ObjectHelper.isEmpty(parameters.get("token")) && 
ObjectHelper.isEmpty(parameters.get("webhookUrl"))) {
-            
builder.error(ResultErrorBuilder.withCodeAndDescription(VerificationError.StandardCode.GENERIC,
-                    "You must specify a webhookUrl (for producer) or a token 
(for producer and consumer)")
-                    .parameterKey("webhookUrl").parameterKey("token").build());
-        }
-        if (ObjectHelper.isNotEmpty(parameters.get("token")) && 
ObjectHelper.isNotEmpty(parameters.get("webhookUrl"))) {
-            
builder.error(ResultErrorBuilder.withCodeAndDescription(VerificationError.StandardCode.GENERIC,
-                    "You must specify a webhookUrl (for producer) or a token 
(for producer and consumer). You can't specify both.")
-                    .parameterKey("webhookUrl").parameterKey("token").build());
-        }
-        return builder.build();
-    }
-
-    // *********************************
-    // Connectivity validation
-    // *********************************
-    @Override
-    protected Result verifyConnectivity(Map<String, Object> parameters) {
-        return ResultBuilder.withStatusAndScope(Result.Status.OK, 
Scope.CONNECTIVITY).error(parameters, this::verifyCredentials)
-                .build();
-    }
-
-    private void verifyCredentials(ResultBuilder builder, Map<String, Object> 
parameters) {
-        String webhookUrl = (String) parameters.get("webhookUrl");
-        String serverUrl = (String) parameters.get("serverUrl");
-
-        if (ObjectHelper.isNotEmpty(webhookUrl)) {
-
-            try {
-                // Build Helper object
-                SlackMessage slackMessage;
-                slackMessage = new SlackMessage();
-                slackMessage.setText("Test connection");
-
-                SlackConfig config = SlackHelper.createSlackConfig(serverUrl);
-                WebhookResponse response
-                        = Slack.getInstance(config, new 
SlackHttpClient()).send(webhookUrl, GSON.toJson(slackMessage));
-
-                // 2xx is OK, anything else we regard as failure
-                if (response.getCode() < 200 || response.getCode() > 299) {
-                    builder.error(ResultErrorBuilder
-                            
.withCodeAndDescription(VerificationError.StandardCode.AUTHENTICATION, "Invalid 
webhookUrl")
-                            .parameterKey("webhookUrl").build());
-                }
-            } catch (Exception e) {
-                builder.error(ResultErrorBuilder
-                        
.withCodeAndDescription(VerificationError.StandardCode.AUTHENTICATION, "Invalid 
webhookUrl")
-                        .parameterKey("webhookUrl").build());
-            }
-        }
-        if (ObjectHelper.isNotEmpty(parameters.get("token"))) {
-            String token = (String) parameters.get("token");
-
-            try {
-                SlackConfig config = SlackHelper.createSlackConfig(serverUrl);
-                ConversationsListResponse response = Slack.getInstance(config, 
new SlackHttpClient()).methods(token)
-                        .conversationsList(req -> req
-                                
.types(Collections.singletonList(ConversationType.PUBLIC_CHANNEL))
-                                .limit(1));
-
-                if (!response.isOk()) {
-                    builder.error(ResultErrorBuilder
-                            
.withCodeAndDescription(VerificationError.StandardCode.AUTHENTICATION, "Invalid 
token")
-                            .parameterKey("token").build());
-                }
-            } catch (Exception e) {
-                builder.error(ResultErrorBuilder
-                        
.withCodeAndDescription(VerificationError.StandardCode.AUTHENTICATION, "Invalid 
token")
-                        .parameterKey("token").build());
-            }
-        }
-    }
-}
diff --git 
a/components/camel-slack/src/test/java/org/apache/camel/component/slack/SlackComponentVerifierExtensionTest.java
 
b/components/camel-slack/src/test/java/org/apache/camel/component/slack/SlackComponentVerifierExtensionTest.java
deleted file mode 100644
index f3e8c2c969f..00000000000
--- 
a/components/camel-slack/src/test/java/org/apache/camel/component/slack/SlackComponentVerifierExtensionTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.slack;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.camel.Component;
-import org.apache.camel.component.extension.ComponentVerifierExtension;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class SlackComponentVerifierExtensionTest extends CamelTestSupport {
-
-    // *************************************************
-    // Tests (parameters)
-    // *************************************************
-    @Override
-    public boolean isUseRouteBuilder() {
-        return false;
-    }
-
-    @Test
-    public void testParametersWebhook() {
-        Component component = context().getComponent("slack");
-
-        ComponentVerifierExtension verifier
-                = 
component.getExtension(ComponentVerifierExtension.class).orElseThrow(IllegalStateException::new);
-
-        Map<String, Object> parameters = new HashMap<>();
-        parameters.put("webhookUrl", "l");
-
-        ComponentVerifierExtension.Result result = 
verifier.verify(ComponentVerifierExtension.Scope.PARAMETERS, parameters);
-
-        assertEquals(ComponentVerifierExtension.Result.Status.OK, 
result.getStatus());
-    }
-
-    @Test
-    public void testParametersToken() {
-        Component component = context().getComponent("slack");
-
-        ComponentVerifierExtension verifier
-                = 
component.getExtension(ComponentVerifierExtension.class).orElseThrow(IllegalStateException::new);
-
-        Map<String, Object> parameters = new HashMap<>();
-        parameters.put("token", "l");
-
-        ComponentVerifierExtension.Result result = 
verifier.verify(ComponentVerifierExtension.Scope.PARAMETERS, parameters);
-
-        assertEquals(ComponentVerifierExtension.Result.Status.OK, 
result.getStatus());
-    }
-
-    @Test
-    public void testParametersEmpty() {
-        Component component = context().getComponent("slack");
-
-        ComponentVerifierExtension verifier
-                = 
component.getExtension(ComponentVerifierExtension.class).orElseThrow(IllegalStateException::new);
-
-        Map<String, Object> parameters = new HashMap<>();
-
-        ComponentVerifierExtension.Result result = 
verifier.verify(ComponentVerifierExtension.Scope.PARAMETERS, parameters);
-
-        assertEquals(ComponentVerifierExtension.Result.Status.ERROR, 
result.getStatus());
-    }
-
-    @Test
-    public void testParametersWebhookUrlTokenBoth() {
-        Component component = context().getComponent("slack");
-
-        ComponentVerifierExtension verifier
-                = 
component.getExtension(ComponentVerifierExtension.class).orElseThrow(IllegalStateException::new);
-
-        Map<String, Object> parameters = new HashMap<>();
-        parameters.put("token", "l");
-        parameters.put("webhookUrl", "l");
-
-        ComponentVerifierExtension.Result result = 
verifier.verify(ComponentVerifierExtension.Scope.PARAMETERS, parameters);
-
-        assertEquals(ComponentVerifierExtension.Result.Status.ERROR, 
result.getStatus());
-    }
-
-    @Test
-    public void testConnectivityWebhook() {
-        Component component = context().getComponent("slack");
-        ComponentVerifierExtension verifier
-                = 
component.getExtension(ComponentVerifierExtension.class).orElseThrow(IllegalStateException::new);
-
-        Map<String, Object> parameters = new HashMap<>();
-        parameters.put("webhookUrl", "l");
-
-        ComponentVerifierExtension.Result result = 
verifier.verify(ComponentVerifierExtension.Scope.CONNECTIVITY, parameters);
-
-        assertEquals(ComponentVerifierExtension.Result.Status.ERROR, 
result.getStatus());
-    }
-
-    @Test
-    public void testConnectivityToken() {
-        Component component = context().getComponent("slack");
-        ComponentVerifierExtension verifier
-                = 
component.getExtension(ComponentVerifierExtension.class).orElseThrow(IllegalStateException::new);
-
-        Map<String, Object> parameters = new HashMap<>();
-        parameters.put("token", "l");
-
-        ComponentVerifierExtension.Result result = 
verifier.verify(ComponentVerifierExtension.Scope.CONNECTIVITY, parameters);
-
-        assertEquals(ComponentVerifierExtension.Result.Status.ERROR, 
result.getStatus());
-    }
-}

Reply via email to