From 4fb8f9d2d76a41ca5f0c59538f016a3d79706c2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Boschi?= Date: Wed, 21 Sep 2022 12:52:30 +0200 Subject: [PATCH 1/2] [fix][tests] Some unit tests are not run by the CI --- ....java => AdminApiDelayedDeliveryTest.java} | 2 +- ...va => AdminApiMaxUnackedMessagesTest.java} | 2 +- ...AdminApiSchemaValidationEnforcedTest.java} | 30 +++++++++++++------ ...tion.java => TlsHostVerificationTest.java} | 2 +- .../client/api/TlsProducerConsumerBase.java | 2 +- 5 files changed, 25 insertions(+), 13 deletions(-) rename pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/{AdminApiDelayedDelivery.java => AdminApiDelayedDeliveryTest.java} (99%) rename pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/{AdminApiMaxUnackedMessages.java => AdminApiMaxUnackedMessagesTest.java} (99%) rename pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/{AdminApiSchemaValidationEnforced.java => AdminApiSchemaValidationEnforcedTest.java} (89%) rename pulsar-broker/src/test/java/org/apache/pulsar/client/api/{TlsHostVerification.java => TlsHostVerificationTest.java} (97%) diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiDelayedDelivery.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiDelayedDeliveryTest.java similarity index 99% rename from pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiDelayedDelivery.java rename to pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiDelayedDeliveryTest.java index 2b93cc091d273..9f774895615a8 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiDelayedDelivery.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiDelayedDeliveryTest.java @@ -39,7 +39,7 @@ @Test(groups = "broker-admin") @Slf4j -public class AdminApiDelayedDelivery extends MockedPulsarServiceBaseTest { +public class AdminApiDelayedDeliveryTest extends MockedPulsarServiceBaseTest { @BeforeMethod @Override diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiMaxUnackedMessages.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiMaxUnackedMessagesTest.java similarity index 99% rename from pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiMaxUnackedMessages.java rename to pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiMaxUnackedMessagesTest.java index b4d333a35ee2f..a1a6421a0e674 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiMaxUnackedMessages.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiMaxUnackedMessagesTest.java @@ -43,7 +43,7 @@ @Slf4j @Test(groups = "broker-admin") -public class AdminApiMaxUnackedMessages extends MockedPulsarServiceBaseTest { +public class AdminApiMaxUnackedMessagesTest extends MockedPulsarServiceBaseTest { @BeforeMethod @Override diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiSchemaValidationEnforced.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiSchemaValidationEnforcedTest.java similarity index 89% rename from pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiSchemaValidationEnforced.java rename to pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiSchemaValidationEnforcedTest.java index 81c57a201dbe1..371e408416519 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiSchemaValidationEnforced.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiSchemaValidationEnforcedTest.java @@ -44,9 +44,7 @@ @Slf4j @Test(groups = "broker-admin") -public class AdminApiSchemaValidationEnforced extends MockedPulsarServiceBaseTest { - - private static final Logger LOG = LoggerFactory.getLogger(AdminApiSchemaValidationEnforced.class); +public class AdminApiSchemaValidationEnforcedTest extends MockedPulsarServiceBaseTest { @BeforeMethod @Override @@ -82,8 +80,9 @@ public void testDisableSchemaValidationEnforcedNoSchema() throws Exception { admin.namespaces().setSchemaValidationEnforced(namespace, false); try { admin.schemas().getSchemaInfo(topicName); + fail(); } catch (PulsarAdminException.NotFoundException e) { - assertTrue(e.getMessage().contains("HTTP 404 Not Found")); + assertEquals(e.getMessage(), "Schema not found"); } try (Producer p = pulsarClient.newProducer().topic(topicName).create()) { p.send("test schemaValidationEnforced".getBytes()); @@ -99,14 +98,16 @@ public void testDisableSchemaValidationEnforcedHasSchema() throws Exception { admin.namespaces().setSchemaValidationEnforced(namespace, false); try { admin.schemas().getSchemaInfo(topicName); + fail(); } catch (PulsarAdminException.NotFoundException e) { - assertTrue(e.getMessage().contains("HTTP 404 Not Found")); + assertEquals(e.getMessage(), "Schema not found"); } Map properties = new HashMap<>(); SchemaInfo schemaInfo = SchemaInfo.builder() .type(SchemaType.STRING) .properties(properties) .name("test") + .timestamp(1L) .schema("".getBytes()) .build(); PostSchemaPayload postSchemaPayload = new PostSchemaPayload("STRING", "", properties); @@ -114,7 +115,15 @@ public void testDisableSchemaValidationEnforcedHasSchema() throws Exception { try (Producer p = pulsarClient.newProducer().topic(topicName).create()) { p.send("test schemaValidationEnforced".getBytes()); } - assertEquals(admin.schemas().getSchemaInfo(topicName), schemaInfo); + assertSchemaInfoEquals(admin.schemas().getSchemaInfo(topicName), schemaInfo); + } + + private static void assertSchemaInfoEquals(SchemaInfo actual, SchemaInfo expected) { + assertEquals(actual.getName(), expected.getName()); + assertEquals(actual.getSchema(), expected.getSchema()); + assertEquals(actual.getType(), expected.getType()); + assertEquals(actual.getProperties(), expected.getProperties()); + assertEquals(actual.getSchemaDefinition(), expected.getSchemaDefinition()); } @@ -127,8 +136,9 @@ public void testEnableSchemaValidationEnforcedNoSchema() throws Exception { admin.namespaces().setSchemaValidationEnforced(namespace,true); try { admin.schemas().getSchemaInfo(topicName); + fail(); } catch (PulsarAdminException.NotFoundException e) { - assertTrue(e.getMessage().contains("HTTP 404 Not Found")); + assertEquals(e.getMessage(), "Schema not found"); } try (Producer p = pulsarClient.newProducer().topic(topicName).create()) { p.send("test schemaValidationEnforced".getBytes()); @@ -147,8 +157,9 @@ public void testEnableSchemaValidationEnforcedHasSchemaMismatch() throws Excepti admin.topics().getStats(topicName); try { admin.schemas().getSchemaInfo(topicName); + fail(); } catch (PulsarAdminException.NotFoundException e) { - assertTrue(e.getMessage().contains("HTTP 404 Not Found")); + assertEquals(e.getMessage(), "Schema not found"); } Map properties = new HashMap<>(); properties.put("key1", "value1"); @@ -177,8 +188,9 @@ public void testEnableSchemaValidationEnforcedHasSchemaMatch() throws Exception assertFalse(admin.namespaces().getSchemaValidationEnforced(namespace)); try { admin.schemas().getSchemaInfo(topicName); + fail(); } catch (PulsarAdminException.NotFoundException e) { - assertTrue(e.getMessage().contains("HTTP 404 Not Found")); + assertEquals(e.getMessage(), "Schema not found"); } admin.namespaces().setSchemaValidationEnforced(namespace,true); Map properties = new HashMap<>(); diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/client/api/TlsHostVerification.java b/pulsar-broker/src/test/java/org/apache/pulsar/client/api/TlsHostVerificationTest.java similarity index 97% rename from pulsar-broker/src/test/java/org/apache/pulsar/client/api/TlsHostVerification.java rename to pulsar-broker/src/test/java/org/apache/pulsar/client/api/TlsHostVerificationTest.java index 01b1211079c4d..1689cf0491b77 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/client/api/TlsHostVerification.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/client/api/TlsHostVerificationTest.java @@ -28,7 +28,7 @@ import org.testng.annotations.Test; @Test(groups = "broker-api") -public class TlsHostVerification extends TlsProducerConsumerBase { +public class TlsHostVerificationTest extends TlsProducerConsumerBase { @Test public void testTlsHostVerificationAdminClient() throws Exception { diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/client/api/TlsProducerConsumerBase.java b/pulsar-broker/src/test/java/org/apache/pulsar/client/api/TlsProducerConsumerBase.java index c3e13ca2f1f5e..e7087a2637f27 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/client/api/TlsProducerConsumerBase.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/client/api/TlsProducerConsumerBase.java @@ -37,7 +37,7 @@ import org.testng.annotations.Test; @Test(groups = "broker-api") -public class TlsProducerConsumerBase extends ProducerConsumerBase { +public abstract class TlsProducerConsumerBase extends ProducerConsumerBase { protected final String TLS_TRUST_CERT_FILE_PATH = "./src/test/resources/authentication/tls/cacert.pem"; protected final String TLS_CLIENT_CERT_FILE_PATH = "./src/test/resources/authentication/tls/client-cert.pem"; protected final String TLS_CLIENT_KEY_FILE_PATH = "./src/test/resources/authentication/tls/client-key.pem"; From 329f18895ce08b40858a89825c9d043872533916 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Boschi?= Date: Wed, 21 Sep 2022 14:49:00 +0200 Subject: [PATCH 2/2] style --- .../broker/admin/AdminApiSchemaValidationEnforcedTest.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiSchemaValidationEnforcedTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiSchemaValidationEnforcedTest.java index 371e408416519..7dd192c070c09 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiSchemaValidationEnforcedTest.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiSchemaValidationEnforcedTest.java @@ -36,8 +36,6 @@ import org.apache.pulsar.common.protocol.schema.PostSchemaPayload; import org.apache.pulsar.common.schema.SchemaInfo; import org.apache.pulsar.common.schema.SchemaType; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test;