Skip to content

Commit 294c5dc

Browse files
author
Stephen Powis
committed
Update tests
1 parent 07390b7 commit 294c5dc

File tree

7 files changed

+307
-24
lines changed

7 files changed

+307
-24
lines changed

src/main/java/org/sourcelab/kafka/connect/apiclient/request/dto/ConnectorStatus.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
package org.sourcelab.kafka.connect.apiclient.request.dto;
1919

20+
import java.util.Collections;
2021
import java.util.List;
2122
import java.util.Map;
2223

@@ -25,6 +26,7 @@
2526
*/
2627
public class ConnectorStatus {
2728
private String name;
29+
private String type;
2830
private Map<String, String> connector;
2931
private List<TaskStatus> tasks;
3032

@@ -33,11 +35,15 @@ public String getName() {
3335
}
3436

3537
public Map<String, String> getConnector() {
36-
return connector;
38+
return Collections.unmodifiableMap(connector);
3739
}
3840

3941
public List<TaskStatus> getTasks() {
40-
return tasks;
42+
return Collections.unmodifiableList(tasks);
43+
}
44+
45+
public String getType() {
46+
return type;
4147
}
4248

4349
@Override
@@ -46,6 +52,7 @@ public String toString() {
4652
+ "name='" + name + '\''
4753
+ ", connector=" + connector
4854
+ ", tasks=" + tasks
55+
+ ", type=" + type
4956
+ '}';
5057
}
5158

src/test/java/org/sourcelab/kafka/connect/apiclient/request/get/connector/GetConnectorsExpandAllDetailsTest.java

Lines changed: 135 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,15 @@
1919

2020
import org.junit.Test;
2121
import org.sourcelab.kafka.connect.apiclient.request.AbstractRequestTest;
22+
import org.sourcelab.kafka.connect.apiclient.request.dto.ConnectorDefinition;
23+
import org.sourcelab.kafka.connect.apiclient.request.dto.ConnectorStatus;
2224
import org.sourcelab.kafka.connect.apiclient.request.dto.ConnectorsWithExpandedMetadata;
2325
import org.sourcelab.kafka.connect.apiclient.request.get.GetConnectorsExpandAllDetails;
2426

2527
import java.io.IOException;
28+
import java.util.List;
2629

30+
import static org.junit.Assert.assertEquals;
2731
import static org.junit.Assert.assertNotNull;
2832
import static org.junit.Assert.assertTrue;
2933

@@ -40,7 +44,136 @@ public void testParseResponse() throws IOException {
4044
// Validate
4145
assertNotNull("Should not be null", result);
4246

43-
// TODO write test
44-
assertTrue(false);
47+
// Validate High Level Checks
48+
assertNotNull("Should not be null", result);
49+
assertNotNull(result.getAllStatuses());
50+
assertNotNull(result.getConnectorNames());
51+
assertNotNull(result.getMappedStatuses());
52+
53+
// High level count checks
54+
assertEquals(2, result.getConnectorNames().size());
55+
assertEquals(2, result.getAllStatuses().size());
56+
assertEquals(2, result.getMappedStatuses().size());
57+
58+
// Validate 'MyTestConnector'
59+
assertTrue(result.getConnectorNames().contains("MyTestConnector"));
60+
assertTrue(result.getMappedStatuses().containsKey("MyTestConnector"));
61+
validateTestConnectorStatus(result.getStatusForConnector("MyTestConnector"));
62+
validateTestConnectorStatus(result.getMappedStatuses().get("MyTestConnector"));
63+
assertTrue(result.getConnectorNames().contains("MyTestConnector"));
64+
assertTrue(result.getMappedDefinitions().containsKey("MyTestConnector"));
65+
validateTestConnectorDefinition(result.getDefinitionForConnector("MyTestConnector"));
66+
validateTestConnectorDefinition(result.getMappedDefinitions().get("MyTestConnector"));
67+
68+
// Validate 'MyTestConnector2'
69+
assertTrue(result.getConnectorNames().contains("MyTestConnector2"));
70+
assertTrue(result.getMappedStatuses().containsKey("MyTestConnector2"));
71+
validateTestConnectorStatus2(result.getStatusForConnector("MyTestConnector2"));
72+
validateTestConnectorStatus2(result.getMappedStatuses().get("MyTestConnector2"));
73+
assertTrue(result.getMappedDefinitions().containsKey("MyTestConnector2"));
74+
validateTestConnectorDefinition2(result.getDefinitionForConnector("MyTestConnector2"));
75+
validateTestConnectorDefinition2(result.getMappedDefinitions().get("MyTestConnector2"));
76+
}
77+
78+
private void validateTestConnectorDefinition(final ConnectorDefinition connector) {
79+
final String expectedConnectorName = "MyTestConnector";
80+
81+
assertEquals("Should have correct name", expectedConnectorName, connector.getName());
82+
assertEquals("Should have correct type", "source", connector.getType());
83+
84+
// Validate config
85+
assertNotNull("Config should not be null", connector.getConfig());
86+
assertEquals("org.apache.kafka.connect.tools.VerifiableSourceConnector", connector.getConfig().get("connector.class"));
87+
assertEquals("3", connector.getConfig().get("tasks.max"));
88+
assertEquals("test-topic", connector.getConfig().get("topics"));
89+
assertEquals(expectedConnectorName, connector.getConfig().get("name"));
90+
91+
// Validate tasks
92+
final List<ConnectorDefinition.TaskDefinition> taskDefinitions = connector.getTasks();
93+
assertNotNull("Tasks should not be null", taskDefinitions);
94+
assertEquals(3, taskDefinitions.size());
95+
96+
for (int taskId=0; taskId<taskDefinitions.size(); taskId++) {
97+
assertEquals(expectedConnectorName, taskDefinitions.get(taskId).getConnector());
98+
assertEquals(taskId, taskDefinitions.get(taskId).getTask());
99+
}
100+
}
101+
102+
private void validateTestConnectorStatus(final ConnectorStatus connectorStatus) {
103+
final String expectedConnectorName = "MyTestConnector";
104+
105+
assertNotNull(connectorStatus);
106+
assertEquals(expectedConnectorName, connectorStatus.getName());
107+
assertEquals("source", connectorStatus.getType());
108+
assertNotNull(connectorStatus.getConnector());
109+
assertNotNull(connectorStatus.getTasks());
110+
111+
// Validate connector
112+
assertEquals("RUNNING", connectorStatus.getConnector().get("state"));
113+
assertEquals("127.0.0.1:8083", connectorStatus.getConnector().get("worker_id"));
114+
115+
// Validate tasks
116+
assertEquals(3, connectorStatus.getTasks().size());
117+
118+
assertEquals(0, connectorStatus.getTasks().get(0).getId());
119+
assertEquals("FAILED", connectorStatus.getTasks().get(0).getState());
120+
assertEquals("trace0", connectorStatus.getTasks().get(0).getTrace());
121+
assertEquals("127.0.0.1:8083", connectorStatus.getTasks().get(0).getWorkerId());
122+
123+
assertEquals(1, connectorStatus.getTasks().get(1).getId());
124+
assertEquals("RUNNING", connectorStatus.getTasks().get(1).getState());
125+
assertEquals("trace1", connectorStatus.getTasks().get(1).getTrace());
126+
assertEquals("127.0.0.1:8083", connectorStatus.getTasks().get(1).getWorkerId());
127+
128+
assertEquals(2, connectorStatus.getTasks().get(2).getId());
129+
assertEquals("PAUSED", connectorStatus.getTasks().get(2).getState());
130+
assertEquals("trace2", connectorStatus.getTasks().get(2).getTrace());
131+
assertEquals("127.0.0.1:8083", connectorStatus.getTasks().get(2).getWorkerId());
132+
}
133+
134+
private void validateTestConnectorDefinition2(final ConnectorDefinition connector) {
135+
final String expectedConnectorName = "MyTestConnector2";
136+
137+
assertEquals("Should have correct name", expectedConnectorName, connector.getName());
138+
assertEquals("Should have correct type", "source", connector.getType());
139+
140+
// Validate config
141+
assertNotNull("Config should not be null", connector.getConfig());
142+
assertEquals("org.apache.kafka.connect.tools.SomeOtherConnectorClass", connector.getConfig().get("connector.class"));
143+
assertEquals("1", connector.getConfig().get("tasks.max"));
144+
assertEquals("another-topic", connector.getConfig().get("topics"));
145+
assertEquals(expectedConnectorName, connector.getConfig().get("name"));
146+
147+
// Validate tasks
148+
final List<ConnectorDefinition.TaskDefinition> taskDefinitions = connector.getTasks();
149+
assertNotNull("Tasks should not be null", taskDefinitions);
150+
assertEquals(1, taskDefinitions.size());
151+
152+
for (int taskId=0; taskId<taskDefinitions.size(); taskId++) {
153+
assertEquals(expectedConnectorName, taskDefinitions.get(taskId).getConnector());
154+
assertEquals(taskId, taskDefinitions.get(taskId).getTask());
155+
}
156+
}
157+
158+
private void validateTestConnectorStatus2(final ConnectorStatus connectorStatus) {
159+
final String expectedConnectorName = "MyTestConnector2";
160+
161+
assertNotNull(connectorStatus);
162+
assertEquals(expectedConnectorName, connectorStatus.getName());
163+
assertEquals("source", connectorStatus.getType());
164+
assertNotNull(connectorStatus.getConnector());
165+
assertNotNull(connectorStatus.getTasks());
166+
167+
// Validate connector
168+
assertEquals("RUNNING", connectorStatus.getConnector().get("state"));
169+
assertEquals("127.0.0.1:8083", connectorStatus.getConnector().get("worker_id"));
170+
171+
// Validate tasks
172+
assertEquals(1, connectorStatus.getTasks().size());
173+
174+
assertEquals(0, connectorStatus.getTasks().get(0).getId());
175+
assertEquals("RUNNING", connectorStatus.getTasks().get(0).getState());
176+
assertEquals("trace0", connectorStatus.getTasks().get(0).getTrace());
177+
assertEquals("127.0.0.1:8083", connectorStatus.getTasks().get(0).getWorkerId());
45178
}
46179
}

