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