libmemcached: fix #13
[awesomized/libmemcached] / tests / libmemcached-1.0 / server_add.cc
index b343bf9c706e540b90f728f3f7912c6dbd593756..49eb8448977e5e8fc35a61fdf93127147785b0da 100644 (file)
  *
  */
 
-#include <config.h>
-#include <libtest/test.hpp>
+#include <mem_config.h>
+#include <libtest/yatl.h>
+
+#include <string>
 
 using namespace libtest;
 
-#include <libmemcached/memcached.h>
+#include <libmemcached-1.0/memcached.h>
 
 #include <tests/server_add.h>
 
-test_return_t memcached_server_add_null_test(memcached_st*)
+static std::string random_hostname()
 {
-  memcached_st *memc= memcached_create(NULL);
+  libtest::vchar_t hostname;
+  libtest::vchar::make(hostname, 23);
+  libtest::vchar::append(hostname, ".com");
 
-  test_compare(MEMCACHED_SUCCESS, memcached_server_add(memc, NULL, 0));
+  return std::string(&hostname[0]);
+}
 
-  memcached_free(memc);
+test_return_t memcached_server_add_null_test(memcached_st* memc)
+{
+  ASSERT_EQ(0, memcached_server_count(memc));
+
+  test_compare(MEMCACHED_SUCCESS, memcached_server_add(memc, NULL, 0));
 
   return TEST_SUCCESS;
 }
 
-test_return_t memcached_server_add_empty_test(memcached_st*)
+test_return_t memcached_server_add_empty_test(memcached_st* memc)
 {
-  memcached_st *memc= memcached_create(NULL);
+  ASSERT_EQ(0, memcached_server_count(memc));
 
   test_compare(MEMCACHED_SUCCESS, memcached_server_add(memc, "", 0));
 
-  memcached_free(memc);
+  return TEST_SUCCESS;
+}
+
+test_return_t memcached_server_many_TEST(memcached_st* memc)
+{
+  ASSERT_EQ(0, memcached_server_count(memc));
+
+  in_port_t base_port= 5555;
+  for (in_port_t x= 0; x < 100; ++x)
+  {
+    std::string hostname(random_hostname());
+    ASSERT_TRUE(hostname.size());
+    test_compare(MEMCACHED_SUCCESS, memcached_server_add(memc, hostname.c_str(), base_port +x));
+  }
+
+  return TEST_SUCCESS;
+}
+
+test_return_t memcached_server_many_weighted_TEST(memcached_st* memc)
+{
+  ASSERT_EQ(0, memcached_server_count(memc));
+
+  in_port_t base_port= 5555;
+  for (in_port_t x= 0; x < 100; ++x)
+  {
+    std::string hostname(random_hostname());
+    ASSERT_TRUE(hostname.size());
+    test_compare(MEMCACHED_SUCCESS, memcached_server_add_with_weight(memc, hostname.c_str(), base_port +x, x % 10));
+  }
 
   return TEST_SUCCESS;
 }
+
+test_return_t memcached_servers_reset_test(memcached_st* memc)
+{
+  ASSERT_EQ(0, memcached_server_count(memc));
+
+  test_compare(MEMCACHED_SUCCESS, memcached_server_add(memc, "localhost", 11511));
+
+  memcached_servers_reset(memc);
+
+  test_compare(MEMCACHED_SUCCESS, memcached_server_add(memc, "localhost", 11511));
+
+  return TEST_SUCCESS;
+}
+