Skip to content

Commit

Permalink
update testcase.
Browse files Browse the repository at this point in the history
  • Loading branch information
huiguangjun committed Jun 16, 2020
1 parent b040fcd commit 1d6ba95
Show file tree
Hide file tree
Showing 11 changed files with 234 additions and 54 deletions.
57 changes: 28 additions & 29 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,28 @@
language: c

compiler:
- gcc

install:
- sudo apt-get update
- sudo apt-get install libapr1-dev libaprutil1-dev curl
- wget --quiet https://github.com/michaelrsweet/mxml/releases/download/release-2.9/mxml-2.9.tar.gz
- tar zxf mxml-2.9.tar.gz
- cd mxml-2.9
- ./configure && make && sudo make install
- cd -
- pip install --user cpp-coveralls

script:
- cmake -DCMAKE_BUILD_TYPE=Coverage .
- make
- ./build/Coverage/bin/oss_c_sdk_test

after_success:
- coveralls --include oss_c_sdk/ --gcov-options '\-lp'

env:
global:
- secure: kvjsFXirn2+Nys0TO0eViDHTlhz0ow5AuWuQeEzJAJnLbJfqupWng0o3i4vGF7bPpxWgbrIFJro/Pwk15F1gvUGaKjXbPWn5hae3G3ZqDwdNkDYy8Hs8VnjvqlaZ4dbpqDQOFA7+49jUuzVPdHFWJgLEleE53RADfuESN/rd0Uo6C1mZEEmyEhmj2pyHSKr08UWLbbuoLuVeaF1rfLxLRAU/Ki0S1AnnFirJcsbMSICexwQ96G+bdQTdqHass6JfQfOYklnKVSrMbk/0MuV5LmeQ3A1j1AF3iRzZ4KT4FmNXwk0hoocz+la8M3B7zaUu2wuea8LV5mZ6G5bN5p2fYHXlpZaoxstMl3HUwiQH5ETX0W6bzB1rjWl2CteKR3xt2wW1qj5XDvjqBUrPNV0yibpfMdkVfLnvic16+0qZua2cjsn93d0AyNnS6cFCGAH3PGI7+3Mmg4T1S43z9XjXjHmOCT0EQ/kfGI0m+3p8TYqqQMandWbphpXZYPdHBeSv4tMMFn1p7bjwn5fxvUKCou/tvef7qD3OYjectiEzTou7Ttxz6gThiDekIf8Pbeuzq5mgnSDXr+8DTpHzKltsQBLyhezlBL9P5PW6GH3xp+/4yFHPOnsOhK7qLkiJ6CQ9JPq2noeAAh+cgKiSoZibaWj3ht2p1LynR/Kr8XQfZfQ=
- secure: pLU+jHSLKimMSX0I3sL9To7sg+hO7vEplZhCL9OPUj8vTVmdLCRnbNiTAUaUrSA0/O55lxeleBfyi6joPY5IOgCRASExhFxfsidKjskb77bKl1/izt4EH41sahlcrbmpgPRdXORyOzCN9HkuWvrR8FZsTwnBpHJ3+IxsxKURGlY8NYN50sscqM+KvctUvXf+j/y0gZK42F78bLD3WRr1Fiph9UOYOUPvnQe69tOUwrKil5u8Ho+JeQCpuXsiDJkYz232WSgKOw326AIjo99VLvw1Q3HTdU8ztsarcswjLTSMpHpPT6vxNKVd0WUi6zmZpO/CLZvqtPxtPizT54OurDB7ClUJ0KJyFRgOaaRofbKDi8xWXATIYfI92x0IHIq/4aeufc3N4zQDgjdRrp4silS56IxTi+OM/T6opIg258j7lrEUP3nz+DBOqCSYBL1pIfhJDeoWSFYE2Ehc7paVCFkoEp41lv1sgBX1At0dM7lobIlsMX2zmQPszLQTgaj8mu/5u7/tFMFSw4TWydI+el3xJVlq4ad2DpYP/yRPEcUkq64/qPZP1dSfxlwBzEOCk4zoAQHev3php32O5vDyLcV3R1Zvyr0Y1/suPMXeUEU6kvS26I9jSpwB/E3i+6HhfcqcnmaGxqr1pRw/dhedGAAayKZEqDcEpTdXf9D6BcE=
- secure: wFXioHVdO0bP4N8o/q+y76K65vyls3CIzM3I71ZN1+Ayl01Z0c1WxL+84LlhHjUetMzFG2X10zdnMmuthUz9mkIRMxBxrbp6O2VzrniMkkFjzkK0P2obuLn3N0DfCT072XxvSt5l6aymB0+8Jv77d/nLxslGMIEkJWW9qgZQuTABRjQxCNwJ6Yo2I85kH6nXvdBsYvGCAkM+N1bZP7HvncvQgncZq+ImgOG7Hj21mdVCRF+qSw4o4YOBd6JELUtntpqRpp9gx52H2CgvTUYIb3gppmm392cAlNrUZirINCVXfJdfnq1pbHFJW5L9jdkJxq1L4SIOpZZX3yf5+pDqVHXXVh4hyW1oUBQejTzX76GD8Xwh51NzGXATkhEuGgchvQeb6ul7Q/+S6JzdWlrkQwc4cIZS3fjdpAsXtPlaiEsoQja1zNWHlQvylF//5+r69TiYFTJ737YyckKv6iEhY92zWg0qBDaDQGQ7lM/kudb1WrDOAV7xaNMuY1ys7mXZmaiyq6sD03EkBrndJMtcu3Z2ofId4IOMOvLT0sWACtKP8R3ajo8oyGJAftcvi4w/2bz1OwJ010vVvPwrbmT16WFrSuzUrMXZwkjDHBT//PxjrY7OLl0js6xxrujjm1sc+ekSUOfnZFshT+4yRCAxcLrrmuclvLVSPAYHMQ6E4lA=
- secure: WSTMesLCs2QMOzSkfNrMnYPUaWBRG+RFWGFWC1GvXaxz0rJxRdtFkWJ05mcmsOMBCPbBwzh9LWm1a7ssDcljnDHc/3nOuiyKc3AgZ8pxlVxJj0ujj/HIxB5GbcbEePzMvJcSPMq/QFYpfyWM/8qRo3I0PYpLQatq75tILSuHkmay9Ic96ixqNsjVCey/uOB3RZB68fzmxok+wVnpPe6y0wcL9uK7xKmrRc7pEMr8/9BjbtyBKOPbBgtV6ArJf4j3Wy9Di9ZOdkR8PLGtWaf8vEFat3NtvzXG/Ag9cCkbU/t4ZZuwmF5MiaWNpQeZt8pdvPh0WFnmhs9kZyq0vm0W3lDoJ5tBBSHmu+LdZSCnkHuGWvaaofpPKOSLE5MBVucKHLGurQj0wGY3Xw4Vc9m76YKGRcbJ6iWjcf+WOSLdcepagpN+aeGgG+yY60mCnNiEUPKCK7A8bZmF2GyMR3JgJSEQ1gjfI4iDi8PBZ9dMAWFDUqhixwCZQuVbsEcspXFVNFjjks/2aRG5RnAAIEhatz4ja2Koxv/ZhJn752sw4l3N6GNSjYlqZl5xA41Ycr6nDGqbB87xp+DiYeEzNmwFmpAnrA5Ur8ZFE9HEObGgCdouRLjyPjhLUS+QEeDangEth7bXlACBQxPMlJsjBrXuQxykT+TtqVexOWQtVe9nuJQ=
language: c

