From 7452bcab9cbc77e5dc877d22a0ea158de4ce9715 Mon Sep 17 00:00:00 2001 From: lenovo Date: Thu, 5 Mar 2020 11:55:00 +0800 Subject: [PATCH] Improve the unit test to cover force deleting --- .../apache/pulsar/broker/admin/AdminApiTest.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java index a6541eab5dd87..cb4c7e8623e7e 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java @@ -82,6 +82,7 @@ import org.apache.pulsar.client.api.Consumer; import org.apache.pulsar.client.api.ConsumerBuilder; import org.apache.pulsar.client.api.Message; +import org.apache.pulsar.client.api.MessageId; import org.apache.pulsar.client.api.MessageRoutingMode; import org.apache.pulsar.client.api.Producer; import org.apache.pulsar.client.api.PulsarClient; @@ -1307,11 +1308,19 @@ public void testDeleteSubscription(String topicName) throws Exception { final String subName = topicName; final String persistentTopicName = "persistent://prop-xyz/ns1/" + topicName; + // disable auto subscription creation + pulsar.getConfiguration().setAllowAutoSubscriptionCreation(false); + // create a topic and produce some messages publishMessagesOnPersistentTopic("persistent://prop-xyz/ns1/" + topicName, 5); assertEquals(admin.topics().getList("prop-xyz/ns1"), Lists.newArrayList("persistent://prop-xyz/ns1/" + topicName)); + // create the subscription by PulsarAdmin + admin.topics().createSubscription(topicName, subName, MessageId.earliest); + + assertEquals(admin.topics().getSubscriptions(persistentTopicName), Lists.newArrayList(subName)); + // create consumer and subscription PulsarClient client = PulsarClient.builder() .serviceUrl(pulsar.getWebServiceAddress()) @@ -1320,8 +1329,6 @@ public void testDeleteSubscription(String topicName) throws Exception { Consumer consumer = client.newConsumer().topic(persistentTopicName).subscriptionName(subName) .subscriptionType(SubscriptionType.Exclusive).subscribe(); - assertEquals(admin.topics().getSubscriptions(persistentTopicName), Lists.newArrayList(subName)); - // try to delete the subscription with a connected consumer try { admin.topics().deleteSubscription(persistentTopicName, subName); @@ -1337,7 +1344,10 @@ public void testDeleteSubscription(String topicName) throws Exception { admin.topics().deleteSubscription(persistentTopicName, subName, true); // delete the subscription successfully - // assertEquals(admin.topics().getSubscriptions(persistentTopicName).size(), 0); + assertEquals(admin.topics().getSubscriptions(persistentTopicName).size(), 0); + + // reset to default + pulsar.getConfiguration().setAllowAutoSubscriptionCreation(true); client.close(); }