Update format of upsertLocalAuthInfo request BUG=25766813 Change-Id: Ic2d0a882ee5f5cf41f268ccf039bac6596130fc3 Reviewed-on: https://weave-review.googlesource.com/1991 Reviewed-by: Vitaly Buka <vitalybuka@google.com>
diff --git a/src/device_registration_info.cc b/src/device_registration_info.cc index e70b8ba..bee536b 100644 --- a/src/device_registration_info.cc +++ b/src/device_registration_info.cc
@@ -235,17 +235,6 @@ return code >= http::kContinue && code < http::kBadRequest; } -std::unique_ptr<base::DictionaryValue> BuildDeviceLocalAuth( - const std::string& id, - const std::string& client_token, - const std::string& cert_fingerprint) { - std::unique_ptr<base::DictionaryValue> auth{new base::DictionaryValue}; - auth->SetString("localId", id); - auth->SetString("clientToken", client_token); - auth->SetString("certFingerprint", cert_fingerprint); - return auth; -} - } // anonymous namespace DeviceRegistrationInfo::DeviceRegistrationInfo( @@ -946,15 +935,15 @@ std::string fingerprint = Base64Encode(auth_manager_->GetCertificateFingerprint()); - std::unique_ptr<base::DictionaryValue> auth = - BuildDeviceLocalAuth(id, token_base64, fingerprint); + std::unique_ptr<base::DictionaryValue> auth{new base::DictionaryValue}; + auth->SetString("localId", id); + auth->SetString("clientToken", token_base64); + auth->SetString("certFingerprint", fingerprint); + std::unique_ptr<base::DictionaryValue> root{new base::DictionaryValue}; + root->Set("localAuthInfo", auth.release()); - // TODO(vitalybuka): Remove args from URL when server is ready. - std::string url = - GetDeviceURL("upsertLocalAuthInfo", {{"localid", id}, - {"clienttoken", token_base64}, - {"certfingerprint", fingerprint}}); - DoCloudRequest(HttpClient::Method::kPost, url, auth.get(), + std::string url = GetDeviceURL("upsertLocalAuthInfo", {}); + DoCloudRequest(HttpClient::Method::kPost, url, root.get(), base::Bind(&DeviceRegistrationInfo::OnSendAuthInfoDone, AsWeakPtr(), token)); }
diff --git a/src/device_registration_info_unittest.cc b/src/device_registration_info_unittest.cc index 327c440..808f545 100644 --- a/src/device_registration_info_unittest.cc +++ b/src/device_registration_info_unittest.cc
@@ -68,9 +68,11 @@ "6ed0b3f54f9bd619b942f4ad2441c252@" "clouddevices.gserviceaccount.com"; const char kAuthInfo[] = R"({ - "certFingerprint": - "FQY6BEINDjw3FgsmYChRWgMzMhc4TC8uG0UUUFhdDz0=", - "localId": "f6885e46-b432-42d7-86a5-d759bfb61f62" + "localAuthInfo": { + "certFingerprint": + "FQY6BEINDjw3FgsmYChRWgMzMhc4TC8uG0UUUFhdDz0=", + "localId": "f6885e46-b432-42d7-86a5-d759bfb61f62" + } })"; } // namespace test_data @@ -269,8 +271,7 @@ Invoke([](const std::string& data, const HttpClient::SendRequestCallback& callback) { auto dict = CreateDictionaryValue(data); - EXPECT_TRUE(dict->HasKey("clientToken")); - dict->Remove("clientToken", nullptr); + EXPECT_TRUE(dict->Remove("localAuthInfo.clientToken", nullptr)); EXPECT_JSON_EQ(test_data::kAuthInfo, *dict); base::DictionaryValue json; callback.Run(ReplyWithJson(200, json), nullptr); @@ -532,8 +533,7 @@ Invoke([](const std::string& data, const HttpClient::SendRequestCallback& callback) { auto dict = CreateDictionaryValue(data); - EXPECT_TRUE(dict->HasKey("clientToken")); - dict->Remove("clientToken", nullptr); + EXPECT_TRUE(dict->Remove("localAuthInfo.clientToken", nullptr)); EXPECT_JSON_EQ(test_data::kAuthInfo, *dict); base::DictionaryValue json; callback.Run(ReplyWithJson(200, json), nullptr);