C0urante commented on code in PR #12725:
URL: https://github.com/apache/kafka/pull/12725#discussion_r1009671725
##########
connect/runtime/src/test/java/org/apache/kafka/connect/runtime/rest/resources/ConnectorsResourceTest.java:
##########
@@ -899,250 +750,199 @@ public void
testFenceZombiesWithInternalRequestSignature() throws Throwable {
expectedSignature,
signatureCapture.getValue()
);
-
- PowerMock.verifyAll();
}
@Test
public void testFenceZombiesConnectorNotFound() throws Throwable {
- final Capture<Callback<Void>> cb = Capture.newInstance();
- herder.fenceZombieSourceTasks(EasyMock.eq(CONNECTOR_NAME),
EasyMock.capture(cb), EasyMock.anyObject(InternalRequestSignature.class));
-
- expectAndCallbackException(cb, new NotFoundException("not found"));
+ final ArgumentCaptor<Callback<Void>> cb =
ArgumentCaptor.forClass(Callback.class);
- PowerMock.replayAll();
+ expectAndCallbackException(cb, new NotFoundException("not found"))
+ .when(herder).fenceZombieSourceTasks(eq(CONNECTOR_NAME),
cb.capture(), any());
assertThrows(NotFoundException.class,
() -> connectorsResource.fenceZombies(CONNECTOR_NAME,
NULL_HEADERS, FORWARD, serializeAsBytes(null)));
-
- PowerMock.verifyAll();
}
@Test
public void testRestartConnectorNotFound() {
- final Capture<Callback<Void>> cb = Capture.newInstance();
- herder.restartConnector(EasyMock.eq(CONNECTOR_NAME),
EasyMock.capture(cb));
- expectAndCallbackException(cb, new NotFoundException("not found"));
-
- PowerMock.replayAll();
+ final ArgumentCaptor<Callback<Void>> cb =
ArgumentCaptor.forClass(Callback.class);
+ expectAndCallbackException(cb, new NotFoundException("not found"))
+ .when(herder).restartConnector(eq(CONNECTOR_NAME), cb.capture());
assertThrows(NotFoundException.class, () ->
connectorsResource.restartConnector(CONNECTOR_NAME,
NULL_HEADERS, false, false, FORWARD)
);
-
- PowerMock.verifyAll();
}
@Test
public void testRestartConnectorLeaderRedirect() throws Throwable {
- final Capture<Callback<Void>> cb = Capture.newInstance();
- herder.restartConnector(EasyMock.eq(CONNECTOR_NAME),
EasyMock.capture(cb));
- expectAndCallbackNotLeaderException(cb);
+ final ArgumentCaptor<Callback<Void>> cb =
ArgumentCaptor.forClass(Callback.class);
+ expectAndCallbackNotLeaderException(cb).when(herder)
+ .restartConnector(eq(CONNECTOR_NAME), cb.capture());
- EasyMock.expect(RestClient.httpRequest(EasyMock.eq(LEADER_URL +
"connectors/" + CONNECTOR_NAME + "/restart?forward=true"),
- EasyMock.eq("POST"), EasyMock.isNull(), EasyMock.isNull(),
EasyMock.anyObject(), EasyMock.anyObject(WorkerConfig.class)))
- .andReturn(new RestClient.HttpResponse<>(202, new HashMap<>(),
null));
-
- PowerMock.replayAll();
+ restClientStatic.when(() ->
+ RestClient.httpRequest(eq(LEADER_URL + "connectors/" +
CONNECTOR_NAME + "/restart?forward=true"),
+ eq("POST"), isNull(), isNull(), any(), any(WorkerConfig.class))
+ ).thenReturn(new RestClient.HttpResponse<>(202, new HashMap<>(),
null));
Response response =
connectorsResource.restartConnector(CONNECTOR_NAME, NULL_HEADERS, false, false,
null);
assertEquals(Response.Status.NO_CONTENT.getStatusCode(),
response.getStatus());
- PowerMock.verifyAll();
-
- PowerMock.verifyAll();
}
@Test
public void testRestartConnectorOwnerRedirect() throws Throwable {
- final Capture<Callback<Void>> cb = Capture.newInstance();
- herder.restartConnector(EasyMock.eq(CONNECTOR_NAME),
EasyMock.capture(cb));
+ final ArgumentCaptor<Callback<Void>> cb =
ArgumentCaptor.forClass(Callback.class);
String ownerUrl = "http://owner:8083";
- expectAndCallbackException(cb, new NotAssignedException("not owner
test", ownerUrl));
-
-
EasyMock.expect(RestClient.httpRequest(EasyMock.eq("http://owner:8083/connectors/"
+ CONNECTOR_NAME + "/restart?forward=false"),
- EasyMock.eq("POST"), EasyMock.isNull(), EasyMock.isNull(),
EasyMock.anyObject(), EasyMock.anyObject(WorkerConfig.class)))
- .andReturn(new RestClient.HttpResponse<>(202, new HashMap<>(),
null));
+ expectAndCallbackException(cb, new NotAssignedException("not owner
test", ownerUrl))
+ .when(herder).restartConnector(eq(CONNECTOR_NAME), cb.capture());
- PowerMock.replayAll();
+ restClientStatic.when(() ->
+ RestClient.httpRequest(eq("http://owner:8083/connectors/" +
CONNECTOR_NAME + "/restart?forward=false"),
+ eq("POST"), isNull(), isNull(), any(), any(WorkerConfig.class))
+ ).thenReturn(new RestClient.HttpResponse<>(202, new HashMap<>(),
null));
Response response =
connectorsResource.restartConnector(CONNECTOR_NAME, NULL_HEADERS, false, false,
true);
assertEquals(Response.Status.NO_CONTENT.getStatusCode(),
response.getStatus());
- PowerMock.verifyAll();
-
- PowerMock.verifyAll();
}
@Test
public void testRestartTaskNotFound() {
ConnectorTaskId taskId = new ConnectorTaskId(CONNECTOR_NAME, 0);
- final Capture<Callback<Void>> cb = Capture.newInstance();
- herder.restartTask(EasyMock.eq(taskId), EasyMock.capture(cb));
- expectAndCallbackException(cb, new NotFoundException("not found"));
-
- PowerMock.replayAll();
+ final ArgumentCaptor<Callback<Void>> cb =
ArgumentCaptor.forClass(Callback.class);
+ expectAndCallbackException(cb, new NotFoundException("not found"))
+ .when(herder).restartTask(eq(taskId), cb.capture());
assertThrows(NotFoundException.class, () ->
connectorsResource.restartTask(CONNECTOR_NAME, 0, NULL_HEADERS, FORWARD));
-
- PowerMock.verifyAll();
}
@Test
public void testRestartTaskLeaderRedirect() throws Throwable {
ConnectorTaskId taskId = new ConnectorTaskId(CONNECTOR_NAME, 0);
- final Capture<Callback<Void>> cb = Capture.newInstance();
- herder.restartTask(EasyMock.eq(taskId), EasyMock.capture(cb));
- expectAndCallbackNotLeaderException(cb);
+ final ArgumentCaptor<Callback<Void>> cb =
ArgumentCaptor.forClass(Callback.class);
+ expectAndCallbackNotLeaderException(cb).when(herder)
+ .restartTask(eq(taskId), cb.capture());
- EasyMock.expect(RestClient.httpRequest(EasyMock.eq(LEADER_URL +
"connectors/" + CONNECTOR_NAME + "/tasks/0/restart?forward=true"),
- EasyMock.eq("POST"), EasyMock.isNull(), EasyMock.isNull(),
EasyMock.anyObject(), EasyMock.anyObject(WorkerConfig.class)))
- .andReturn(new RestClient.HttpResponse<>(202, new HashMap<>(),
null));
-
- PowerMock.replayAll();
+ restClientStatic.when(() ->
+ RestClient.httpRequest(eq(LEADER_URL + "connectors/" +
CONNECTOR_NAME + "/tasks/0/restart?forward=true"),
+ eq("POST"), isNull(), isNull(), any(), any(WorkerConfig.class))
+ ).thenReturn(new RestClient.HttpResponse<>(202, new HashMap<>(),
null));
connectorsResource.restartTask(CONNECTOR_NAME, 0, NULL_HEADERS, null);
-
- PowerMock.verifyAll();
}
@Test
public void testRestartTaskOwnerRedirect() throws Throwable {
ConnectorTaskId taskId = new ConnectorTaskId(CONNECTOR_NAME, 0);
- final Capture<Callback<Void>> cb = Capture.newInstance();
- herder.restartTask(EasyMock.eq(taskId), EasyMock.capture(cb));
+ final ArgumentCaptor<Callback<Void>> cb =
ArgumentCaptor.forClass(Callback.class);
String ownerUrl = "http://owner:8083";
- expectAndCallbackException(cb, new NotAssignedException("not owner
test", ownerUrl));
-
-
EasyMock.expect(RestClient.httpRequest(EasyMock.eq("http://owner:8083/connectors/"
+ CONNECTOR_NAME + "/tasks/0/restart?forward=false"),
- EasyMock.eq("POST"), EasyMock.isNull(), EasyMock.isNull(),
EasyMock.anyObject(), EasyMock.anyObject(WorkerConfig.class)))
- .andReturn(new RestClient.HttpResponse<>(202, new HashMap<>(),
null));
+ expectAndCallbackException(cb, new NotAssignedException("not owner
test", ownerUrl))
+ .when(herder).restartTask(eq(taskId), cb.capture());
- PowerMock.replayAll();
+ restClientStatic.when(() ->
+ RestClient.httpRequest(eq("http://owner:8083/connectors/" +
CONNECTOR_NAME + "/tasks/0/restart?forward=false"),
+ eq("POST"), isNull(), isNull(), any(), any(WorkerConfig.class))
+ ).thenReturn(new RestClient.HttpResponse<>(202, new HashMap<>(),
null));
connectorsResource.restartTask(CONNECTOR_NAME, 0, NULL_HEADERS, true);
-
- PowerMock.verifyAll();
}
@Test
public void testConnectorActiveTopicsWithTopicTrackingDisabled() {
- PowerMock.reset(workerConfig);
-
EasyMock.expect(workerConfig.getBoolean(TOPIC_TRACKING_ENABLE_CONFIG)).andReturn(false);
-
EasyMock.expect(workerConfig.getBoolean(TOPIC_TRACKING_ALLOW_RESET_CONFIG)).andReturn(false);
- PowerMock.replay(workerConfig);
+
when(workerConfig.getBoolean(TOPIC_TRACKING_ENABLE_CONFIG)).thenReturn(false);
+
when(workerConfig.getBoolean(TOPIC_TRACKING_ALLOW_RESET_CONFIG)).thenReturn(false);
connectorsResource = new ConnectorsResource(herder, workerConfig);
- PowerMock.replayAll();
Exception e = assertThrows(ConnectRestException.class,
() -> connectorsResource.getConnectorActiveTopics(CONNECTOR_NAME));
assertEquals("Topic tracking is disabled.", e.getMessage());
- PowerMock.verifyAll();
}
@Test
public void testResetConnectorActiveTopicsWithTopicTrackingDisabled() {
- PowerMock.reset(workerConfig);
-
EasyMock.expect(workerConfig.getBoolean(TOPIC_TRACKING_ENABLE_CONFIG)).andReturn(false);
-
EasyMock.expect(workerConfig.getBoolean(TOPIC_TRACKING_ALLOW_RESET_CONFIG)).andReturn(true);
- HttpHeaders headers = EasyMock.mock(HttpHeaders.class);
- PowerMock.replay(workerConfig);
+
when(workerConfig.getBoolean(TOPIC_TRACKING_ENABLE_CONFIG)).thenReturn(false);
+
when(workerConfig.getBoolean(TOPIC_TRACKING_ALLOW_RESET_CONFIG)).thenReturn(true);
+ HttpHeaders headers = mock(HttpHeaders.class);
connectorsResource = new ConnectorsResource(herder, workerConfig);
- PowerMock.replayAll();
Exception e = assertThrows(ConnectRestException.class,
() ->
connectorsResource.resetConnectorActiveTopics(CONNECTOR_NAME, headers));
assertEquals("Topic tracking is disabled.", e.getMessage());
- PowerMock.verifyAll();
}
@Test
public void testResetConnectorActiveTopicsWithTopicTrackingEnabled() {
- PowerMock.reset(workerConfig);
-
EasyMock.expect(workerConfig.getBoolean(TOPIC_TRACKING_ENABLE_CONFIG)).andReturn(true);
-
EasyMock.expect(workerConfig.getBoolean(TOPIC_TRACKING_ALLOW_RESET_CONFIG)).andReturn(false);
- HttpHeaders headers = EasyMock.mock(HttpHeaders.class);
- PowerMock.replay(workerConfig);
+
when(workerConfig.getBoolean(TOPIC_TRACKING_ENABLE_CONFIG)).thenReturn(true);
+
when(workerConfig.getBoolean(TOPIC_TRACKING_ALLOW_RESET_CONFIG)).thenReturn(false);
+ HttpHeaders headers = mock(HttpHeaders.class);
connectorsResource = new ConnectorsResource(herder, workerConfig);
- PowerMock.replayAll();
Exception e = assertThrows(ConnectRestException.class,
() ->
connectorsResource.resetConnectorActiveTopics(CONNECTOR_NAME, headers));
assertEquals("Topic tracking reset is disabled.", e.getMessage());
- PowerMock.verifyAll();
}
@Test
public void testConnectorActiveTopics() {
- PowerMock.reset(workerConfig);
-
EasyMock.expect(workerConfig.getBoolean(TOPIC_TRACKING_ENABLE_CONFIG)).andReturn(true);
-
EasyMock.expect(workerConfig.getBoolean(TOPIC_TRACKING_ALLOW_RESET_CONFIG)).andReturn(true);
- EasyMock.expect(herder.connectorActiveTopics(CONNECTOR_NAME))
- .andReturn(new ActiveTopicsInfo(CONNECTOR_NAME,
CONNECTOR_ACTIVE_TOPICS));
- PowerMock.replay(workerConfig);
+
when(workerConfig.getBoolean(TOPIC_TRACKING_ENABLE_CONFIG)).thenReturn(true);
+
when(workerConfig.getBoolean(TOPIC_TRACKING_ALLOW_RESET_CONFIG)).thenReturn(true);
+ when(herder.connectorActiveTopics(CONNECTOR_NAME))
+ .thenReturn(new ActiveTopicsInfo(CONNECTOR_NAME,
CONNECTOR_ACTIVE_TOPICS));
connectorsResource = new ConnectorsResource(herder, workerConfig);
- PowerMock.replayAll();
Response response =
connectorsResource.getConnectorActiveTopics(CONNECTOR_NAME);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
Map<String, Map<String, Object>> body = (Map<String, Map<String,
Object>>) response.getEntity();
assertEquals(CONNECTOR_NAME, ((ActiveTopicsInfo)
body.get(CONNECTOR_NAME)).connector());
assertEquals(new HashSet<>(CONNECTOR_ACTIVE_TOPICS),
((ActiveTopicsInfo) body.get(CONNECTOR_NAME)).topics());
- PowerMock.verifyAll();
}
@Test
public void testResetConnectorActiveTopics() {
- PowerMock.reset(workerConfig);
-
EasyMock.expect(workerConfig.getBoolean(TOPIC_TRACKING_ENABLE_CONFIG)).andReturn(true);
-
EasyMock.expect(workerConfig.getBoolean(TOPIC_TRACKING_ALLOW_RESET_CONFIG)).andReturn(true);
- HttpHeaders headers = EasyMock.mock(HttpHeaders.class);
+
when(workerConfig.getBoolean(TOPIC_TRACKING_ENABLE_CONFIG)).thenReturn(true);
+
when(workerConfig.getBoolean(TOPIC_TRACKING_ALLOW_RESET_CONFIG)).thenReturn(true);
+ HttpHeaders headers = mock(HttpHeaders.class);
herder.resetConnectorActiveTopics(CONNECTOR_NAME);
- EasyMock.expectLastCall();
- PowerMock.replay(workerConfig);
+ verify(herder).resetConnectorActiveTopics(CONNECTOR_NAME);
Review Comment:
This was fixed by removing the direct call to
`herder::resetConnectorActiveTopics` from the test case.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]