|
28 | 28 | import org.apache.pulsar.client.api.PulsarClientException;
|
29 | 29 | import org.apache.pulsar.common.naming.TopicName;
|
30 | 30 | import org.apache.pulsar.common.policies.data.AutoSubscriptionCreationOverride;
|
| 31 | +import org.awaitility.Awaitility; |
31 | 32 | import org.testng.Assert;
|
32 | 33 | import org.testng.annotations.AfterClass;
|
33 | 34 | import org.testng.annotations.AfterMethod;
|
@@ -159,15 +160,19 @@ public void testDynamicConfigurationTopicAutoSubscriptionCreation()
|
159 | 160 | throws PulsarAdminException, PulsarClientException {
|
160 | 161 | pulsar.getConfiguration().setAllowAutoTopicCreation(false);
|
161 | 162 | pulsar.getConfiguration().setAllowAutoSubscriptionCreation(true);
|
162 |
| - admin.brokers().updateDynamicConfiguration("allowAutoSubscriptionCreation", "false"); |
| 163 | + String allowAutoSubscriptionCreation = "allowAutoSubscriptionCreation"; |
| 164 | + admin.brokers().updateDynamicConfiguration(allowAutoSubscriptionCreation, "false"); |
163 | 165 | String topicString = "persistent://prop/ns-abc/non-partitioned-topic" + UUID.randomUUID();
|
164 | 166 | String subscriptionName = "non-partitioned-topic-sub";
|
165 | 167 | admin.topics().createNonPartitionedTopic(topicString);
|
166 | 168 | Assert.assertThrows(PulsarClientException.class,
|
167 | 169 | ()-> pulsarClient.newConsumer().topic(topicString).subscriptionName(subscriptionName).subscribe());
|
168 |
| - admin.brokers().updateDynamicConfiguration("allowAutoSubscriptionCreation", "true"); |
169 |
| - pulsarClient.newConsumer().topic(topicString).subscriptionName(subscriptionName).subscribe(); |
170 |
| - assertTrue(admin.topics().getSubscriptions(topicString).contains(subscriptionName)); |
| 170 | + admin.brokers().updateDynamicConfiguration(allowAutoSubscriptionCreation, "true"); |
| 171 | + Awaitility.await().untilAsserted(() -> { |
| 172 | + Assert.assertEquals(admin.brokers().getAllDynamicConfigurations().get(allowAutoSubscriptionCreation), "true"); |
| 173 | + pulsarClient.newConsumer().topic(topicString).subscriptionName(subscriptionName).subscribe(); |
| 174 | + assertTrue(admin.topics().getSubscriptions(topicString).contains(subscriptionName)); |
| 175 | + }); |
171 | 176 | }
|
172 | 177 |
|
173 | 178 | }
|
0 commit comments