buffet: Added unit tests for DeviceRegistrationInfo class

Added unit tests for GCD registration workflow in Buffet.

BUG=chromium:367381
TEST=Unit tests pass (old and new).

Change-Id: Ia3ad5f028ae6fc7f3d2acdf4648ceb88cc4e00ef
Reviewed-on: https://chromium-review.googlesource.com/197568
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/http_utils.cc b/buffet/http_utils.cc
index 2cd8b80..d711cf8 100644
--- a/buffet/http_utils.cc
+++ b/buffet/http_utils.cc
@@ -93,8 +93,11 @@
   std::string data;
   if (json)
     base::JSONWriter::Write(json, &data);
+  std::string mime_type = mime::AppendParameter(mime::application::kJson,
+                                                mime::parameters::kCharset,
+                                                "utf-8");
   return PostBinary(url, data.c_str(), data.size(),
-                    mime::application::kJson, headers, transport);
+                    mime_type.c_str(), headers, transport);
 }
 
 std::unique_ptr<Response> PatchJson(const std::string& url,
@@ -104,8 +107,11 @@
   std::string data;
   if (json)
     base::JSONWriter::Write(json, &data);
+  std::string mime_type = mime::AppendParameter(mime::application::kJson,
+                                                mime::parameters::kCharset,
+                                                "utf-8");
   return SendRequest(request_type::kPatch, url, data.c_str(), data.size(),
-                     mime::application::kJson, headers, transport);
+                     mime_type.c_str(), headers, transport);
 }
 
 std::unique_ptr<base::DictionaryValue> ParseJsonResponse(