static void test_read_concern_always_mutable (void) { mongoc_read_concern_t *read_concern; read_concern = mongoc_read_concern_new (); ASSERT (read_concern); mongoc_read_concern_set_level (read_concern, MONGOC_READ_CONCERN_LEVEL_LOCAL); ASSERT_MATCH (_mongoc_read_concern_get_bson (read_concern), "{'level': 'local'}"); mongoc_read_concern_set_level (read_concern, MONGOC_READ_CONCERN_LEVEL_MAJORITY); ASSERT_MATCH (_mongoc_read_concern_get_bson (read_concern), "{'level': 'majority'}"); mongoc_read_concern_set_level (read_concern, MONGOC_READ_CONCERN_LEVEL_LINEARIZABLE); ASSERT_MATCH (_mongoc_read_concern_get_bson (read_concern), "{'level': 'linearizable'}"); mongoc_read_concern_destroy (read_concern); }
static void test_read_concern_basic (void) { mongoc_read_concern_t *read_concern; read_concern = mongoc_read_concern_new (); BEGIN_IGNORE_DEPRECATIONS; /* * Test defaults. */ ASSERT (read_concern); ASSERT (mongoc_read_concern_is_default (read_concern)); ASSERT (!mongoc_read_concern_get_level (read_concern)); /* * Test changes to level. */ mongoc_read_concern_set_level (read_concern, MONGOC_READ_CONCERN_LEVEL_LOCAL); ASSERT (!mongoc_read_concern_is_default (read_concern)); ASSERT_CMPSTR (mongoc_read_concern_get_level (read_concern), MONGOC_READ_CONCERN_LEVEL_LOCAL); /* * Check generated bson. */ ASSERT_MATCH (_mongoc_read_concern_get_bson (read_concern), "{'level': 'local'}"); mongoc_read_concern_destroy (read_concern); }
/** * mongoc_read_concern_append: * @read_concern: (in): A mongoc_read_concern_t. * @opts: (out): A pointer to a bson document. * * Appends a read_concern document to command options to send to * a server. * * Returns true on success, false on failure. * */ bool mongoc_read_concern_append (mongoc_read_concern_t *read_concern, bson_t *command) { BSON_ASSERT (read_concern); if (!read_concern->level) { return true; } if (!bson_append_document (command, "readConcern", 11, _mongoc_read_concern_get_bson (read_concern))) { MONGOC_ERROR ("Could not append readConcern to command."); return false; } return true; }
static void test_read_concern_bson_omits_defaults (void) { mongoc_read_concern_t *read_concern; const bson_t *bson; bson_iter_t iter; read_concern = mongoc_read_concern_new (); /* * Check generated bson. */ ASSERT (read_concern); bson = _mongoc_read_concern_get_bson (read_concern); ASSERT (bson); ASSERT (!bson_iter_init_find (&iter, bson, "level")); mongoc_read_concern_destroy (read_concern); }