Skip to content

Commit fbe1f32

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

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
@@ -1977,4 +1977,20 @@ public void testPeekMessageWithProperties() throws Exception {
19771977
assertEquals(batchMessage.getProperties().get("BaTcH-kEy3"), "BaTcH-vAlUe3");
19781978
}
19791979
}
1980+
1981+
@Test
1982+
public void testCreateNonPersistentPartitionedTopic() {
1983+
AsyncResponse response = mock(AsyncResponse.class);
1984+
ArgumentCaptor<Response> responseCaptor = ArgumentCaptor.forClass(Response.class);
1985+
nonPersistentTopic.createPartitionedTopic(response, testTenant, testNamespace, "test-topic", 3, true);
1986+
verify(response, timeout(5000).times(1)).resume(responseCaptor.capture());
1987+
Assert.assertEquals(responseCaptor.getValue().getStatus(), Response.Status.NO_CONTENT.getStatusCode());
1988+
1989+
response = mock(AsyncResponse.class);
1990+
ArgumentCaptor<RestException> errorCaptor = ArgumentCaptor.forClass(RestException.class);
1991+
nonPersistentTopic.createPartitionedTopic(response, testTenant, testNamespace, "test-topic-partition-0", 3, true);
1992+
verify(response, timeout(5000).times(1)).resume(errorCaptor.capture());
1993+
Assert.assertEquals(errorCaptor.getValue().getResponse().getStatus(),
1994+
Response.Status.PRECONDITION_FAILED.getStatusCode());
1995+
}
19801996
}

0 commit comments

Comments
 (0)