compiler:
- gcc

install:
- sudo apt-get update
- sudo apt-get install libapr1-dev libaprutil1-dev curl
- wget --quiet https://github.com/michaelrsweet/mxml/releases/download/release-2.9/mxml-2.9.tar.gz
- tar zxf mxml-2.9.tar.gz
- cd mxml-2.9
- ./configure && make && sudo make install
- cd -
- pip install --user cpp-coveralls

script:
- cmake -DCMAKE_BUILD_TYPE=Coverage .
- make
- ./build/Coverage/bin/oss_c_sdk_test

after_success:

env:
global:
- secure: kvjsFXirn2+Nys0TO0eViDHTlhz0ow5AuWuQeEzJAJnLbJfqupWng0o3i4vGF7bPpxWgbrIFJro/Pwk15F1gvUGaKjXbPWn5hae3G3ZqDwdNkDYy8Hs8VnjvqlaZ4dbpqDQOFA7+49jUuzVPdHFWJgLEleE53RADfuESN/rd0Uo6C1mZEEmyEhmj2pyHSKr08UWLbbuoLuVeaF1rfLxLRAU/Ki0S1AnnFirJcsbMSICexwQ96G+bdQTdqHass6JfQfOYklnKVSrMbk/0MuV5LmeQ3A1j1AF3iRzZ4KT4FmNXwk0hoocz+la8M3B7zaUu2wuea8LV5mZ6G5bN5p2fYHXlpZaoxstMl3HUwiQH5ETX0W6bzB1rjWl2CteKR3xt2wW1qj5XDvjqBUrPNV0yibpfMdkVfLnvic16+0qZua2cjsn93d0AyNnS6cFCGAH3PGI7+3Mmg4T1S43z9XjXjHmOCT0EQ/kfGI0m+3p8TYqqQMandWbphpXZYPdHBeSv4tMMFn1p7bjwn5fxvUKCou/tvef7qD3OYjectiEzTou7Ttxz6gThiDekIf8Pbeuzq5mgnSDXr+8DTpHzKltsQBLyhezlBL9P5PW6GH3xp+/4yFHPOnsOhK7qLkiJ6CQ9JPq2noeAAh+cgKiSoZibaWj3ht2p1LynR/Kr8XQfZfQ=
- secure: pLU+jHSLKimMSX0I3sL9To7sg+hO7vEplZhCL9OPUj8vTVmdLCRnbNiTAUaUrSA0/O55lxeleBfyi6joPY5IOgCRASExhFxfsidKjskb77bKl1/izt4EH41sahlcrbmpgPRdXORyOzCN9HkuWvrR8FZsTwnBpHJ3+IxsxKURGlY8NYN50sscqM+KvctUvXf+j/y0gZK42F78bLD3WRr1Fiph9UOYOUPvnQe69tOUwrKil5u8Ho+JeQCpuXsiDJkYz232WSgKOw326AIjo99VLvw1Q3HTdU8ztsarcswjLTSMpHpPT6vxNKVd0WUi6zmZpO/CLZvqtPxtPizT54OurDB7ClUJ0KJyFRgOaaRofbKDi8xWXATIYfI92x0IHIq/4aeufc3N4zQDgjdRrp4silS56IxTi+OM/T6opIg258j7lrEUP3nz+DBOqCSYBL1pIfhJDeoWSFYE2Ehc7paVCFkoEp41lv1sgBX1At0dM7lobIlsMX2zmQPszLQTgaj8mu/5u7/tFMFSw4TWydI+el3xJVlq4ad2DpYP/yRPEcUkq64/qPZP1dSfxlwBzEOCk4zoAQHev3php32O5vDyLcV3R1Zvyr0Y1/suPMXeUEU6kvS26I9jSpwB/E3i+6HhfcqcnmaGxqr1pRw/dhedGAAayKZEqDcEpTdXf9D6BcE=
- secure: wFXioHVdO0bP4N8o/q+y76K65vyls3CIzM3I71ZN1+Ayl01Z0c1WxL+84LlhHjUetMzFG2X10zdnMmuthUz9mkIRMxBxrbp6O2VzrniMkkFjzkK0P2obuLn3N0DfCT072XxvSt5l6aymB0+8Jv77d/nLxslGMIEkJWW9qgZQuTABRjQxCNwJ6Yo2I85kH6nXvdBsYvGCAkM+N1bZP7HvncvQgncZq+ImgOG7Hj21mdVCRF+qSw4o4YOBd6JELUtntpqRpp9gx52H2CgvTUYIb3gppmm392cAlNrUZirINCVXfJdfnq1pbHFJW5L9jdkJxq1L4SIOpZZX3yf5+pDqVHXXVh4hyW1oUBQejTzX76GD8Xwh51NzGXATkhEuGgchvQeb6ul7Q/+S6JzdWlrkQwc4cIZS3fjdpAsXtPlaiEsoQja1zNWHlQvylF//5+r69TiYFTJ737YyckKv6iEhY92zWg0qBDaDQGQ7lM/kudb1WrDOAV7xaNMuY1ys7mXZmaiyq6sD03EkBrndJMtcu3Z2ofId4IOMOvLT0sWACtKP8R3ajo8oyGJAftcvi4w/2bz1OwJ010vVvPwrbmT16WFrSuzUrMXZwkjDHBT//PxjrY7OLl0js6xxrujjm1sc+ekSUOfnZFshT+4yRCAxcLrrmuclvLVSPAYHMQ6E4lA=
- secure: WSTMesLCs2QMOzSkfNrMnYPUaWBRG+RFWGFWC1GvXaxz0rJxRdtFkWJ05mcmsOMBCPbBwzh9LWm1a7ssDcljnDHc/3nOuiyKc3AgZ8pxlVxJj0ujj/HIxB5GbcbEePzMvJcSPMq/QFYpfyWM/8qRo3I0PYpLQatq75tILSuHkmay9Ic96ixqNsjVCey/uOB3RZB68fzmxok+wVnpPe6y0wcL9uK7xKmrRc7pEMr8/9BjbtyBKOPbBgtV6ArJf4j3Wy9Di9ZOdkR8PLGtWaf8vEFat3NtvzXG/Ag9cCkbU/t4ZZuwmF5MiaWNpQeZt8pdvPh0WFnmhs9kZyq0vm0W3lDoJ5tBBSHmu+LdZSCnkHuGWvaaofpPKOSLE5MBVucKHLGurQj0wGY3Xw4Vc9m76YKGRcbJ6iWjcf+WOSLdcepagpN+aeGgG+yY60mCnNiEUPKCK7A8bZmF2GyMR3JgJSEQ1gjfI4iDi8PBZ9dMAWFDUqhixwCZQuVbsEcspXFVNFjjks/2aRG5RnAAIEhatz4ja2Koxv/ZhJn752sw4l3N6GNSjYlqZl5xA41Ycr6nDGqbB87xp+DiYeEzNmwFmpAnrA5Ur8ZFE9HEObGgCdouRLjyPjhLUS+QEeDangEth7bXlACBQxPMlJsjBrXuQxykT+TtqVexOWQtVe9nuJQ=
9 changes: 1 addition & 8 deletions oss_c_sdk/aos_transport.c
Original file line number Diff line number Diff line change
Expand Up @@ -372,15 +372,8 @@ static void aos_curl_transport_finish(aos_curl_http_transport_t *t)

