OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/supervised_user/child_accounts/family_info_fetcher.h" | 5 #include "chrome/browser/supervised_user/child_accounts/family_info_fetcher.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
(...skipping 30 matching lines...) Expand all Loading... |
41 account1.email == account2.email && | 41 account1.email == account2.email && |
42 account1.profile_url == account2.profile_url && | 42 account1.profile_url == account2.profile_url && |
43 account1.profile_image_url == account2.profile_image_url; | 43 account1.profile_image_url == account2.profile_image_url; |
44 } | 44 } |
45 | 45 |
46 namespace { | 46 namespace { |
47 | 47 |
48 std::string BuildGetFamilyProfileResponse( | 48 std::string BuildGetFamilyProfileResponse( |
49 const FamilyInfoFetcher::FamilyProfile& family) { | 49 const FamilyInfoFetcher::FamilyProfile& family) { |
50 base::DictionaryValue dict; | 50 base::DictionaryValue dict; |
51 base::DictionaryValue* family_dict = new base::DictionaryValue; | 51 auto family_dict = base::MakeUnique<base::DictionaryValue>(); |
52 family_dict->SetStringWithoutPathExpansion("familyId", family.id); | 52 family_dict->SetStringWithoutPathExpansion("familyId", family.id); |
53 std::unique_ptr<base::DictionaryValue> profile_dict = | 53 std::unique_ptr<base::DictionaryValue> profile_dict = |
54 base::MakeUnique<base::DictionaryValue>(); | 54 base::MakeUnique<base::DictionaryValue>(); |
55 profile_dict->SetStringWithoutPathExpansion("name", family.name); | 55 profile_dict->SetStringWithoutPathExpansion("name", family.name); |
56 family_dict->SetWithoutPathExpansion("profile", std::move(profile_dict)); | 56 family_dict->SetWithoutPathExpansion("profile", std::move(profile_dict)); |
57 dict.SetWithoutPathExpansion("family", family_dict); | 57 dict.SetWithoutPathExpansion("family", std::move(family_dict)); |
58 std::string result; | 58 std::string result; |
59 base::JSONWriter::Write(dict, &result); | 59 base::JSONWriter::Write(dict, &result); |
60 return result; | 60 return result; |
61 } | 61 } |
62 | 62 |
63 std::string BuildEmptyGetFamilyProfileResponse() { | 63 std::string BuildEmptyGetFamilyProfileResponse() { |
64 base::DictionaryValue dict; | 64 base::DictionaryValue dict; |
65 base::DictionaryValue* family_dict = new base::DictionaryValue; | 65 dict.SetWithoutPathExpansion("family", |
66 dict.SetWithoutPathExpansion("family", family_dict); | 66 base::MakeUnique<base::DictionaryValue>()); |
67 std::string result; | 67 std::string result; |
68 base::JSONWriter::Write(dict, &result); | 68 base::JSONWriter::Write(dict, &result); |
69 return result; | 69 return result; |
70 } | 70 } |
71 | 71 |
72 std::string BuildGetFamilyMembersResponse( | 72 std::string BuildGetFamilyMembersResponse( |
73 const std::vector<FamilyInfoFetcher::FamilyMember>& members) { | 73 const std::vector<FamilyInfoFetcher::FamilyMember>& members) { |
74 base::DictionaryValue dict; | 74 base::DictionaryValue dict; |
75 base::ListValue* list = new base::ListValue; | 75 auto list = base::MakeUnique<base::ListValue>(); |
76 for (size_t i = 0; i < members.size(); i++) { | 76 for (size_t i = 0; i < members.size(); i++) { |
77 const FamilyInfoFetcher::FamilyMember& member = members[i]; | 77 const FamilyInfoFetcher::FamilyMember& member = members[i]; |
78 std::unique_ptr<base::DictionaryValue> member_dict( | 78 std::unique_ptr<base::DictionaryValue> member_dict( |
79 new base::DictionaryValue); | 79 new base::DictionaryValue); |
80 member_dict->SetStringWithoutPathExpansion("userId", | 80 member_dict->SetStringWithoutPathExpansion("userId", |
81 member.obfuscated_gaia_id); | 81 member.obfuscated_gaia_id); |
82 member_dict->SetStringWithoutPathExpansion( | 82 member_dict->SetStringWithoutPathExpansion( |
83 "role", FamilyInfoFetcher::RoleToString(member.role)); | 83 "role", FamilyInfoFetcher::RoleToString(member.role)); |
84 if (!member.display_name.empty() || | 84 if (!member.display_name.empty() || |
85 !member.email.empty() || | 85 !member.email.empty() || |
86 !member.profile_url.empty() || | 86 !member.profile_url.empty() || |
87 !member.profile_image_url.empty()) { | 87 !member.profile_image_url.empty()) { |
88 base::DictionaryValue* profile_dict = new base::DictionaryValue; | 88 auto profile_dict = base::MakeUnique<base::DictionaryValue>(); |
89 if (!member.display_name.empty()) | 89 if (!member.display_name.empty()) |
90 profile_dict->SetStringWithoutPathExpansion("displayName", | 90 profile_dict->SetStringWithoutPathExpansion("displayName", |
91 member.display_name); | 91 member.display_name); |
92 if (!member.email.empty()) | 92 if (!member.email.empty()) |
93 profile_dict->SetStringWithoutPathExpansion("email", | 93 profile_dict->SetStringWithoutPathExpansion("email", |
94 member.email); | 94 member.email); |
95 if (!member.profile_url.empty()) | 95 if (!member.profile_url.empty()) |
96 profile_dict->SetStringWithoutPathExpansion("profileUrl", | 96 profile_dict->SetStringWithoutPathExpansion("profileUrl", |
97 member.profile_url); | 97 member.profile_url); |
98 if (!member.profile_image_url.empty()) | 98 if (!member.profile_image_url.empty()) |
99 profile_dict->SetStringWithoutPathExpansion("profileImageUrl", | 99 profile_dict->SetStringWithoutPathExpansion("profileImageUrl", |
100 member.profile_image_url); | 100 member.profile_image_url); |
101 | 101 |
102 member_dict->SetWithoutPathExpansion("profile", profile_dict); | 102 member_dict->SetWithoutPathExpansion("profile", std::move(profile_dict)); |
103 } | 103 } |
104 list->Append(std::move(member_dict)); | 104 list->Append(std::move(member_dict)); |
105 } | 105 } |
106 dict.SetWithoutPathExpansion("members", list); | 106 dict.SetWithoutPathExpansion("members", std::move(list)); |
107 std::string result; | 107 std::string result; |
108 base::JSONWriter::Write(dict, &result); | 108 base::JSONWriter::Write(dict, &result); |
109 return result; | 109 return result; |
110 } | 110 } |
111 | 111 |
112 } // namespace | 112 } // namespace |
113 | 113 |
114 class FamilyInfoFetcherTest : public testing::Test, | 114 class FamilyInfoFetcherTest : public testing::Test, |
115 public FamilyInfoFetcher::Consumer { | 115 public FamilyInfoFetcher::Consumer { |
116 public: | 116 public: |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 IssueRefreshToken(); | 316 IssueRefreshToken(); |
317 | 317 |
318 fetcher_.StartGetFamilyProfile(); | 318 fetcher_.StartGetFamilyProfile(); |
319 | 319 |
320 IssueAccessToken(); | 320 IssueAccessToken(); |
321 | 321 |
322 // Failed API call should result in a network error. | 322 // Failed API call should result in a network error. |
323 EXPECT_CALL(*this, OnFailure(FamilyInfoFetcher::NETWORK_ERROR)); | 323 EXPECT_CALL(*this, OnFailure(FamilyInfoFetcher::NETWORK_ERROR)); |
324 SendFailedResponse(); | 324 SendFailedResponse(); |
325 } | 325 } |
OLD | NEW |