src/test/java/org/sourcelab/kafka/connect/apiclient/request/get/connector/GetConnectorsWithExpandInfoTest.java

Lines changed: 73 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,14 @@
1919

2020
import org.junit.Test;
2121
import org.sourcelab.kafka.connect.apiclient.request.AbstractRequestTest;
22+
import org.sourcelab.kafka.connect.apiclient.request.dto.ConnectorDefinition;
2223
import org.sourcelab.kafka.connect.apiclient.request.dto.ConnectorsWithExpandedInfo;
2324
import org.sourcelab.kafka.connect.apiclient.request.get.GetConnectorsExpandInfo;
2425

2526
import java.io.IOException;
27+
import java.util.List;
2628

29+
import static org.junit.Assert.assertEquals;
2730
import static org.junit.Assert.assertNotNull;
2831
import static org.junit.Assert.assertTrue;
2932

@@ -37,10 +40,77 @@ public void testParseResponse() throws IOException {
3740
final String mockResponse = readFile("getConnectorsWithExpandedInfo.json");
3841
final ConnectorsWithExpandedInfo result = new GetConnectorsExpandInfo().parseResponse(mockResponse);
3942

40-
// Validate
43+
// High level null checks
4144
assertNotNull("Should not be null", result);
45+
assertNotNull(result.getConnectorNames());
46+
assertNotNull(result.getMappedDefinitions());
47+
assertNotNull(result.getAllDefinitions());
4248

43-
// TODO write test
44-
assertTrue(false);
49+
// High level count checks
50+
assertEquals(2, result.getConnectorNames().size());
51+
assertEquals(2, result.getMappedDefinitions().size());
52+
assertEquals(2, result.getAllDefinitions().size());
53+
54+
// Validate 'MyTestConnector'
55+
assertTrue(result.getConnectorNames().contains("MyTestConnector"));
56+
assertTrue(result.getMappedDefinitions().containsKey("MyTestConnector"));
57+
validateTestConnectorDefinition(result.getDefinitionForConnector("MyTestConnector"));
58+
validateTestConnectorDefinition(result.getMappedDefinitions().get("MyTestConnector"));
59+
60+
// Validate 'MyTestConnector2'
61+
assertTrue(result.getConnectorNames().contains("MyTestConnector2"));
62+
assertTrue(result.getMappedDefinitions().containsKey("MyTestConnector2"));
63+
validateTestConnectorDefinition2(result.getDefinitionForConnector("MyTestConnector2"));
64+
validateTestConnectorDefinition2(result.getMappedDefinitions().get("MyTestConnector2"));
65+
}
66+
67+
private void validateTestConnectorDefinition(final ConnectorDefinition connector) {
68+
final String expectedConnectorName = "MyTestConnector";
69+
70+
assertNotNull(connector);
71+
assertEquals("Should have correct name", expectedConnectorName, connector.getName());
72+
assertEquals("Should have correct type", "source", connector.getType());
73+
74+
// Validate config
75+
assertNotNull("Config should not be null", connector.getConfig());
76+
assertEquals("org.apache.kafka.connect.tools.VerifiableSourceConnector", connector.getConfig().get("connector.class"));
77+
assertEquals("3", connector.getConfig().get("tasks.max"));
78+
assertEquals("test-topic", connector.getConfig().get("topics"));
79+
assertEquals(expectedConnectorName, connector.getConfig().get("name"));
80+
81+
// Validate tasks
82+
final List<ConnectorDefinition.TaskDefinition> taskDefinitions = connector.getTasks();
83+
assertNotNull("Tasks should not be null", taskDefinitions);
84+
assertEquals(3, taskDefinitions.size());
85+
86+
for (int taskId=0; taskId<taskDefinitions.size(); taskId++) {
87+
assertEquals(expectedConnectorName, taskDefinitions.get(taskId).getConnector());
88+
assertEquals(taskId, taskDefinitions.get(taskId).getTask());
89+
}
90+
}
91+
92+
private void validateTestConnectorDefinition2(final ConnectorDefinition connector) {
93+
final String expectedConnectorName = "MyTestConnector2";
94+
95+
assertNotNull(connector);
96+
assertEquals("Should have correct name", expectedConnectorName, connector.getName());
97+
assertEquals("Should have correct type", "source", connector.getType());
98+
99+
// Validate config
100+
assertNotNull("Config should not be null", connector.getConfig());
101+
assertEquals("org.apache.kafka.connect.tools.SomeOtherConnectorClass", connector.getConfig().get("connector.class"));
102+
assertEquals("1", connector.getConfig().get("tasks.max"));
103+
assertEquals("another-topic", connector.getConfig().get("topics"));
104+
assertEquals(expectedConnectorName, connector.getConfig().get("name"));
105+
106+
// Validate tasks
107+
final List<ConnectorDefinition.TaskDefinition> taskDefinitions = connector.getTasks();
108+
assertNotNull("Tasks should not be null", taskDefinitions);
109+
assertEquals(1, taskDefinitions.size());
110+
111+
for (int taskId=0; taskId<taskDefinitions.size(); taskId++) {
112+
assertEquals(expectedConnectorName, taskDefinitions.get(taskId).getConnector());
113+
assertEquals(taskId, taskDefinitions.get(taskId).getTask());
114+
}
45115
}
46116
}

