7c89d7d0ae77aab3bfc8248098f5ed0bf32434a3
[awesomized/libmemcached] / test / tests / memcached / exist.cpp
1 #include "test/lib/common.hpp"
2 #include "test/lib/MemcachedCluster.hpp"
3
4 TEST_CASE("memcached_exist") {
5 pair<string, MemcachedCluster> tests[]{
6 {"bin_mixed", MemcachedCluster::mixed()},
7 {"network", MemcachedCluster::network()},
8 {"socket", MemcachedCluster::socket()}
9 };
10
11 tests[0].second.enableBinaryProto();
12
13 LOOPED_SECTION(tests) {
14 auto memc = &test.memc;
15
16 SECTION("initial not found") {
17 REQUIRE_RC(MEMCACHED_NOTFOUND,memcached_exist(memc, S("frog")));
18 }
19
20 SECTION("set found") {
21 REQUIRE_SUCCESS(memcached_set(memc, S("frog"), S("frog"), 0, 0));
22 REQUIRE_SUCCESS(memcached_exist(memc, S("frog")));
23
24 SECTION("deleted not found") {
25 REQUIRE_SUCCESS(memcached_delete(memc, S("frog"), 0));
26 REQUIRE_RC(MEMCACHED_NOTFOUND, memcached_exist(memc, S("frog")));
27 }
28 }
29
30 SECTION("by key") {
31 SECTION("initial not found") {
32 REQUIRE_RC(MEMCACHED_NOTFOUND, memcached_exist_by_key(memc, S("master"), S("frog")));
33 }
34
35 SECTION("set found") {
36 REQUIRE_SUCCESS(memcached_set_by_key(memc, S("master"), S("frog"), S("frog"), 0, 0));
37 REQUIRE_SUCCESS(memcached_exist_by_key(memc, S("master"), S("frog")));
38
39 SECTION("deleted not found") {
40 REQUIRE_SUCCESS(memcached_delete_by_key(memc, S("master"), S("frog"), 0));
41 REQUIRE_RC(MEMCACHED_NOTFOUND, memcached_exist_by_key(memc, S("master"), S("frog")));
42 }
43 }
44 }
45 }
46
47 }