Skip to content

Commit 2855ca9

Browse files
ksshleeCalvinnix
andauthored
KAFKA-425: Add new operation types for change events (#165)
Co-authored-by: Calvin Thomas Nix <[email protected]>
1 parent 5f41379 commit 2855ca9

File tree

2 files changed

+70
-0
lines changed

2 files changed

+70
-0
lines changed

src/main/java/com/mongodb/kafka/connect/sink/cdc/mongodb/OperationType.java

+7
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,19 @@
2020

2121
// https://docs.mongodb.com/manual/reference/change-events/
2222
public enum OperationType {
23+
CREATE_COLLECTION("create"),
24+
CREATE_INDEXES("createIndexes"),
2325
INSERT("insert"),
2426
REPLACE("replace"),
27+
REFINE_COLLECTION_SHARD_KEY("refineCollectionShardKey"),
28+
RESHARD_COLLECTION("reshardCollection"),
29+
SHARD_COLLECTION("shardCollection"),
2530
UPDATE("update"),
31+
MODIFY_COLLECTION("modify"),
2632
DELETE("delete"),
2733
DROP_COLLECTION("drop"),
2834
DROP_DATABASE("dropDatabase"),
35+
DROP_INDEXES("dropIndexes"),
2936
RENAME_COLLECTION("rename"),
3037
INVALIDATE("invalidate"),
3138
UNKNOWN("unknown");

src/test/java/com/mongodb/kafka/connect/sink/cdc/mongodb/OperationTypeTest.java

+63
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,69 @@ Stream<DynamicTest> dynamicTestsFromCollection() {
102102
() -> assertEquals(OperationType.INVALIDATE, operationType),
103103
() -> assertEquals(value, operationType.getValue()));
104104
}),
105+
dynamicTest(
106+
"create",
107+
() -> {
108+
String value = "create";
109+
OperationType operationType = OperationType.fromString(value);
110+
assertAll(
111+
() -> assertEquals(OperationType.CREATE_COLLECTION, operationType),
112+
() -> assertEquals(value, operationType.getValue()));
113+
}),
114+
dynamicTest(
115+
"createIndexes",
116+
() -> {
117+
String value = "createIndexes";
118+
OperationType operationType = OperationType.fromString(value);
119+
assertAll(
120+
() -> assertEquals(OperationType.CREATE_INDEXES, operationType),
121+
() -> assertEquals(value, operationType.getValue()));
122+
}),
123+
dynamicTest(
124+
"refineCollectionShardKey",
125+
() -> {
126+
String value = "refineCollectionShardKey";
127+
OperationType operationType = OperationType.fromString(value);
128+
assertAll(
129+
() -> assertEquals(OperationType.REFINE_COLLECTION_SHARD_KEY, operationType),
130+
() -> assertEquals(value, operationType.getValue()));
131+
}),
132+
dynamicTest(
133+
"reshardCollection",
134+
() -> {
135+
String value = "reshardCollection";
136+
OperationType operationType = OperationType.fromString(value);
137+
assertAll(
138+
() -> assertEquals(OperationType.RESHARD_COLLECTION, operationType),
139+
() -> assertEquals(value, operationType.getValue()));
140+
}),
141+
dynamicTest(
142+
"shardCollection",
143+
() -> {
144+
String value = "shardCollection";
145+
OperationType operationType = OperationType.fromString(value);
146+
assertAll(
147+
() -> assertEquals(OperationType.SHARD_COLLECTION, operationType),
148+
() -> assertEquals(value, operationType.getValue()));
149+
}),
150+
dynamicTest(
151+
"modify",
152+
() -> {
153+
String value = "modify";
154+
OperationType operationType = OperationType.fromString(value);
155+
assertAll(
156+
() -> assertEquals(OperationType.MODIFY_COLLECTION, operationType),
157+
() -> assertEquals(value, operationType.getValue()));
158+
}),
159+
dynamicTest(
160+
"dropIndexes",
161+
() -> {
162+
String value = "dropIndexes";
163+
OperationType operationType = OperationType.fromString(value);
164+
assertAll(
165+
() -> assertEquals(OperationType.DROP_INDEXES, operationType),
166+
() -> assertEquals(value, operationType.getValue()));
167+
}),
105168
dynamicTest(
106169
"unknown",
107170
() -> {

0 commit comments

Comments
 (0)