diff --git a/core/src/Utils.cc b/core/src/Utils.cc index 1402189f3..ba02c80e8 100644 --- a/core/src/Utils.cc +++ b/core/src/Utils.cc @@ -235,11 +235,13 @@ std::string AlibabaCloud::GetEnv(const std::string env) std::string AlibabaCloud::MapToJson(const std::map &maps) { Json::Value jsonObject; + Json::FastWriter writer; for (std::map::const_iterator iter = maps.begin(); iter != maps.end(); ++iter) { jsonObject[iter->first] = iter->second; } - return jsonObject.toStyledString(); + std::string unformat_str = writer.write(jsonObject); + return unformat_str.substr(0, unformat_str.length() - 1); } std::map AlibabaCloud::JsonToMap(const std::string &json) diff --git a/test/core/commonclient_ut.cc b/test/core/commonclient_ut.cc index 6d859f4c9..75af43e61 100644 --- a/test/core/commonclient_ut.cc +++ b/test/core/commonclient_ut.cc @@ -155,7 +155,7 @@ namespace { EXPECT_TRUE(nbr == 0); client->asyncExecute(rf); usleep(10000); - EXPECT_TRUE(nbr == 1); + EXPECT_EQ(nbr, 1); ShutdownSdk(); } diff --git a/test/core/roaserviceclient_ut.cc b/test/core/roaserviceclient_ut.cc index 7cc0e2f7b..c4dd8f4c5 100644 --- a/test/core/roaserviceclient_ut.cc +++ b/test/core/roaserviceclient_ut.cc @@ -95,5 +95,4 @@ TEST(RoaServiceClient, basic) { req.setParameter("Content-Type", "test-content-type"); http_req = client.buildHttpRequest("cn-shanghai", req, HttpRequest::Method::Get); EXPECT_TRUE(http_req.url().toString() == "http://cn-shanghai/?Accept=tets-accept&Content-Type=test-content-type&a=b"); - } diff --git a/test/core/servicerequest_ut.cc b/test/core/servicerequest_ut.cc index 85530dcf1..242290831 100644 --- a/test/core/servicerequest_ut.cc +++ b/test/core/servicerequest_ut.cc @@ -23,16 +23,17 @@ namespace { {} using ServiceRequest::addParameter; - using ServiceRequest::removeParameter; + using ServiceRequest::coreParameter; using ServiceRequest::parameter; + using ServiceRequest::removeParameter; + using ServiceRequest::setBodyParameter; using ServiceRequest::setContent; + using ServiceRequest::setCoreParameter; using ServiceRequest::setParameter; using ServiceRequest::setParameters; - using ServiceRequest::setResourcePath; using ServiceRequest::setProduct; + using ServiceRequest::setResourcePath; using ServiceRequest::setVersion; - using ServiceRequest::setCoreParameter; - using ServiceRequest::coreParameter; }; TEST(ServiceRequest, basic) { @@ -63,6 +64,8 @@ namespace { EXPECT_TRUE(sr1.parameter("ka") == "va"); EXPECT_TRUE(sr1.coreParameter("ka") == "va"); + sr1.setBodyParameter("name", "value"); + sr1.setContent("123456", 6); EXPECT_TRUE(sr1.contentSize() == 6); EXPECT_TRUE(sr1.hasContent() == true); @@ -90,6 +93,9 @@ namespace { EXPECT_TRUE(pc.at("km") == "vm"); EXPECT_TRUE(pc.at("kn") == "vn"); + ServiceRequest::ParameterCollection bp = sr1.bodyParameters(); + EXPECT_EQ(bp.at("name"), "value"); + EXPECT_TRUE(sr1.connectTimeout() == kInvalidTimeout); EXPECT_TRUE(sr1.readTimeout() == kInvalidTimeout); sr1.setConnectTimeout(1234); diff --git a/test/core/utils_ut.cc b/test/core/utils_ut.cc index 5b79fb699..0423c800c 100644 --- a/test/core/utils_ut.cc +++ b/test/core/utils_ut.cc @@ -61,6 +61,23 @@ namespace { EXPECT_TRUE(decoded == url); } + TEST(UtilsTest, MapToJson){ + std::map maps; + maps.insert(std::make_pair("foo", "bar")); + std::string jsonStr = MapToJson(maps); + EXPECT_EQ(jsonStr, "{\"foo\":\"bar\"}"); + } + + TEST(UtilsTest, JsonToMap){ + std::map targetMaps; + targetMaps.insert(std::make_pair("foo", "bar")); + targetMaps.insert(std::make_pair("int", "1")); + targetMaps.insert(std::make_pair("array","foo,bar")); + std::string jsonStr = "{\"foo\":\"bar\",\"int\":1,\"array\":[\"foo\",\"bar\"]}"; + std::map maps = JsonToMap(jsonStr); + EXPECT_EQ(targetMaps, maps); + } + TEST(Utils, GetEnv) { const std::string var1 = GetEnv("PATH"); EXPECT_FALSE(var1.empty());