TSG-6704 增加gtest用例

This commit is contained in:
彭宣正
2021-04-28 18:29:29 +08:00
parent 60b4540fb8
commit 4c9a8f89c4
17 changed files with 1297 additions and 126 deletions

View File

@@ -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)

123
gtest/conf/default.conf Normal file
View File

@@ -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

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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_open_fd, buffer)
TEST(hos_init_instance, param_error)
{
hos_instance hos_instance = hos_init_instance("../conf/default.conf", "hos_default_conf", 1, "hos_test_bucket");
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_init_instance, no_fs2)
{
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);
}

111
gtest/gtest_hos_open_fd.cpp Normal file
View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}

491
gtest/gtest_hos_write.cpp Normal file
View File

@@ -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);
}
}