Skip to content

Commit ff0aeae

Browse files
CSHARP-2344: Update ChangeStream tests for 4.1.1 "drop" notifications.
1 parent 0cfa384 commit ff0aeae

File tree

4 files changed

+11
-2
lines changed

4 files changed

+11
-2
lines changed

src/MongoDB.Driver.Core/ChangeStreamOperationType.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ public enum ChangeStreamOperationType
4343
/// <summary>
4444
/// A rename operation type.
4545
/// </summary>
46-
Rename
46+
Rename,
47+
/// <summary>
48+
/// A drop operation type.
49+
/// </summary>
50+
Drop
4751
}
4852
}

src/MongoDB.Driver.Core/ChangeStreamOperationTypeSerializer.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public override ChangeStreamOperationType Deserialize(BsonDeserializationContext
5252
case "replace": return ChangeStreamOperationType.Replace;
5353
case "update": return ChangeStreamOperationType.Update;
5454
case "rename": return ChangeStreamOperationType.Rename;
55+
case "drop": return ChangeStreamOperationType.Drop;
5556
default: throw new FormatException($"Invalid ChangeStreamOperationType: \"{stringValue}\".");
5657
}
5758
}
@@ -69,6 +70,7 @@ public override void Serialize(BsonSerializationContext context, BsonSerializati
6970
case ChangeStreamOperationType.Replace: writer.WriteString("replace"); break;
7071
case ChangeStreamOperationType.Update: writer.WriteString("update"); break;
7172
case ChangeStreamOperationType.Rename: writer.WriteString("rename"); break;
73+
case ChangeStreamOperationType.Drop: writer.WriteString("drop"); break;
7274
default: throw new ArgumentException($"Invalid ChangeStreamOperationType: {value}.", nameof(value));
7375
}
7476
}

tests/MongoDB.Driver.Core.Tests/ChangeStreamDocumentTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ public void FullDocument_should_return_null_when_not_present()
177177
[InlineData("replace", ChangeStreamOperationType.Replace)]
178178
[InlineData("delete", ChangeStreamOperationType.Delete)]
179179
[InlineData("rename", ChangeStreamOperationType.Rename)]
180+
[InlineData("drop", ChangeStreamOperationType.Drop)]
180181
public void OperationType_should_return_expected_result(string operationTypeName, ChangeStreamOperationType expectedResult)
181182
{
182183
var backingDocument = new BsonDocument { { "other", 1 }, { "operationType", operationTypeName } };

tests/MongoDB.Driver.Core.Tests/ChangeStreamOperationTypeSerializerTests.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public class ChangeStreamOperationTypeSerializerTests
3131
[InlineData("\"replace\"", ChangeStreamOperationType.Replace)]
3232
[InlineData("\"update\"", ChangeStreamOperationType.Update)]
3333
[InlineData("\"rename\"", ChangeStreamOperationType.Rename)]
34+
[InlineData("\"drop\"", ChangeStreamOperationType.Drop)]
3435
public void Deserialize_should_return_expected_result(string json, ChangeStreamOperationType expectedResult)
3536
{
3637
var subject = CreateSubject();
@@ -69,6 +70,7 @@ public void Deserialize_should_throw_when_input_is_invalid()
6970
[InlineData(ChangeStreamOperationType.Replace, "\"replace\"")]
7071
[InlineData(ChangeStreamOperationType.Update, "\"update\"")]
7172
[InlineData(ChangeStreamOperationType.Rename, "\"rename\"")]
73+
[InlineData(ChangeStreamOperationType.Drop, "\"drop\"")]
7274
public void Serialize_should_have_expected_result(ChangeStreamOperationType value, string expectedResult)
7375
{
7476
var subject = CreateSubject();
@@ -87,7 +89,7 @@ public void Serialize_should_have_expected_result(ChangeStreamOperationType valu
8789

8890
[Theory]
8991
[InlineData(-1)]
90-
[InlineData(6)]
92+
[InlineData(7)]
9193
public void Serialize_should_throw_when_value_is_invalid(int valueAsInt)
9294
{
9395
var subject = CreateSubject();

0 commit comments

Comments
 (0)