testing: flush tests
[awesomized/libmemcached] / testing / lib / MemcachedCluster.cpp
index 9da89a960075b13b9df86397b062e4b08719506d..910aca3ce2ea3dab2a547ca5bd14d33ab7c89ab1 100644 (file)
@@ -34,7 +34,7 @@ void MemcachedCluster::flush() {
 
 MemcachedCluster::MemcachedCluster()
 : cluster{Server{
-  getenv_else("MEMCACHED_BINARY", "memcached"),
+  MEMCACHED_BINARY,
   {random_socket_or_port_arg()}
 }}
 {
@@ -42,25 +42,38 @@ MemcachedCluster::MemcachedCluster()
 }
 
 MemcachedCluster::MemcachedCluster(Cluster &&cluster_)
-: cluster{forward<Cluster>(cluster_)}
+: cluster{move(cluster_)}
 {
   init();
 }
 
+MemcachedCluster::MemcachedCluster(MemcachedCluster &&mc)
+    : cluster{Server{}}
+{
+  *this = move(mc);
+}
+
+MemcachedCluster &MemcachedCluster::operator=(MemcachedCluster &&mc) {
+  cluster = move(mc.cluster);
+  memcached_clone(&memc, &mc.memc);
+  returns = ReturnMatcher{&memc};
+  return *this;
+}
+
 MemcachedCluster MemcachedCluster::mixed() {
   return MemcachedCluster{};
 }
 
 MemcachedCluster MemcachedCluster::network() {
   return MemcachedCluster{Cluster{Server{
-    getenv_else("MEMCACHED_BINARY", "memcached"),
+    MEMCACHED_BINARY,
     {"-p", random_socket_or_port_string}
   }}};
 }
 
 MemcachedCluster MemcachedCluster::socket() {
   return MemcachedCluster{Cluster{Server{
-    getenv_else("MEMCACHED_BINARY", "memcached"),
+    MEMCACHED_BINARY,
     {"-s", random_socket_or_port_string}
   }}};
 }
@@ -70,42 +83,13 @@ void MemcachedCluster::enableBinaryProto(bool enable) {
       MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, enable));
 }
 
-MemcachedCluster::MemcachedCluster(MemcachedCluster &&mc)
-    : cluster{Server{}}
-{
-  *this = move(mc);
-}
-
-MemcachedCluster &MemcachedCluster::operator=(MemcachedCluster &&mc) {
-  cluster = move(mc.cluster);
-  memcached_clone(&memc, &mc.memc);
-  returns = ReturnMatcher{&memc};
-  return *this;
-}
-
-ReturnMatcher &ReturnMatcher::operator=(ReturnMatcher &&rm) {
-  memc = exchange(rm.memc, nullptr);
-  expected = rm.expected;
-  return *this;
-}
-
-bool ReturnMatcher::match(const memcached_return_t &arg) const {
-  return arg == expected;
-}
-
-ReturnMatcher ReturnMatcher::success() {
-  return ReturnMatcher{memc};
-}
-
-ReturnMatcher ReturnMatcher::operator()(memcached_return_t expected_) {
-  return ReturnMatcher{memc, expected_};
+void MemcachedCluster::enableBuffering(bool enable) {
+  REQUIRE(MEMCACHED_SUCCESS == memcached_behavior_set(&memc,
+      MEMCACHED_BEHAVIOR_BUFFER_REQUESTS, enable));
 }
 
-string ReturnMatcher::describe() const {
-  return "is " + to_string(expected)
-         + "\n  actual: " + memcached_last_error_message(memc);
+void MemcachedCluster::enableReplication() {
+  REQUIRE(MEMCACHED_SUCCESS == memcached_behavior_set(&memc,
+      MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS, memcached_server_count(&memc)));
 }
 
-ReturnMatcher::ReturnMatcher(ReturnMatcher &&rm) {
-  *this = move(rm);
-}