src/test/java/org/sourcelab/kafka/connect/apiclient/request/get/connector/GetConnectorsWithExpandStatusTest.java

Lines changed: 76 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@
1919

2020
import org.junit.Test;
2121
import org.sourcelab.kafka.connect.apiclient.request.AbstractRequestTest;
22+
import org.sourcelab.kafka.connect.apiclient.request.dto.ConnectorStatus;
2223
import org.sourcelab.kafka.connect.apiclient.request.dto.ConnectorsWithExpandedStatus;
2324
import org.sourcelab.kafka.connect.apiclient.request.get.GetConnectorsExpandStatus;
2425

2526
import java.io.IOException;
2627

28+
import static org.junit.Assert.assertEquals;
2729
import static org.junit.Assert.assertNotNull;
2830
import static org.junit.Assert.assertTrue;
2931

@@ -37,10 +39,81 @@ public void testParseResponse() throws IOException {
3739
final String mockResponse = readFile("getConnectorsWithExpandedStatus.json");
3840
final ConnectorsWithExpandedStatus result = new GetConnectorsExpandStatus().parseResponse(mockResponse);
3941

40-
// Validate
42+
// Validate High Level Checks
4143
assertNotNull("Should not be null", result);
44+
assertNotNull(result.getAllStatuses());
45+
assertNotNull(result.getConnectorNames());
46+
assertNotNull(result.getMappedStatuses());
4247

43-
// TODO write test
44-
assertTrue(false);
48+
// High level count checks
49+
assertEquals(2, result.getConnectorNames().size());
50+
assertEquals(2, result.getAllStatuses().size());
51+
assertEquals(2, result.getMappedStatuses().size());
52+
53+
// Validate 'MyTestConnector'
54+
assertTrue(result.getConnectorNames().contains("MyTestConnector"));
55+
assertTrue(result.getMappedStatuses().containsKey("MyTestConnector"));
56+
validateTestConnectorStatus(result.getStatusForConnector("MyTestConnector"));
57+
validateTestConnectorStatus(result.getMappedStatuses().get("MyTestConnector"));
58+
59+
// Validate 'MyTestConnector2'
60+
assertTrue(result.getConnectorNames().contains("MyTestConnector2"));
61+
assertTrue(result.getMappedStatuses().containsKey("MyTestConnector2"));
62+
validateTestConnectorStatus2(result.getStatusForConnector("MyTestConnector2"));
63+
validateTestConnectorStatus2(result.getMappedStatuses().get("MyTestConnector2"));
64+
}
65+
66+
private void validateTestConnectorStatus(final ConnectorStatus connectorStatus) {
67+
final String expectedConnectorName = "MyTestConnector";
68+
69+
assertNotNull(connectorStatus);
70+
assertEquals(expectedConnectorName, connectorStatus.getName());
71+
assertEquals("source", connectorStatus.getType());
72+
assertNotNull(connectorStatus.getConnector());
73+
assertNotNull(connectorStatus.getTasks());
74+
75+
// Validate connector
76+
assertEquals("RUNNING", connectorStatus.getConnector().get("state"));
77+
assertEquals("127.0.0.1:8083", connectorStatus.getConnector().get("worker_id"));
78+
79+
// Validate tasks
80+
assertEquals(3, connectorStatus.getTasks().size());
81+
82+
assertEquals(0, connectorStatus.getTasks().get(0).getId());
83+
assertEquals("FAILED", connectorStatus.getTasks().get(0).getState());
84+
assertEquals("trace0", connectorStatus.getTasks().get(0).getTrace());
85+
assertEquals("127.0.0.1:8083", connectorStatus.getTasks().get(0).getWorkerId());
86+
87+
assertEquals(1, connectorStatus.getTasks().get(1).getId());
88+
assertEquals("RUNNING", connectorStatus.getTasks().get(1).getState());
89+
assertEquals("trace1", connectorStatus.getTasks().get(1).getTrace());
90+
assertEquals("127.0.0.1:8083", connectorStatus.getTasks().get(1).getWorkerId());
91+
92+
assertEquals(2, connectorStatus.getTasks().get(2).getId());
93+
assertEquals("PAUSED", connectorStatus.getTasks().get(2).getState());
94+
assertEquals("trace2", connectorStatus.getTasks().get(2).getTrace());
95+
assertEquals("127.0.0.1:8083", connectorStatus.getTasks().get(2).getWorkerId());
96+
}
97+
98+
private void validateTestConnectorStatus2(final ConnectorStatus connectorStatus) {
99+
final String expectedConnectorName = "MyTestConnector2";
100+
101+
assertNotNull(connectorStatus);
102+
assertEquals(expectedConnectorName, connectorStatus.getName());
103+
assertEquals("source", connectorStatus.getType());
104+
assertNotNull(connectorStatus.getConnector());
105+
assertNotNull(connectorStatus.getTasks());
106+
107+
// Validate connector
108+
assertEquals("RUNNING", connectorStatus.getConnector().get("state"));
109+
assertEquals("127.0.0.1:8083", connectorStatus.getConnector().get("worker_id"));
110+
111+
// Validate tasks
112+
assertEquals(1, connectorStatus.getTasks().size());
113+
114+
assertEquals(0, connectorStatus.getTasks().get(0).getId());
115+
assertEquals("RUNNING", connectorStatus.getTasks().get(0).getState());
116+
assertEquals("trace0", connectorStatus.getTasks().get(0).getTrace());
117+
assertEquals("127.0.0.1:8083", connectorStatus.getTasks().get(0).getWorkerId());
45118
}
46119
}

0 commit comments

Comments
 (0)