summaryrefslogtreecommitdiff
path: root/gtest
diff options
context:
space:
mode:
Diffstat (limited to 'gtest')
-rw-r--r--gtest/CMakeLists.txt8
-rw-r--r--gtest/conf/default.conf123
-rw-r--r--gtest/gtest_hos_close_fd.cpp78
-rw-r--r--gtest/gtest_hos_create_bucket.cpp21
-rw-r--r--gtest/gtest_hos_get_instance.cpp32
-rw-r--r--gtest/gtest_hos_init_instance.cpp59
-rw-r--r--gtest/gtest_hos_open_fd.cpp111
-rw-r--r--gtest/gtest_hos_shutdown_instance.cpp49
-rw-r--r--gtest/gtest_hos_upload_buff.cpp87
-rw-r--r--gtest/gtest_hos_upload_file.cpp106
-rw-r--r--gtest/gtest_hos_verify_bucket.cpp51
-rw-r--r--gtest/gtest_hos_write.cpp491
12 files changed, 1181 insertions, 35 deletions
diff --git a/gtest/CMakeLists.txt b/gtest/CMakeLists.txt
index 174a7081..8cd3ab35 100644
--- a/gtest/CMakeLists.txt
+++ b/gtest/CMakeLists.txt
@@ -1,12 +1,14 @@
cmake_minimum_required(VERSION 3.0)
project(gtest_hos_client)
-#aux_source_directory(. SRCS)
+aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} SRCS)
include_directories("/opt/MESA/include")
link_directories("/opt/MESA/lib")
#link_libraries(hos-client-cpp gtest gtest_main pthread)
-add_definitions(-g -W -Wall)
-add_executable(gtest_hos_client gtest_hos_init_instance.cpp)
+add_definitions(-g -W -Wall -std=c++11)
+#add_executable(gtest_hos_client gtest_hos_init_instance.cpp gtest_hos_get_instance.cpp)
+#add_executable(gtest_hos_client gtest_hos_write.cpp)
+add_executable(gtest_hos_client ${SRCS})
target_link_libraries(gtest_hos_client hos-client-cpp gtest gtest_main pthread)
diff --git a/gtest/conf/default.conf b/gtest/conf/default.conf
new file mode 100644
index 00000000..f2446c97
--- /dev/null
+++ b/gtest/conf/default.conf
@@ -0,0 +1,123 @@
+[hos_default_conf]
+hos_serverip=192.168.44.12
+hos_serverport=9098
+hos_accesskeyid="default"
+hos_secretkey="default"
+hos_log_path="./hoslog"
+#default
+hos_log_level=30
+#default
+hos_poolsize=10
+#default
+hos_thread_sum=32
+#default
+hos_cache_size=102400
+#default
+hos_cache_count=10
+#default
+hos_fd_live_time_ms=1000
+#default
+hos_fs2_serverip=127.0.0.1
+hos_fs2_serverport=10086
+hos_fs2_path="./log/hos_fs2_log"
+#default
+hos_fs2_format=0
+#defaul
+
+[hos_sync_conf]
+hos_serverip=192.168.44.12
+hos_serverport=9098
+hos_accesskeyid="default"
+hos_secretkey="default"
+hos_log_path="./log/hoslog"
+#default
+hos_log_level=30
+#default
+hos_poolsize=0
+#default
+hos_thread_sum=32
+#default
+hos_cache_size=102400
+#default
+hos_cache_count=10
+#default
+hos_fd_live_time_ms=1000
+#default
+hos_fs2_serverip=127.0.0.1
+hos_fs2_serverport=10086
+hos_fs2_path="./log/hos_fs2_log"
+#default
+hos_fs2_format=0
+#default
+
+[hos_no_fs2_conf]
+hos_serverip=192.168.44.12
+hos_serverport=9098
+hos_accesskeyid="default"
+hos_secretkey="default"
+hos_log_path="./log/hoslog"
+#default
+hos_log_level=30
+#default
+hos_poolsize=10
+#default
+hos_thread_sum=32
+#default
+hos_cache_size=102400
+#default
+hos_cache_count=10
+#default
+hos_fd_live_time_ms=1000
+#default
+hos_fs2_path="./log/hos_fs2_log"
+#default
+hos_fs2_format=0
+#default
+
+[hos_default_conf]
+hos_log_path="./log/hoslog"
+#default
+hos_log_level=30
+#default
+hos_poolsize=10
+#default
+hos_thread_sum=32
+#default
+hos_cache_size=102400
+#default
+hos_cache_count=10
+#default
+hos_fd_live_time_ms=1000
+#default
+hos_fs2_serverip=127.0.0.1
+hos_fs2_serverport=10086
+hos_fs2_path="./log/hos_fs2_log"
+#default
+hos_fs2_format=0
+#default
+
+[hos_error_server_conf]
+hos_serverip=192.168.40.146
+hos_serverport=9098
+hos_accesskeyid="default"
+hos_secretkey="default"
+hos_log_path="./log/hoslog"
+#default
+hos_log_level=30
+#default
+hos_poolsize=0
+#default
+hos_thread_sum=32
+#default
+hos_cache_size=102400
+#default
+hos_cache_count=10
+#default
+hos_fd_live_time_ms=1000
+#default
+hos_fs2_serverip=127.0.0.1
+hos_fs2_serverport=10086
+hos_fs2_path="./log/hos_fs2_log"
+#default
+hos_fs2_format=0
+#default
diff --git a/gtest/gtest_hos_close_fd.cpp b/gtest/gtest_hos_close_fd.cpp
new file mode 100644
index 00000000..f6172030
--- /dev/null
+++ b/gtest/gtest_hos_close_fd.cpp
@@ -0,0 +1,78 @@
+#include <aws/external/gtest.h>
+#include "hos_client.h"
+
+#define HOS_CONF "../conf/default.conf"
+#define HOS_BUCKET "hos_test_bucket"
+
+TEST(hos_close_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/");
+ 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_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_close_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_close_fd(fd, 0);
+ EXPECT_EQ(ret, 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/");
+ 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_close_fd, not_init_instance)
+{
+ int ret = hos_close_fd(1,1);
+ EXPECT_EQ(ret, HOS_INSTANCE_NOT_INIT);
+}
+
+TEST(hos_close_fd, fd_not_exits)
+{
+ 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 ret = hos_close_fd(7, 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_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);
+} \ No newline at end of file
diff --git a/gtest/gtest_hos_create_bucket.cpp b/gtest/gtest_hos_create_bucket.cpp
deleted file mode 100644
index ff6d1fdb..00000000
--- a/gtest/gtest_hos_create_bucket.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-/*************************************************************************
- > File Name: gtest_hos_create_bucket.cpp
- > Author: pxz
- > Created Time: Tue 29 Sep 2020 10:32:14 AM CST
- ************************************************************************/
-#include <gtest/gtest.h>
-#include "hos_client.h"
-
-TEST(hos_create_bucket, normal)
-{
- hos_client_handle handle = hos_client_create("http://192.168.40.151/hos/", "default", "default", 1);
- int ret = hos_create_bucket(handle, "mybucket");
- EXPECT(HOS_CLIENT_OK, ret);
-}
-
-TEST(hos_create_bucket, parameter_error)
-{
- hos_client_handle handle = hos_client_create("http://192.168.40.151/hos/", "default", "default", 1);
- int ret = hos_create_bucket(handle, NULL);
- EXPECT(HOS_CLIENT_OK, HOS_PARAMETER_ERROR);
-}
diff --git a/gtest/gtest_hos_get_instance.cpp b/gtest/gtest_hos_get_instance.cpp
new file mode 100644
index 00000000..4639ea0b
--- /dev/null
+++ b/gtest/gtest_hos_get_instance.cpp
@@ -0,0 +1,32 @@
+#include <aws/external/gtest.h>
+#include "hos_client.h"
+
+#define HOS_CONF "../conf/default.conf"
+#define HOS_BUCKET "hos_test_bucket"
+
+TEST(hos_get_instance, normal)
+{
+ hos_instance hos_instance = hos_get_instance();
+ EXPECT_EQ(hos_instance->result, false);
+ hos_instance = hos_init_instance(HOS_CONF, "hos_default_conf", 1, 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/");
+ hos_instance = hos_get_instance();
+ 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/");
+ hos_shutdown_instance();
+ 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/");
+ hos_shutdown_instance();
+ EXPECT_EQ(hos_instance->result, false);
+ EXPECT_EQ(hos_instance->error_code, 0);
+ EXPECT_STREQ(hos_instance->error_message, "");
+ EXPECT_STREQ(hos_instance->hos_url_prefix, NULL);
+}
+
diff --git a/gtest/gtest_hos_init_instance.cpp b/gtest/gtest_hos_init_instance.cpp
index 54b9bc27..7d1fdaff 100644
--- a/gtest/gtest_hos_init_instance.cpp
+++ b/gtest/gtest_hos_init_instance.cpp
@@ -6,20 +6,69 @@
#include <aws/external/gtest.h>
#include "hos_client.h"
+#define HOS_CONF "../conf/default.conf"
+#define HOS_BUCKET "hos_test_bucket"
+
TEST(hos_init_instance, normal)
{
- hos_instance hos_instance = hos_init_instance("../conf/default.conf", "hos_default_conf", 1, "hos_test_bucket");
+ hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_default_conf", 1, 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 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_init_instance, param_error)
+{
+ hos_instance hos_instance = hos_init_instance(NULL, "hos_default_conf", 1, HOS_BUCKET);
+ EXPECT_EQ(hos_instance->result, false);
+ EXPECT_EQ(hos_instance->error_code, HOS_PARAMETER_ERROR);
+ EXPECT_STREQ(hos_instance->error_message, "param error:conf_path:(null), module:hos_default_conf, thread_num:1, bucket:hos_test_bucket");
+ EXPECT_STREQ(hos_instance->hos_url_prefix, NULL);
}
-TEST(hos_open_fd, buffer)
+TEST(hos_init_instance, no_fs2)
{
- hos_instance hos_instance = hos_init_instance("../conf/default.conf", "hos_default_conf", 1, "hos_test_bucket");
+ hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_no_fs2_conf", 1, HOS_BUCKET);
EXPECT_EQ(hos_instance->result, true);
- int fd = hos_open_fd("hos_test_bucket", "hos_test_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/");
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_init_instance, bucket_not_exits)
+{
+ hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_default_conf", 1, "hos_bucket_not_exits");
+ EXPECT_EQ(hos_instance->result, false);
+ EXPECT_EQ(hos_instance->error_code, HOS_BUCKET_NOT_EXIST);
+ EXPECT_STREQ(hos_instance->error_message, "bucket:hos_bucket_not_exits not exits.");
+ EXPECT_STREQ(hos_instance->hos_url_prefix, NULL);
+}
+
+TEST(hos_init_instance, conf_error)
+{
+ hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_error_conf", 1, "hos_bucket_not_exits");
+ EXPECT_EQ(hos_instance->result, false);
+ EXPECT_EQ(hos_instance->error_code, HOS_CONF_ERROR);
+ EXPECT_STREQ(hos_instance->error_message, "hos param error:hos ip:, hos port:0, accesskeyid:, secretkey:");
+ EXPECT_STREQ(hos_instance->hos_url_prefix, NULL);
+}
+
+TEST(hos_init_instance, server_conn_failed)
+{
+ hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_error_server_conf", 1, "hos_bucket_not_exits");
+ EXPECT_EQ(hos_instance->result, false);
+ EXPECT_EQ(hos_instance->error_code, NETWORK_CONNECTION);
+ EXPECT_STREQ(hos_instance->error_message, "curlCode: 7, Couldn't connect to server");
+ EXPECT_STREQ(hos_instance->hos_url_prefix, NULL);
} \ No newline at end of file
diff --git a/gtest/gtest_hos_open_fd.cpp b/gtest/gtest_hos_open_fd.cpp
new file mode 100644
index 00000000..7b0bbbed
--- /dev/null
+++ b/gtest/gtest_hos_open_fd.cpp
@@ -0,0 +1,111 @@
+#include <aws/external/gtest.h>
+#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);
+} \ No newline at end of file
diff --git a/gtest/gtest_hos_shutdown_instance.cpp b/gtest/gtest_hos_shutdown_instance.cpp
new file mode 100644
index 00000000..7cdd1ec6
--- /dev/null
+++ b/gtest/gtest_hos_shutdown_instance.cpp
@@ -0,0 +1,49 @@
+/*************************************************************************
+ > File Name: gtest_hos_cleint_create.cpp
+ > Author: pxz
+ > Created Time: Tue 29 Sep 2020 10:20:49 AM CST
+ ************************************************************************/
+#include <aws/external/gtest.h>
+#include "hos_client.h"
+
+#define HOS_CONF "../conf/default.conf"
+#define HOS_BUCKET "hos_test_bucket"
+
+TEST(hos_shutdown_instance, normal)
+{
+ hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_default_conf", 1, 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 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_shutdown_instance, no_init)
+{
+ int ret = hos_shutdown_instance();
+ EXPECT_EQ(ret, HOS_CLIENT_OK);
+}
+
+TEST(hos_shutdown_instance, shutdown_more)
+{
+ hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_default_conf", 1, 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 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);
+ 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);
+}
diff --git a/gtest/gtest_hos_upload_buff.cpp b/gtest/gtest_hos_upload_buff.cpp
new file mode 100644
index 00000000..3d4e8733
--- /dev/null
+++ b/gtest/gtest_hos_upload_buff.cpp
@@ -0,0 +1,87 @@
+#include <aws/external/gtest.h>
+#include "hos_client.h"
+
+#define HOS_CONF "../conf/default.conf"
+#define HOS_BUCKET "hos_test_bucket"
+#define HOS_BUFF "This is a googletest"
+
+static void hos_callback(bool result, const char *bucket, const char *object, const char *error, void *userdata)
+{
+ SUCCEED();
+ EXPECT_EQ(result, true);
+ EXPECT_STREQ(bucket, HOS_BUCKET);
+ EXPECT_STREQ(object, (char *)userdata);
+ EXPECT_STREQ(error, NULL);
+}
+
+static void hos_bucket_not_exits_cb(bool result, const char *bucket, const char *object, const char *error, void *userdata)
+{
+ SUCCEED();
+ EXPECT_EQ(result, false);
+ EXPECT_STREQ(bucket, "bucket_not_exits");
+ EXPECT_STREQ(object, (char *)userdata);
+ EXPECT_STREQ(error, "The specified bucket does not exist.");
+}
+
+TEST(hos_upload_buff, 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/");
+ int ret = hos_upload_buf(HOS_BUCKET, "object", HOS_BUFF, strlen(HOS_BUFF), hos_callback, (void *)"object", 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_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_upload_buff, bucket_not_exits)
+{
+ 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 ret = hos_upload_buf("bucket_not_exits", "object", HOS_BUFF, strlen(HOS_BUFF), hos_bucket_not_exits_cb, (void *)"object", 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_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_upload_buff, param_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 ret = hos_upload_buf(NULL, "object", HOS_BUFF, strlen(HOS_BUFF), hos_callback, (void *)"object", 0);
+ EXPECT_EQ(ret, 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/");
+ 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_upload_buff, not_init_instance)
+{
+ int ret = hos_upload_buf(HOS_BUCKET, "object", HOS_BUFF, strlen(HOS_BUFF), hos_callback, (void *)"object", 0);
+ EXPECT_EQ(ret, HOS_INSTANCE_NOT_INIT);
+}
diff --git a/gtest/gtest_hos_upload_file.cpp b/gtest/gtest_hos_upload_file.cpp
new file mode 100644
index 00000000..2049b5df
--- /dev/null
+++ b/gtest/gtest_hos_upload_file.cpp
@@ -0,0 +1,106 @@
+#include <aws/external/gtest.h>
+#include "hos_client.h"
+
+#define HOS_CONF "../conf/default.conf"
+#define HOS_BUCKET "hos_test_bucket"
+#define HOS_BUFF "Makefile"
+
+static void hos_callback(bool result, const char *bucket, const char *object, const char *error, void *userdata)
+{
+ SUCCEED();
+ EXPECT_EQ(result, true);
+ EXPECT_STREQ(bucket, HOS_BUCKET);
+ EXPECT_STREQ(object, (char *)userdata);
+ EXPECT_STREQ(error, NULL);
+}
+
+static void hos_bucket_not_exits_cb(bool result, const char *bucket, const char *object, const char *error, void *userdata)
+{
+ SUCCEED();
+ EXPECT_EQ(result, false);
+ EXPECT_STREQ(bucket, HOS_BUCKET);
+ EXPECT_STREQ(object, (char *)userdata);
+ EXPECT_STREQ(error, "The specified bucket does not exist.");
+}
+
+TEST(hos_upload_file, 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/");
+ int ret = hos_upload_file(HOS_BUCKET, HOS_BUFF, hos_callback, (void *)HOS_BUFF, 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_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_upload_file, param_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 ret = hos_upload_file(NULL, "object", hos_callback, (void *)"object", 0);
+ EXPECT_EQ(ret, 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/");
+ 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_upload_file, file_not_exits)
+{
+ 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 ret = hos_upload_file(HOS_BUCKET, "file_not_exits", hos_callback, (void *)"object", 0);
+ EXPECT_EQ(ret, HOS_FILE_NOT_EXIST);
+ 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_upload_file, not_init_instance)
+{
+ int ret = hos_upload_file(HOS_BUCKET, HOS_BUFF, hos_callback, (void *)"object", 0);
+ EXPECT_EQ(ret, HOS_INSTANCE_NOT_INIT);
+}
+
+TEST(hos_upload_file, bucket_not_exits)
+{
+ 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 ret = hos_upload_file(HOS_BUCKET, HOS_CONF, hos_bucket_not_exits_cb, (void *)HOS_CONF, 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_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);
+}
diff --git a/gtest/gtest_hos_verify_bucket.cpp b/gtest/gtest_hos_verify_bucket.cpp
index 456c4514..0a281193 100644
--- a/gtest/gtest_hos_verify_bucket.cpp
+++ b/gtest/gtest_hos_verify_bucket.cpp
@@ -3,15 +3,54 @@
> Author: pxz
> Created Time: Tue 29 Sep 2020 10:32:14 AM CST
************************************************************************/
-#include <gtest/gtest.h>
+#include <aws/external/gtest.h>
#include "hos_client.h"
+#define HOS_CONF "../conf/default.conf"
+#define HOS_BUCKET "hos_test_bucket"
+
TEST(hos_verify_bucket, normal)
{
- int ret = -1;
- hos_client_handle handle = hos_client_create("http://192.168.40.151/hos/", "default", "default", 1);
- if (hos_create_bucket(handle, "mybcuket"))
- ret = hos_verify_bucket(handle, "mybucket");
- EXPECT(HOS_CLIENT_OK, ret);
+ hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_default_conf", 1, 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/");
+ bool result = hos_verify_bucket(HOS_BUCKET);
+ EXPECT_EQ(result, true);
+ 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 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_verify_bucket, not_exits)
+{
+ hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_default_conf", 1, 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/");
+ bool result = hos_verify_bucket("hos_not_exits_bucket");
+ EXPECT_EQ(result, false);
+ 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 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_verify_bucket, no_instance)
+{
+ bool result = hos_verify_bucket("hos_not_exits_bucket");
+ EXPECT_EQ(result, false);
+}
diff --git a/gtest/gtest_hos_write.cpp b/gtest/gtest_hos_write.cpp
new file mode 100644
index 00000000..96602090
--- /dev/null
+++ b/gtest/gtest_hos_write.cpp
@@ -0,0 +1,491 @@
+#include <aws/external/gtest.h>
+#include "hos_client.h"
+
+#define HOS_CONF "../conf/default.conf"
+#define HOS_BUCKET "hos_test_bucket"
+#define HOS_BUFF "This a googleTest"
+#define HOS_FILE "../conf/default.conf"
+
+static void hos_callback(bool result, const char *bucket, const char *object, const char *error, void *userdata)
+{
+ SUCCEED();
+ EXPECT_EQ(result, true);
+ EXPECT_STREQ(bucket, HOS_BUCKET);
+ EXPECT_STREQ(object, (char *)userdata);
+ EXPECT_STREQ(error, NULL);
+}
+static void hos_write_buff_cb(bool result, const char *bucket, const char *object, const char *error, void *userdata)
+{
+ SUCCEED();
+ EXPECT_EQ(result, true);
+ EXPECT_STREQ(bucket, HOS_BUCKET);
+ EXPECT_STREQ(object, (char *)userdata);
+ EXPECT_STREQ(error, NULL);
+}
+static void hos_write_append_cb(bool result, const char *bucket, const char *object, const char *error, void *userdata)
+{
+ SUCCEED();
+ EXPECT_EQ(result, true);
+ EXPECT_STREQ(bucket, HOS_BUCKET);
+ EXPECT_STREQ(object, (char *)userdata);
+ EXPECT_STREQ(error, NULL);
+}
+static void hos_write_file_cb(bool result, const char *bucket, const char *object, const char *error, void *userdata)
+{
+ SUCCEED();
+ EXPECT_EQ(result, true);
+ EXPECT_STREQ(bucket, HOS_BUCKET);
+ EXPECT_STREQ(object, (char *)userdata);
+ EXPECT_STREQ(error, NULL);
+}
+static void hos_bucket_not_exits_cb(bool result, const char *bucket, const char *object, const char *error, void *userdata)
+{
+ SUCCEED();
+ EXPECT_EQ(result, false);
+ EXPECT_STREQ(bucket, "bucket_not_exits");
+ EXPECT_STREQ(object, (char *)userdata);
+ EXPECT_STREQ(error, "The specified bucket does not exist.");
+}
+
+TEST(hos_write, normal)
+{
+ hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_default_conf", 3, 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_buff", hos_write_buff_cb, (void *)"object_buff", 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/");
+ int ret = hos_write(fd, HOS_BUFF, strlen(HOS_BUFF), 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/");
+
+ size_t fd1 = hos_open_fd(HOS_BUCKET, "object_append", hos_write_append_cb, (void *)"object_append", 1, BUFF_MODE | APPEND_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/");
+
+ ret = hos_write(fd1, HOS_BUFF, strlen(HOS_BUFF), 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_write(fd1, HOS_BUFF, strlen(HOS_BUFF), 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/");
+
+ size_t fd2 = hos_open_fd(HOS_BUCKET, "object_file", hos_write_file_cb, (void *)"object_file", 2, FILE_MODE);
+ EXPECT_EQ(fd2, 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/");
+ ret = hos_write(fd2, HOS_FILE, strlen(HOS_CONF), 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(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, 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(fd2, 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_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_write, bucket_not_exits)
+{
+ hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_default_conf", 3, 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("bucket_not_exits", "object_buff", hos_bucket_not_exits_cb, (void *)"object_buff", 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/");
+ int ret = hos_write(fd, HOS_BUFF, strlen(HOS_BUFF), 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/");
+
+ size_t fd1 = hos_open_fd("bucket_not_exits", "object_append", hos_bucket_not_exits_cb, (void *)"object_append", 1, BUFF_MODE | APPEND_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/");
+
+ ret = hos_write(fd1, HOS_BUFF, strlen(HOS_BUFF), 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_write(fd1, HOS_BUFF, strlen(HOS_BUFF), 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/");
+
+ size_t fd2 = hos_open_fd("bucket_not_exits", "object_file", hos_bucket_not_exits_cb, (void *)"object_file", 2, FILE_MODE);
+ EXPECT_EQ(fd2, 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/");
+ ret = hos_write(fd2, HOS_FILE, strlen(HOS_CONF), 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(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, 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(fd2, 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_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_write, sync_mode)
+{
+ hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_sync_conf", 3, 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_buff", 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/");
+ int ret = hos_write(fd, HOS_BUFF, strlen(HOS_BUFF), 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/");
+
+ size_t fd1 = hos_open_fd(HOS_BUCKET, "object_append", NULL, NULL, 1, BUFF_MODE | APPEND_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/");
+
+ ret = hos_write(fd1, HOS_BUFF, strlen(HOS_BUFF), 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_write(fd1, HOS_BUFF, strlen(HOS_BUFF), 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/");
+
+ size_t fd2 = hos_open_fd(HOS_BUCKET, "object_buff", NULL, NULL, 2, FILE_MODE);
+ EXPECT_EQ(fd2, 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/");
+ ret = hos_write(fd2, HOS_FILE, strlen(HOS_BUFF), 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(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, 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(fd2, 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_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_write, sync_mode_bucket_not_exits)
+{
+ hos_instance hos_instance = hos_init_instance(HOS_CONF, "hos_sync_conf", 3, 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_buff", 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/");
+ int ret = hos_write(fd, HOS_BUFF, strlen(HOS_CONF), 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/");
+
+ size_t fd1 = hos_open_fd(HOS_BUCKET, "object_append", NULL, NULL, 1, BUFF_MODE | APPEND_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/");
+
+ ret = hos_write(fd1, HOS_BUFF, strlen(HOS_CONF), 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_write(fd1, HOS_BUFF, strlen(HOS_CONF), 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/");
+
+ size_t fd2 = hos_open_fd(HOS_BUCKET, "object_buff", NULL, NULL, 2, FILE_MODE);
+ EXPECT_EQ(fd2, 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/");
+ ret = hos_write(fd2, HOS_FILE, strlen(HOS_CONF), 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(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, 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(fd2, 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_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_write, 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", hos_callback, 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_write(0, HOS_BUFF, strlen(HOS_CONF), 0);
+ EXPECT_EQ(ret, 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/");
+ 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_write, fd_not_find)
+{
+ 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 ret = hos_write(3, HOS_BUFF, strlen(HOS_CONF), 0);
+ EXPECT_EQ(ret, HOS_HASH_NOT_FIND);
+ 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_write, file_not_exit)
+{
+ 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, 0, FILE_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/");
+ int ret = hos_write(3, "not_exit_file", strlen(HOS_CONF), 0);
+ EXPECT_EQ(ret, HOS_FILE_NOT_EXIST);
+ 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_write, 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, 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/");
+ int ret = hos_write(3, HOS_BUFF, strlen(HOS_CONF), 6);
+ EXPECT_EQ(ret, 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/");
+ 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_write, not_init_instance)
+{
+ int ret = hos_write(3, HOS_BUFF, strlen(HOS_CONF), 0);
+ EXPECT_EQ(ret, HOS_INSTANCE_NOT_INIT);
+}
+static void *hos_function(void *ptr)
+{
+ #define HOS_FD_NUMS_LOCAL 20
+ //int thread_id = (int)ptr;
+ size_t thread_id = reinterpret_cast<size_t>(ptr);
+ hos_instance hos_instance = NULL;
+ int i = 0;
+ int fd[HOS_FD_NUMS_LOCAL] = {0};
+ char object[HOS_FD_NUMS_LOCAL][1024];
+ int ret = 0;
+
+ {
+ hos_instance = hos_get_instance();
+ if (hos_instance->result == false)
+ {
+ hos_instance = hos_init_instance(HOS_CONF, "hos_default_conf", 32, HOS_BUCKET);
+ }
+ }
+ EXPECT_EQ(hos_instance->result, true);
+ EXPECT_EQ(hos_instance->error_code, HOS_CLIENT_OK);
+ EXPECT_STREQ(hos_instance->error_message, "");
+ EXPECT_STREQ(hos_instance->hos_url_prefix, "http://192.168.44.12:9098/hos/");
+
+ for (i = 0; i < 20; i++)
+ {
+ snprintf(object[i], 1024, "object_%lu_%d", thread_id, i);
+ fd[i] = hos_open_fd(HOS_CONF, object[i], hos_callback, object[i], 0, BUFF_MODE | APPEND_MODE);
+ EXPECT_EQ(fd[i], 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/");
+ }
+
+ for (i = 0; i < 20; i++)
+ {
+ ret = hos_write(fd[i], HOS_BUFF, strlen(HOS_BUFF), i);
+ 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/");
+ }
+
+ for (i = 0; i < 20; i++)
+ {
+ ret = hos_close_fd(fd[i], i);
+ EXPECT_EQ(ret, 0);
+ 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, 0);
+ EXPECT_EQ(hos_instance->error_code, 0);
+ EXPECT_STREQ(hos_instance->error_message, "");
+ EXPECT_STREQ(hos_instance->hos_url_prefix, NULL);
+
+ pthread_exit(NULL);
+#undef HOS_FD_NUMS_LOCAL
+}
+
+TEST(hos_write, mutil_thread)
+{
+ pthread_t thread_num[32];
+
+ for (size_t i = 0; i < 32; i++)
+ {
+ pthread_create(&thread_num[i], NULL, hos_function, (void *)i);
+ }
+} \ No newline at end of file