#include #include "hos_client.h" #define HOS_CONF "../conf/default.conf" #define HOS_BUCKET "hos_test_bucket" TEST(hos_open_fd, normal) { hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_default_conf", 2, HOS_BUCKET); EXPECT_EQ(hos_instance->result, true); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, "http://192.168.44.12:9098/hos/"); size_t fd = hos_open_fd(HOS_BUCKET, "object", NULL, NULL, 0, BUFF_MODE); EXPECT_EQ(fd, 3); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, "http://192.168.44.12:9098/hos/"); size_t fd1 = hos_open_fd(HOS_BUCKET, "object", NULL, NULL, 1, BUFF_MODE); EXPECT_EQ(fd1, 3); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, "http://192.168.44.12:9098/hos/"); int ret = hos_close_fd(fd, 0); EXPECT_EQ(ret, HOS_CLIENT_OK); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, "http://192.168.44.12:9098/hos/"); ret = hos_close_fd(fd1, 1); EXPECT_EQ(ret, HOS_CLIENT_OK); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, "http://192.168.44.12:9098/hos/"); ret = hos_shutdown_instance(); EXPECT_EQ(ret, HOS_CLIENT_OK); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, NULL); } TEST(hos_open_fd, paramer_error) { hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_default_conf", 2, HOS_BUCKET); EXPECT_EQ(hos_instance->result, true); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, "http://192.168.44.12:9098/hos/"); int fd = hos_open_fd(NULL, "object", NULL, NULL, 0, BUFF_MODE); EXPECT_EQ(fd, HOS_PARAMETER_ERROR); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, "http://192.168.44.12:9098/hos/"); int ret = hos_shutdown_instance(); EXPECT_EQ(ret, HOS_CLIENT_OK); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, NULL); } TEST(hos_open_fd, over_threadnums) { hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_default_conf", 2, HOS_BUCKET); EXPECT_EQ(hos_instance->result, true); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, "http://192.168.44.12:9098/hos/"); int fd = hos_open_fd(HOS_CONF, "object", NULL, NULL, 3, BUFF_MODE); EXPECT_EQ(fd, HOS_PARAMETER_ERROR); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, "http://192.168.44.12:9098/hos/"); int ret = hos_shutdown_instance(); EXPECT_EQ(ret, HOS_CLIENT_OK); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, NULL); } TEST(hos_open_fd, fd_not_enough) { int i = 0, fd = 0; hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_default_conf", 2, HOS_BUCKET); EXPECT_EQ(hos_instance->result, true); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, "http://192.168.44.12:9098/hos/"); for (i = 0; i < 65533; i++) { fd = hos_open_fd(HOS_CONF, "object", NULL, NULL, 0, BUFF_MODE); EXPECT_EQ(fd, i+3); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, "http://192.168.44.12:9098/hos/"); } fd = hos_open_fd(HOS_CONF, "object", NULL, NULL, 0, BUFF_MODE); EXPECT_EQ(fd, HOS_FD_NOT_ENOUGH); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, "http://192.168.44.12:9098/hos/"); int ret = hos_shutdown_instance(); EXPECT_EQ(ret, HOS_CLIENT_OK); EXPECT_EQ(hos_instance->error_code, 0); EXPECT_STREQ(hos_instance->error_message, ""); EXPECT_STREQ(hos_instance->hos_url_prefix, NULL); } TEST(hos_open_fd, not_init_instance) { int fd = hos_open_fd(HOS_CONF, "object", NULL, NULL, 0, BUFF_MODE); EXPECT_EQ(fd, HOS_INSTANCE_NOT_INIT); }