663deecb830c007686919e1f30ed3a1930a24c90
[m6w6/libmemcached] / testing / memcached / exist.cpp
1 #include "../lib/common.hpp"
2 #include "../lib/MemcachedCluster.hpp"
3
4 TEST_CASE("memcached exist") {
5 MemcachedCluster tests[]{
6 MemcachedCluster::mixed(),
7 MemcachedCluster::net(),
8 MemcachedCluster::socket()
9 };
10
11 tests[0].enableBinary();
12
13 LOOPED_SECTION(tests) {
14 auto memc = &test.memc;
15
16 SECTION("initial not found") {
17 REQUIRE(
18 MEMCACHED_NOTFOUND == memcached_exist(memc, LITERAL("frog")));
19 }
20
21 SECTION("set found") {
22 REQUIRE(MEMCACHED_SUCCESS ==
23 memcached_set(memc, LITERAL("frog"), LITERAL("frog"), 0,
24 0));
25 REQUIRE(
26 MEMCACHED_SUCCESS == memcached_exist(memc, LITERAL("frog")));
27
28 SECTION("deleted not found") {
29 REQUIRE(MEMCACHED_SUCCESS ==
30 memcached_delete(memc, LITERAL("frog"), 0));
31 REQUIRE(MEMCACHED_NOTFOUND ==
32 memcached_exist(memc, LITERAL("frog")));
33 }
34 }
35
36 SECTION("by key") {
37 SECTION("initial not found") {
38 REQUIRE(MEMCACHED_NOTFOUND ==
39 memcached_exist_by_key(memc, LITERAL("master"),
40 LITERAL("frog")));
41 }
42
43 SECTION("set found") {
44 REQUIRE(MEMCACHED_SUCCESS ==
45 memcached_set_by_key(memc, LITERAL("master"),
46 LITERAL("frog"), LITERAL("frog"), 0, 0));
47 REQUIRE(MEMCACHED_SUCCESS ==
48 memcached_exist_by_key(memc, LITERAL("master"),
49 LITERAL("frog")));
50
51 SECTION("deleted not found") {
52 REQUIRE(MEMCACHED_SUCCESS ==
53 memcached_delete_by_key(memc, LITERAL("master"),
54 LITERAL("frog"), 0));
55 REQUIRE(MEMCACHED_NOTFOUND ==
56 memcached_exist_by_key(memc, LITERAL("master"),
57 LITERAL("frog")));
58 }
59 }
60 }
61 }
62 }