add POST support and fix user specified scheme via commonrequest
This commit is contained in:
25
test/function_test/nlp/CMakeLists.txt
Normal file
25
test/function_test/nlp/CMakeLists.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(demo)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
if(CMAKE_HOST_WIN32)
|
||||
include_directories("C:\\Program Files (x86)\\alibabacloud-sdk\\include")
|
||||
link_directories("C:\\Program Files (x86)\\alibabacloud-sdk\\lib")
|
||||
endif()
|
||||
|
||||
# note ft_build is the dir you build sdk
|
||||
|
||||
include_directories("../../../core/include/")
|
||||
|
||||
link_directories(${CMAKE_SOURCE_DIR}/ft_build/lib)
|
||||
|
||||
add_executable(nlp_ft nlp_wordsegment_ft.cc)
|
||||
target_link_libraries(nlp_ft alibabacloud-sdk-core)
|
||||
|
||||
target_link_libraries(nlp_ft core gtest gmock_main)
|
||||
|
||||
set_target_properties(nlp_ft
|
||||
PROPERTIES
|
||||
OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}nlp_ft
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
|
||||
add_test(NAME nlp_ft COMMAND nlp_ft)
|
||||
39
test/function_test/nlp/nlp_wordsegment_ft.cc
Normal file
39
test/function_test/nlp/nlp_wordsegment_ft.cc
Normal file
@@ -0,0 +1,39 @@
|
||||
#include <iostream>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include "gtest/gtest.h"
|
||||
#include "../utils.h"
|
||||
#include "alibabacloud/core/AlibabaCloud.h"
|
||||
#include "alibabacloud/core/CommonClient.h"
|
||||
#include "alibabacloud/core/HttpRequest.h"
|
||||
using namespace std;
|
||||
using namespace AlibabaCloud;
|
||||
|
||||
namespace {
|
||||
TEST(nlp, wordsegment) {
|
||||
utUtils utils;
|
||||
string key = utils.get_env("ENV_AccessKeyId");
|
||||
string secret = utils.get_env("ENV_AccessKeySecret");
|
||||
|
||||
AlibabaCloud::InitializeSdk();
|
||||
ClientConfiguration configuration("cn-shanghai");
|
||||
|
||||
CommonClient client(key, secret, configuration);
|
||||
// 创建API请求并设置参数
|
||||
CommonRequest request(CommonRequest::RoaPattern);
|
||||
request.setScheme("http");
|
||||
request.setDomain("nlp.cn-shanghai.aliyuncs.com");
|
||||
request.setResourcePath("/nlp/api/wordsegment/general");
|
||||
request.setHttpMethod(HttpRequest::Post);
|
||||
const char * data = "{\"lang\":\"ZH\",\"text\":\"Iphone is a bad choice 专用数据线\"}";
|
||||
request.setContent(data, strlen(data));
|
||||
request.setHeaderParameter("Content-Type", "application/json;chrset=utf-8");
|
||||
request.setVersion("2018-04-08");
|
||||
|
||||
auto outcome = client.commonResponse(request);
|
||||
EXPECT_TRUE(outcome.error().errorCode().empty());
|
||||
const std::string expected = "{\"data\":[{\"id\":0,\"word\":\"Iphone\"},{\"id\":1,\"word\":\" \"},{\"id\":2,\"word\":\"is\"},{\"id\":3,\"word\":\" \"},{\"id\":4,\"word\":\"a\"},{\"id\":5,\"word\":\" \"},{\"id\":6,\"word\":\"bad\"},{\"id\":7,\"word\":\" \"},{\"id\":8,\"word\":\"choice\"},{\"id\":9,\"word\":\" \"},{\"id\":10,\"word\":\"专用\"},{\"id\":11,\"word\":\"数据线\"}]}";
|
||||
EXPECT_TRUE(outcome.result().payload() == expected);
|
||||
AlibabaCloud::ShutdownSdk();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user