int aos_curl_transport_setup(aos_curl_http_transport_t *t)
{
CURLcode code;

#define curl_easy_setopt_safe(opt, val) \
if ((code = curl_easy_setopt(t->curl, opt, val)) != CURLE_OK) { \
t->controller->reason = apr_pstrdup(t->pool, curl_easy_strerror(code)); \
t->controller->error_code = AOSE_FAILED_INITIALIZE; \
aos_error_log("curl_easy_setopt failed, code:%d %s.", code, t->controller->reason); \
return AOSE_FAILED_INITIALIZE; \
}
#define curl_easy_setopt_safe(opt, val) curl_easy_setopt(t->curl, opt, val)

curl_easy_setopt_safe(CURLOPT_PRIVATE, t);

Expand Down
16 changes: 10 additions & 6 deletions oss_c_sdk/oss_xml.c
Original file line number Diff line number Diff line change
Expand Up @@ -2414,10 +2414,12 @@ void oss_build_select_object_body(aos_pool_t *p,
{
char *select_object_xml;
aos_buf_t *b;
select_object_xml = oss_build_select_object_xml(p, expression, params);
aos_list_init(body);
b = aos_buf_pack(p, select_object_xml, strlen(select_object_xml));
aos_list_add_tail(&b->node, body);
select_object_xml = oss_build_select_object_xml(p, expression, params);
if (select_object_xml) {
b = aos_buf_pack(p, select_object_xml, strlen(select_object_xml));
aos_list_add_tail(&b->node, body);
}
}


Expand Down Expand Up @@ -2507,10 +2509,12 @@ void oss_build_create_select_object_meta_body(aos_pool_t *p,
{
char *meta_xml;
aos_buf_t *b;
meta_xml = oss_build_create_select_object_meta_xml(p, params);
aos_list_init(body);
b = aos_buf_pack(p, meta_xml, strlen(meta_xml));
aos_list_add_tail(&b->node, body);
meta_xml = oss_build_create_select_object_meta_xml(p, params);
if (meta_xml) {
b = aos_buf_pack(p, meta_xml, strlen(meta_xml));
aos_list_add_tail(&b->node, body);
}
}

char *build_object_tagging_xml(aos_pool_t *p, aos_list_t *tag_list)
Expand Down
1 change: 0 additions & 1 deletion oss_c_sdk_test/oss_test_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,6 @@ void clean_bucket_by_prefix(const char* prefix)
aos_status_t *s = NULL;
oss_list_buckets_params_t *params = NULL;
oss_list_bucket_content_t *content = NULL;
int size = 0;

/* list all buckets */
aos_pool_create(&p, NULL);
Expand Down
16 changes: 15 additions & 1 deletion oss_c_sdk_test/test_aos.c
Original file line number Diff line number Diff line change
Expand Up @@ -1560,6 +1560,7 @@ static void test_oss_preprocess_endpoint(CuTest *tc) {
"www.test.com/abc?test=1",
"www.test.com/abc?test=1#segment",
"www.test.com?test=1#segment",
"www.test.com#abc",
"www.test.com"
};

Expand All @@ -1585,7 +1586,7 @@ static void test_oss_preprocess_endpoint(CuTest *tc) {
CuAssertIntEquals(tc, strlen("www.test.com"), name.len);
CuAssertIntEquals(tc, 0, strncmp("www.test.com", name.data, name.len));
}
CuAssertIntEquals(tc, 5, i);
CuAssertIntEquals(tc, 6, i);

for (i = 0; i < sizeof(ip_endpoints) / sizeof(ip_endpoints[0]); i++) {
aos_str_set(&name, ip_endpoints[i]);
Expand All @@ -1603,10 +1604,22 @@ static void test_oss_preprocess_endpoint(CuTest *tc) {
}
CuAssertIntEquals(tc, 4, i);

aos_str_set(&name, "");
oss_preprocess_endpoint(&name);
CuAssertIntEquals(tc, 0, name.len);


printf("%s ok\n", __FUNCTION__);
}


void test_oss_fill_read_response_header(CuTest *tc) {
aos_table_t *headers;
oss_fill_read_response_header(NULL, &headers);
printf("%s ok\n", __FUNCTION__);
}


CuSuite *test_aos()
{
CuSuite* suite = CuSuiteNew();
Expand Down Expand Up @@ -1677,6 +1690,7 @@ CuSuite *test_aos()
SUITE_ADD_TEST(suite, test_oss_get_rtmp_signed_url_negative);
SUITE_ADD_TEST(suite, test_oss_is_valid_bucket_name);
SUITE_ADD_TEST(suite, test_oss_preprocess_endpoint);
SUITE_ADD_TEST(suite, test_oss_fill_read_response_header);

return suite;
}
3 changes: 3 additions & 0 deletions oss_c_sdk_test/test_oss_crc.c
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,9 @@ void test_crc_big_endian(CuTest *tc)
// CuAssertTrue(tc, crc1 == crc2);

crc1 = aos_crc64_test(0, str3, 9, 0);

(void)(crc1);
(void)(crc2);

printf("test_crc_big_endian ok\n");
}
Expand Down
3 changes: 0 additions & 3 deletions oss_c_sdk_test/test_oss_live.c
Original file line number Diff line number Diff line change
Expand Up @@ -715,10 +715,7 @@ void test_live_invalid_parameter(CuTest *tc)
aos_string_t bucket;
aos_status_t *s = NULL;
aos_table_t *resp_headers = NULL;
aos_table_t *headers = NULL;
aos_table_t *params = NULL;
aos_str_set(&bucket, invalid_name_list[i]);
headers = aos_table_make(p, 1);

s = oss_create_live_channel(options, &bucket, NULL, NULL, NULL, &resp_headers);
CuAssertIntEquals(tc, AOSE_INVALID_ARGUMENT, s->code);
Expand Down
81 changes: 81 additions & 0 deletions oss_c_sdk_test/test_oss_object.c
Original file line number Diff line number Diff line change
Expand Up @@ -1673,6 +1673,85 @@ void test_object_invalid_parameter(CuTest *tc)
printf("test_object_invalid_parameter ok\n");
}

void test_get_object_to_buffer_with_maxbuffersize(CuTest *tc)
{
aos_pool_t *p = NULL;
aos_string_t bucket;
char *object_name = "video_1.ts";
aos_string_t object;
int is_cname = 0;
oss_request_options_t *options = NULL;
aos_table_t *headers = NULL;
aos_table_t *params = NULL;
aos_table_t *resp_headers = NULL;
aos_status_t *s = NULL;
aos_list_t buffer;

aos_pool_create(&p, NULL);
options = oss_request_options_create(p);
init_test_request_options(options, is_cname);
options->ctl->options = aos_http_request_options_create(options->pool);
options->ctl->options->max_memory_size = 4;
options->ctl->options->enable_crc = AOS_FALSE;

aos_str_set(&bucket, TEST_BUCKET_NAME);
aos_str_set(&object, object_name);
aos_list_init(&buffer);

/* test get object to buffer */
s = oss_get_object_to_buffer(options, &bucket, &object, headers,
params, &buffer, &resp_headers);
CuAssertIntEquals(tc, AOSE_OVER_MEMORY, s->code);


options->ctl->options->enable_crc = AOS_TRUE;
/* test get object to buffer */
s = oss_get_object_to_buffer(options, &bucket, &object, headers,
params, &buffer, &resp_headers);
CuAssertIntEquals(tc, AOSE_CRC_INCONSISTENT_ERROR, s->code);

aos_pool_destroy(p);

printf("test_get_object_to_buffer_with_maxbuffersize ok\n");

}

void test_get_object_to_buffer_use_invalid_sts(CuTest *tc)
{
aos_pool_t *p = NULL;
aos_string_t bucket;
char *object_name = "video_1.ts";
aos_string_t object;
int is_cname = 0;
oss_request_options_t *options = NULL;
aos_table_t *headers = NULL;
aos_table_t *params = NULL;
aos_table_t *resp_headers = NULL;
aos_status_t *s = NULL;
aos_list_t buffer;

aos_pool_create(&p, NULL);
options = oss_request_options_create(p);
init_test_request_options(options, is_cname);
aos_str_set(&options->config->sts_token, "invalid-sts");

aos_str_set(&bucket, TEST_BUCKET_NAME);
aos_str_set(&object, object_name);
aos_list_init(&buffer);

/* test get object to buffer */
s = oss_get_object_to_buffer(options, &bucket, &object, headers,
params, &buffer, &resp_headers);
CuAssertIntEquals(tc, 403, s->code);

aos_pool_destroy(p);

printf("test_get_object_to_buffer_use_invalid_sts ok\n");

}



CuSuite *test_oss_object()
{
CuSuite* suite = CuSuiteNew();
Expand Down Expand Up @@ -1713,6 +1792,8 @@ CuSuite *test_oss_object()
SUITE_ADD_TEST(suite, test_get_not_exist_object_to_file);
SUITE_ADD_TEST(suite, test_put_object_from_buffer_with_invalid_endpoint);
SUITE_ADD_TEST(suite, test_object_invalid_parameter);
SUITE_ADD_TEST(suite, test_get_object_to_buffer_with_maxbuffersize);
SUITE_ADD_TEST(suite, test_get_object_to_buffer_use_invalid_sts);
SUITE_ADD_TEST(suite, test_object_cleanup);

return suite;
Expand Down
3 changes: 0 additions & 3 deletions oss_c_sdk_test/test_oss_object_tagging.c
Original file line number Diff line number Diff line change
Expand Up @@ -1115,10 +1115,7 @@ void test_object_tagging_invalid_parameter(CuTest *tc)
aos_string_t bucket;
aos_status_t *s = NULL;
aos_table_t *resp_headers = NULL;
aos_table_t *headers = NULL;
aos_table_t *params = NULL;
aos_str_set(&bucket, invalid_name_list[i]);
headers = aos_table_make(p, 1);

s = oss_put_object_tagging(options, &bucket, NULL, NULL, &resp_headers);
CuAssertIntEquals(tc, AOSE_INVALID_ARGUMENT, s->code);
Expand Down
43 changes: 40 additions & 3 deletions oss_c_sdk_test/test_oss_select_object.c
Original file line number Diff line number Diff line change
Expand Up @@ -1161,10 +1161,7 @@ void test_select_object_invalid_parameter(CuTest *tc)
aos_string_t bucket;
aos_status_t *s = NULL;
aos_table_t *resp_headers = NULL;
aos_table_t *headers = NULL;
aos_table_t *params = NULL;
aos_str_set(&bucket, invalid_name_list[i]);
headers = aos_table_make(p, 1);

s = oss_select_object_to_buffer(options, &bucket, NULL, NULL, NULL, NULL, &resp_headers);
CuAssertIntEquals(tc, AOSE_INVALID_ARGUMENT, s->code);
Expand All @@ -1183,6 +1180,45 @@ void test_select_object_invalid_parameter(CuTest *tc)
printf("test_select_object_invalid_parameter ok\n");
}

void test_select_object_with_long_sql_expression(CuTest *tc)
{
aos_pool_t *p = NULL;
int is_cname = 0;
oss_request_options_t *options = NULL;
aos_table_t *resp_headers = NULL;
aos_list_t buffer;
aos_status_t *s = NULL;
aos_string_t bucket;
aos_string_t object;
char *object_name = "test_select_object_with_long_sql_expression.csv";
char *object_data = "name,job\nabc,def\n";
char *sql = NULL;
char sql_buff[2500];
aos_string_t expression;
oss_select_object_params_t *select_params;

aos_pool_create(&p, NULL);
options = oss_request_options_create(p);
init_test_request_options(options, is_cname);
aos_str_set(&bucket, TEST_BUCKET_NAME);
aos_str_set(&object, object_name);
create_test_object(options, TEST_BUCKET_NAME, object_name, object_data, NULL);
sprintf(sql_buff, "%s", "select name from ossobject");
memset(sql_buff + 26, 0x20, sizeof(sql_buff) - 26);
sql_buff[2500 - 1] = '\0';
sql = sql_buff;
aos_str_set(&expression, sql);
select_params = oss_create_select_object_params(options->pool);
aos_str_set(&select_params->input_param.file_header_info, "USE");
select_params->output_param.output_header = AOS_TRUE;
aos_list_init(&buffer);
s = oss_select_object_to_buffer(options, &bucket, &object, &expression, select_params, &buffer, &resp_headers);
CuAssertIntEquals(tc, 400, s->code);
CuAssertPtrNotNull(tc, resp_headers);
printf("%s ok\n", __FUNCTION__);
}


CuSuite *test_oss_select_object()
{
CuSuite* suite = CuSuiteNew();
Expand Down Expand Up @@ -1213,6 +1249,7 @@ CuSuite *test_oss_select_object()
SUITE_ADD_TEST(suite, test_select_object_invalid);
SUITE_ADD_TEST(suite, test_select_object_create_meta_invalid);
SUITE_ADD_TEST(suite, test_select_object_invalid_parameter);
SUITE_ADD_TEST(suite, test_select_object_with_long_sql_expression);
SUITE_ADD_TEST(suite, test_select_object_cleanup);

return suite;
Expand Down
Loading

0 comments on commit 1d6ba95

Please sign in to comment.