29c0f253a7db7e8dc0a28f638839dfd31fa23cbb
[m6w6/libmemcached] / testing / memcached / exist.cpp
1 #include "../lib/common.hpp"
2 #include "../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 auto &returns = test.returns;
16
17 SECTION("initial not found") {
18 REQUIRE_RC(MEMCACHED_NOTFOUND,memcached_exist(memc, S("frog")));
19 }
20
21 SECTION("set found") {
22 REQUIRE_SUCCESS(memcached_set(memc, S("frog"), S("frog"), 0, 0));
23 REQUIRE_SUCCESS(memcached_exist(memc, S("frog")));
24
25 SECTION("deleted not found") {
26 REQUIRE_SUCCESS(memcached_delete(memc, S("frog"), 0));
27 REQUIRE_RC(MEMCACHED_NOTFOUND, memcached_exist(memc, S("frog")));
28 }
29 }
30
31 SECTION("by key") {
32 SECTION("initial not found") {
33 REQUIRE_RC(MEMCACHED_NOTFOUND, memcached_exist_by_key(memc, S("master"), S("frog")));
34 }
35
36 SECTION("set found") {
37 REQUIRE_SUCCESS(memcached_set_by_key(memc, S("master"), S("frog"), S("frog"), 0, 0));
38 REQUIRE_SUCCESS(memcached_exist_by_key(memc, S("master"), S("frog")));
39
40 SECTION("deleted not found") {
41 REQUIRE_SUCCESS(memcached_delete_by_key(memc, S("master"), S("frog"), 0));
42 REQUIRE_RC(MEMCACHED_NOTFOUND, memcached_exist_by_key(memc, S("master"), S("frog")));
43 }
44 }
45 }
46 }
47
48 }