summaryrefslogtreecommitdiff
path: root/buildscripts/idl/tests/compatibility_test_fail/new/compatibility_test_fail_new.idl
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/idl/tests/compatibility_test_fail/new/compatibility_test_fail_new.idl')
-rw-r--r--buildscripts/idl/tests/compatibility_test_fail/new/compatibility_test_fail_new.idl63
1 files changed, 62 insertions, 1 deletions
diff --git a/buildscripts/idl/tests/compatibility_test_fail/new/compatibility_test_fail_new.idl b/buildscripts/idl/tests/compatibility_test_fail/new/compatibility_test_fail_new.idl
index 2645fef9e2b..8d737948d89 100644
--- a/buildscripts/idl/tests/compatibility_test_fail/new/compatibility_test_fail_new.idl
+++ b/buildscripts/idl/tests/compatibility_test_fail/new/compatibility_test_fail_new.idl
@@ -31,6 +31,28 @@ global:
imports:
- "mongo/idl/basic_types.idl"
+ - "../buildscripts/idl/tests/compatibility_test_fail/new/imports.idl"
+
+structs:
+ UnstableNewFieldReply:
+ description: "This reply contains a field that is stable in the old command but is
+ unstable in the new command."
+ fields:
+ unstableNewField:
+ type: string
+ unstable: true
+
+ OptionalNewFieldReply:
+ description: "This reply contains a field that is required in the old command but is
+ optional in the new command."
+ fields:
+ optionalNewField:
+ type: string
+ optional: true
+
+ MissingNewFieldReply:
+ description: "This reply contains a field that exists in the old command but is
+ missing in the new command."
commands:
invalidAPIVersionNew:
@@ -70,4 +92,43 @@ commands:
cpp_name: duplicateCommandOld
strict: true
api_version: "1"
- reply_type: OkReply \ No newline at end of file
+ reply_type: OkReply
+
+ newReplyFieldUnstable:
+ description: "new command fails because it contains an unstable reply field that is stable
+ in the corresponding old command"
+ command_name: newReplyFieldUnstable
+ namespace: ignored
+ cpp_name: newReplyFieldUnstable
+ strict: true
+ api_version: "1"
+ reply_type: UnstableNewFieldReply
+
+ newReplyFieldOptional:
+ description: "new command fails because it contains an optional reply field that is
+ required in the corresponding old command"
+ command_name: newReplyFieldOptional
+ namespace: ignored
+ cpp_name: newReplyFieldOptional
+ strict: true
+ api_version: "1"
+ reply_type: OptionalNewFieldReply
+
+ newReplyFieldMissing:
+ description: "new command fails because it is missing a reply field that exists in
+ the corresponding old command"
+ command_name: newReplyFieldMissing
+ namespace: ignored
+ cpp_name: newReplyFieldMissing
+ strict: true
+ api_version: "1"
+ reply_type: MissingNewFieldReply
+
+ importedReplyCommand:
+ description: "reply is imported and should fail"
+ command_name: importedReplyCommand
+ namespace: ignored
+ cpp_name: importedReplyCommand
+ strict: true
+ api_version: "1"
+ reply_type: ImportedUnstableNewFieldReply