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

davidzollo pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new e7309efb4a [Fix][Connector-V2] Add Pulsar multi-table sink replica 
option (#11168)
e7309efb4a is described below

commit e7309efb4aa09886680da60112bbf62cdcf53bad
Author: Daniel <[email protected]>
AuthorDate: Thu Jun 25 21:47:58 2026 +0800

    [Fix][Connector-V2] Add Pulsar multi-table sink replica option (#11168)
---
 .../pulsar/sink/PulsarSinkFactoryTest.java         | 31 ++++++++++++++++++----
 1 file changed, 26 insertions(+), 5 deletions(-)

diff --git 
a/seatunnel-connectors-v2/connector-pulsar/src/test/java/org/apache/seatunnel/connectors/seatunnel/pulsar/sink/PulsarSinkFactoryTest.java
 
b/seatunnel-connectors-v2/connector-pulsar/src/test/java/org/apache/seatunnel/connectors/seatunnel/pulsar/sink/PulsarSinkFactoryTest.java
index 69ba2888f2..4859f2aa39 100644
--- 
a/seatunnel-connectors-v2/connector-pulsar/src/test/java/org/apache/seatunnel/connectors/seatunnel/pulsar/sink/PulsarSinkFactoryTest.java
+++ 
b/seatunnel-connectors-v2/connector-pulsar/src/test/java/org/apache/seatunnel/connectors/seatunnel/pulsar/sink/PulsarSinkFactoryTest.java
@@ -18,6 +18,8 @@
 package org.apache.seatunnel.connectors.seatunnel.pulsar.sink;
 
 import org.apache.seatunnel.api.configuration.ReadonlyConfig;
+import org.apache.seatunnel.api.configuration.util.OptionRule;
+import org.apache.seatunnel.api.options.SinkConnectorCommonOptions;
 import org.apache.seatunnel.api.table.catalog.CatalogTable;
 import org.apache.seatunnel.api.table.catalog.Column;
 import org.apache.seatunnel.api.table.catalog.PhysicalColumn;
@@ -25,7 +27,9 @@ import org.apache.seatunnel.api.table.catalog.TableIdentifier;
 import org.apache.seatunnel.api.table.catalog.TableSchema;
 import org.apache.seatunnel.api.table.factory.TableSinkFactoryContext;
 import org.apache.seatunnel.api.table.type.BasicType;
+import 
org.apache.seatunnel.connectors.seatunnel.pulsar.config.PulsarSinkOptions;
 
+import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
 import java.util.ArrayList;
@@ -33,16 +37,14 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
+/** Verifies the Pulsar sink factory metadata required by connector 
specification checks. */
 public class PulsarSinkFactoryTest {
 
     @Test
     public void testCreateSinkRequiresTopicForSingleTable() {
         PulsarSinkFactory factory = new PulsarSinkFactory();
 
-        assertThrows(
+        Assertions.assertThrows(
                 IllegalArgumentException.class,
                 () ->
                         factory.createSink(
@@ -54,13 +56,32 @@ public class PulsarSinkFactoryTest {
     public void testCreateSinkAllowsMissingTopicForMultiTable() {
         PulsarSinkFactory factory = new PulsarSinkFactory();
 
-        assertDoesNotThrow(
+        Assertions.assertDoesNotThrow(
                 () ->
                         factory.createSink(
                                 new TableSinkFactoryContext(
                                         null, config(), 
getClass().getClassLoader())));
     }
 
+    /** Ensures the factory still exposes the documented Pulsar identifier. */
+    @Test
+    void factoryIdentifier() {
+        PulsarSinkFactory pulsarSinkFactory = new PulsarSinkFactory();
+        Assertions.assertEquals(
+                PulsarSinkOptions.IDENTIFIER, 
pulsarSinkFactory.factoryIdentifier());
+    }
+
+    /** Guards the option metadata that connector specification checks 
validate in CI. */
+    @Test
+    void optionRuleContainsMultiTableReplica() {
+        PulsarSinkFactory pulsarSinkFactory = new PulsarSinkFactory();
+        OptionRule optionRule = pulsarSinkFactory.optionRule();
+        Assertions.assertTrue(
+                optionRule
+                        .getOptionalOptions()
+                        
.contains(SinkConnectorCommonOptions.MULTI_TABLE_SINK_REPLICA));
+    }
+
     private ReadonlyConfig config() {
         Map<String, Object> options = new HashMap<>();
         options.put("client.service-url", "pulsar://localhost:6650");

Reply via email to