tests: investigating catch2
[awesomized/libmemcached] / testing / server.cpp
1 #include "lib/catch.hpp"
2 #include "lib/Cluster.hpp"
3
4 #include "lib/random_.hpp"
5
6 TEST_CASE("Server") {
7 Server server{"memcached"};
8
9 SECTION("starts and listens") {
10
11 REQUIRE(server.start().has_value());
12 REQUIRE(server.isListening());
13
14 SECTION("stops") {
15
16 REQUIRE(server.stop());
17
18 SECTION("is waitable") {
19
20 REQUIRE(server.wait());
21
22 SECTION("stopped") {
23 REQUIRE(server.is)
24 }
25 }
26 }
27 }
28 }
29
30 TEST_CASE("Cluster") {
31 Cluster cluster{Server{"memcached", {
32 random_socket_or_port_arg(),
33 }}};
34
35 SECTION("starts and listens") {
36
37 REQUIRE(cluster.start());
38 REQUIRE(cluster.isListening());
39
40 SECTION("stops") {
41
42 cluster.stop();
43 cluster.wait();
44
45 SECTION("stopped") {
46
47 REQUIRE(cluster.isStopped());
48 }
49 }
50 }
51 }