Skip to content

Commit 1277fb5

Browse files
committed
[fix][broker] Don't allow creating a non-persistent partitioned topic with '-partition-' in name
1 parent cc8282d commit 1277fb5

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/PersistentTopicsTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2011,4 +2011,20 @@ public void testPeekMessageWithProperties() throws Exception {
20112011
assertEquals(batchMessage.getProperties().get("BaTcH-kEy3"), "BaTcH-vAlUe3");
20122012
}
20132013
}
2014+
2015+
@Test
2016+
public void testCreateNonPersistentPartitionedTopic() {
2017+
AsyncResponse response = mock(AsyncResponse.class);
2018+
ArgumentCaptor<Response> responseCaptor = ArgumentCaptor.forClass(Response.class);
2019+
nonPersistentTopic.createPartitionedTopic(response, testTenant, testNamespace, "test-topic", 3, true);
2020+
verify(response, timeout(5000).times(1)).resume(responseCaptor.capture());
2021+
Assert.assertEquals(responseCaptor.getValue().getStatus(), Response.Status.NO_CONTENT.getStatusCode());
2022+
2023+
response = mock(AsyncResponse.class);
2024+
ArgumentCaptor<RestException> errorCaptor = ArgumentCaptor.forClass(RestException.class);
2025+
nonPersistentTopic.createPartitionedTopic(response, testTenant, testNamespace, "test-topic-partition-0", 3, true);
2026+
verify(response, timeout(5000).times(1)).resume(errorCaptor.capture());
2027+
Assert.assertEquals(errorCaptor.getValue().getResponse().getStatus(),
2028+
Response.Status.PRECONDITION_FAILED.getStatusCode());
2029+
}
20142030
}

0 commit comments

Comments
 (0)