Description
This is to help track #209. The following is a list of specification test files that need to be included to be complete. This exercise may also introduce new functionality to the package. The specifications can be found here if anyone would care to help. We will be using the JSON files.
Auth
https://github.com/mongodb/specifications/tree/master/source/auth
- connection-string
BSON Corpus
https://github.com/mongodb/specifications/tree/master/source/bson-corpus
- array
- binary
- boolean
- code
- code_w_scope
- datetime
- dbpointer
- dbref
- decimal128-1
- decimal128-2
- decimal128-3
- decimal128-4
- decimal128-5
- decimal128-6
- decimal128-7
- document
- double
- int32
- int64
- maxkey
- minkey
- multi-type-deprecated
- multi-type
- null
- oid
- regex
- string
- symbol
- timestamp
- top
- undefined
Change Streams
https://github.com/mongodb/specifications/tree/master/source/change-streams
- change-streams-errors
- change-streams
Command Monitoring
https://github.com/mongodb/specifications/tree/master/source/command-monitoring
- bulkWrite
- command
- deleteMany
- deleteOne
- find
- insertMany
- insertOne
- unacknowledgedBulkWrite
- updateMany
- updateOne
Connection String
https://github.com/mongodb/specifications/tree/master/source/connection-string
- invalid-uris
- valid-auth
- valid-db-with-dotted-name
- valid-host_identifiers
- valid-options
- valid-unix_socket-absolute
- valid-unix_socket-relative
- valid-warnings
CRUD
https://github.com/mongodb/specifications/tree/master/source/crud
- read/aggregate-collation
- read/aggregate-out
- read/aggregate
- read/count-collation
- read/count-empty
- read/count
- read/distinct-collation
- read/distinct
- read/find-collation
- read/find
- write/bulkWrite-arrayFilters
- write/deleteMany-collation
- write/deleteMany
- write/deleteOne-collation
- write/deleteOne
- write/findOneAndDelete-collation
- write/findOneAndDelete
- write/findOneAndReplace-collation
- write/findOneAndReplace-upsert
- write/findOneAndReplace
- write/findOneAndUpdate-arrayFilters
- write/findOneAndUpdate-collation
- write/findOneAndUpdate
- write/insertMany
- write/insertOne
- write/replaceOne-collation
- write/replaceOne
- write/updateMany-arrayFilters
- write/updateMany-collation
- write/updateMany
- write/updateOne-arrayFilters
- write/updateOne-collation
- write/updateOne
GridFS
https://github.com/mongodb/specifications/tree/master/source/gridfs
- delete
- download
- download_by_name
- upload
Initial DNS Seedlist Discovery
https://github.com/mongodb/specifications/tree/master/source/initial-dns-seedlist-discovery
- longer-parent-in-return
- misformatted-option
- no-results
- not-enough-parts
- one-result-default-port
- one-txt-record-multiple-strings
- one-txt-record
- parent-part-mismatch1
- parent-part-mismatch2
- parent-part-mismatch3
- parent-part-mismatch4
- parent-part-mismatch5
- returned-parent-too-short
- returned-parent-wrong
- two-results-default-port
- two-results-nonstandard-port
- two-txt-records
- txt-record-not-allowed-option
- txt-record-with-overridden-ssl-option
- txt-record-with-overridden-uri-option
- txt-record-with-unallowed-option
- uri-with-admin-database
- uri-with-auth
- uri-with-port
- uri-with-two-hosts
Max Staleness
https://github.com/mongodb/specifications/tree/master/source/max-staleness
- ReplicaSetNoPrimary/DefaultNoMaxStaleness
- ReplicaSetNoPrimary/Incompatible
- ReplicaSetNoPrimary/LastUpdateTime
- ReplicaSetNoPrimary/Nearest
- ReplicaSetNoPrimary/Nearest2
- ReplicaSetNoPrimary/NoKnownServers
- ReplicaSetNoPrimary/PrimaryPreferred
- ReplicaSetNoPrimary/PrimaryPreferred_tags
- ReplicaSetNoPrimary/Secondary
- ReplicaSetNoPrimary/SecondaryPreferred
- ReplicaSetNoPrimary/SecondaryPreferred_tags
- ReplicaSetNoPrimary/ZeroMaxStaleness
- ReplicaSetWithPrimary/DefaultNoMaxStaleness
- ReplicaSetWithPrimary/Incompatible
- ReplicaSetWithPrimary/LastUpdateTime
- ReplicaSetWithPrimary/LongHeartbeat
- ReplicaSetWithPrimary/LongHeartbeat2
- ReplicaSetWithPrimary/MaxStalenessTooSmall
- ReplicaSetWithPrimary/MaxStalenessWithModePrimary
- ReplicaSetWithPrimary/Nearest
- ReplicaSetWithPrimary/Nearest2
- ReplicaSetWithPrimary/Nearest_tags
- ReplicaSetWithPrimary/PrimaryPreferred
- ReplicaSetWithPrimary/PrimaryPreferred_incompatible
- ReplicaSetWithPrimary/Secondary_tags
- ReplicaSetWithPrimary/Secondary_tags2
- ReplicaSetWithPrimary/SecondaryPreferred
- ReplicaSetWithPrimary/SecondaryPreferred_tags
- ReplicaSetWithPrimary/SecondaryPreferred_tags2
- ReplicaSetWithPrimary/ZeroMaxStaleness
- Sharded/Incompatible
- Sharded/SmallMaxStaleness
- Single/Incompatible
- Single/SmallMaxStaleness
- Unknown/SmallMaxStaleness
ObejctID
https://github.com/mongodb/specifications/tree/master/source/object-id/
- vectors
Read Write Concern
https://github.com/mongodb/specifications/tree/master/source/read-write-concern
- connection-string/read-concern
- connection-string/write-concern
- document/read-concern
- document/write-concern
Retryable Writes
https://github.com/mongodb/specifications/tree/master/source/retryable-writes
- bulkWrite-serverErrors
- bulkWrite
- deleteOne-serverErrors
- deleteOne
- findOneAndDelete-serverErrors
- findOneAndDelete
- findOneAndReplace-serverErrors
- findOneAndReplace
- findOneAndUpdate-serverErrors
- findOneAndUpdate
- insertMany-serverErrors
- insertMany
- insertOne-serverErrors
- insertOne
- replaceOne-serverErrors
- replaceOne
- updateOne-serverErrors
- updateOne
Server Discovery and Monitoring
https://github.com/mongodb/specifications/tree/master/source/server-discovery-and-monitoring
- monitoring/replica_set_with_no_primary
- monitoring/replica_set_with_primary
- monitoring/replica_set_with_removal
- monitoring/required_replica_set
- monitoring/standalone
- rs/compatible
- rs/discover_arbiters
- rs/discover_passives
- rs/discover_primary
- rs/discover_secondary
- rs/discovery
- rs/equal_electionids
- rs/ghost_discovered
- rs/hosts_differ_from_seeds
- rs/ls_timeout
- rs/member_reconfig
- rs/member_standalone
- rs/new_primary
- rs/new_primary_new_electionid
- rs/new_primary_new_setversion
- rs/new_primary_wrong_set_name
- rs/non_rs_member
- rs/normalize_case
- rs/normalize_case_me
- rs/null_election_id
- rs/primary_becomes_standalone
- rs/primary_changes_set_name
- rs/primary_disconnect
- rs/primary_disconnect_electionid
- rs/primary_disconnect_setversion
- rs/primary_hint_from_secondary_with_mismatched_me
- rs/primary_mismatched_me
- rs/primary_reports_new_member
- rs/primary_to_no_primary_mismatched_me
- rs/primary_wrong_set_name
- rs/response_from_removed
- rs/rsother_discovered
- rs/sec_not_auth
- rs/secondary_mismatched_me
- rs/secondary_wrong_set_name
- rs/secondary_wrong_set_name_with_primary
- rs/setversion_without_electionid
- rs/stepdown_change_set_name
- rs/too_new
- rs/too_old
- rs/unexpected_mongos
- rs/use_setversion_without_electionid
- rs/wrong_set_name
- sharded/compatible
- sharded/ls_timeout_mongos
- sharded/mongos_disconnect
- sharded/multiple_mongoses
- sharded/non_mongos_removed
- sharded/normalize_uri_case
- sharded/too_new
- sharded/too_old
- single/compatible
- single/direct_connection_external_ip
- single/direct_connection_mongos
- single/direct_connection_rsarbiter
- single/direct_connection_rsprimary
- single/direct_connection_rssecondary
- single/direct_connection_slave
- single/direct_connection_standalone
- single/ls_timeout_standalone
- single/not_ok_response
- single/standalone_removed
- single/too_new
- single/too_old
- single/unavailable_seed
Server Selection
https://github.com/mongodb/specifications/tree/master/source/server-selection
- rtt/first_value
- rtt/first_value_zero
- rtt/value_test_1
- rtt/value_test_2
- rtt/value_test_3
- rtt/value_test_4
- rtt/value_test_5
- server_selection/ReplicaSetNoPrimary/read/Nearest
- server_selection/ReplicaSetNoPrimary/read/Nearest_multiple
- server_selection/ReplicaSetNoPrimary/read/Nearest_non_matching
- server_selection/ReplicaSetNoPrimary/read/PossiblePrimary
- server_selection/ReplicaSetNoPrimary/read/PossiblePrimaryNearest
- server_selection/ReplicaSetNoPrimary/read/Primary
- server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred
- server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred_non_matching
- server_selection/ReplicaSetNoPrimary/read/Secondary
- server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags
- server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags2
- server_selection/ReplicaSetNoPrimary/read/Secondary_non_matching
- server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred
- server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred_non_matching
- server_selection/ReplicaSetNoPrimary/write/SecondaryPreferred
- server_selection/ReplicaSetWithPrimary/read/Nearest
- server_selection/ReplicaSetWithPrimary/read/Nearest_multiple
- server_selection/ReplicaSetWithPrimary/read/Nearest_non_matching
- server_selection/ReplicaSetWithPrimary/read/Primary
- server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred
- server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred_non_matching
- server_selection/ReplicaSetWithPrimary/read/Secondary
- server_selection/ReplicaSetWithPrimary/read/Secondary_non_matching
- server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred
- server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_non_matching
- server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_tags
- server_selection/ReplicaSetWithPrimary/write/SecondaryPreferred
- server_selection/Sharded/read/Nearest
- server_selection/Sharded/read/Primary
- server_selection/Sharded/read/PrimaryPreferred
- server_selection/Sharded/read/Secondary
- server_selection/Sharded/read/SecondaryPreferred
- server_selection/Sharded/write/Nearest
- server_selection/Sharded/write/Primary
- server_selection/Sharded/write/PrimaryPreferred
- server_selection/Sharded/write/Secondary
- server_selection/Sharded/write/SecondaryPreferred
- server_selection/Single/read/SecondaryPreferred
- server_selection/Single/write/SecondaryPreferred
- server_selection/Unknown/read/SecondaryPreferred
- server_selection/Unknown/write/SecondaryPreferred
Transactions
https://github.com/mongodb/specifications/tree/master/source/transactions
- abort
- bulk
- causal-consistency
- commit
- delete
- error-labels
- errors
- findOneAndDelete
- findOneAndReplace
- findOneAndUpdate
- insert
- isolation
- read-pref
- reads
- retryable-abort
- retryable-commit
- retryable-writes
- run-command
- transaction-options
- update
- write-concern