Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(198)

Side by Side Diff: components/copresence/rpc/rpc_handler_unittest.cc

Issue 671573003: Adding support for authenticated copresence calls (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing histograms Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "components/copresence/rpc/rpc_handler.h" 5 #include "components/copresence/rpc/rpc_handler.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 private: 61 private:
62 std::vector<Directive> added_directives_; 62 std::vector<Directive> added_directives_;
63 63
64 DISALLOW_COPY_AND_ASSIGN(FakeDirectiveHandler); 64 DISALLOW_COPY_AND_ASSIGN(FakeDirectiveHandler);
65 }; 65 };
66 66
67 } // namespace 67 } // namespace
68 68
69 class RpcHandlerTest : public testing::Test, public CopresenceDelegate { 69 class RpcHandlerTest : public testing::Test, public CopresenceDelegate {
70 public: 70 public:
71 RpcHandlerTest() : rpc_handler_(this), status_(SUCCESS), api_key_("API key") { 71 RpcHandlerTest() : rpc_handler_(this), status_(SUCCESS) {
72 rpc_handler_.server_post_callback_ = 72 rpc_handler_.server_post_callback_ =
73 base::Bind(&RpcHandlerTest::CaptureHttpPost, base::Unretained(this)); 73 base::Bind(&RpcHandlerTest::CaptureHttpPost, base::Unretained(this));
74 rpc_handler_.device_id_ = "Device ID"; 74 rpc_handler_.device_id_ = "Device ID";
75 } 75 }
76 76
77 void CaptureHttpPost( 77 void CaptureHttpPost(
78 net::URLRequestContextGetter* url_context_getter, 78 net::URLRequestContextGetter* url_context_getter,
79 const std::string& rpc_name, 79 const std::string& rpc_name,
80 const std::string& app_id,
80 scoped_ptr<MessageLite> request_proto, 81 scoped_ptr<MessageLite> request_proto,
81 const RpcHandler::PostCleanupCallback& response_callback) { 82 const RpcHandler::PostCleanupCallback& response_callback) {
82 rpc_name_ = rpc_name; 83 rpc_name_ = rpc_name;
84 app_id_ = app_id;
83 request_proto_ = request_proto.Pass(); 85 request_proto_ = request_proto.Pass();
84 } 86 }
85 87
86 void CaptureStatus(CopresenceStatus status) { 88 void CaptureStatus(CopresenceStatus status) {
87 status_ = status; 89 status_ = status;
88 } 90 }
89 91
90 inline const ReportRequest* GetReportSent() { 92 inline const ReportRequest* GetReportSent() {
91 return static_cast<ReportRequest*>(request_proto_.get()); 93 return static_cast<ReportRequest*>(request_proto_.get());
92 } 94 }
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 } 148 }
147 149
148 virtual net::URLRequestContextGetter* GetRequestContext() const override { 150 virtual net::URLRequestContextGetter* GetRequestContext() const override {
149 return NULL; 151 return NULL;
150 } 152 }
151 153
152 virtual const std::string GetPlatformVersionString() const override { 154 virtual const std::string GetPlatformVersionString() const override {
153 return kChromeVersion; 155 return kChromeVersion;
154 } 156 }
155 157
156 virtual const std::string GetAPIKey() const override { 158 virtual const std::string GetAPIKey(const std::string& app_id) const
157 return api_key_; 159 override {
160 NOTREACHED();
161 return "";
162 }
163
164 virtual const std::string GetAuthToken(const std::string& app_id) const
165 override {
166 NOTREACHED();
167 return "";
158 } 168 }
159 169
160 virtual WhispernetClient* GetWhispernetClient() override { 170 virtual WhispernetClient* GetWhispernetClient() override {
161 return NULL; 171 return NULL;
162 } 172 }
163 173
164 protected: 174 protected:
165 // For rpc_handler_.invalid_audio_token_cache_ 175 // For rpc_handler_.invalid_audio_token_cache_
166 base::MessageLoop message_loop_; 176 base::MessageLoop message_loop_;
167 177
168 RpcHandler rpc_handler_; 178 RpcHandler rpc_handler_;
169 CopresenceStatus status_; 179 CopresenceStatus status_;
170 std::string api_key_;
171 180
172 std::string rpc_name_; 181 std::string rpc_name_;
182 std::string app_id_;
173 scoped_ptr<MessageLite> request_proto_; 183 scoped_ptr<MessageLite> request_proto_;
174 std::map<std::string, std::vector<Message>> messages_by_subscription_; 184 std::map<std::string, std::vector<Message>> messages_by_subscription_;
175 }; 185 };
176 186
177 TEST_F(RpcHandlerTest, Initialize) { 187 TEST_F(RpcHandlerTest, Initialize) {
178 SetDeviceId(""); 188 SetDeviceId("");
179 rpc_handler_.Initialize(RpcHandler::SuccessCallback()); 189 rpc_handler_.Initialize(RpcHandler::SuccessCallback());
180 RegisterDeviceRequest* registration = 190 RegisterDeviceRequest* registration =
181 static_cast<RegisterDeviceRequest*>(request_proto_.get()); 191 static_cast<RegisterDeviceRequest*>(request_proto_.get());
182 Identity identity = registration->device_identifiers().registrant(); 192 Identity identity = registration->device_identifiers().registrant();
183 EXPECT_EQ(CHROME, identity.type()); 193 EXPECT_EQ(CHROME, identity.type());
184 EXPECT_FALSE(identity.chrome_id().empty()); 194 EXPECT_FALSE(identity.chrome_id().empty());
185 } 195 }
186 196
187 TEST_F(RpcHandlerTest, CreateRequestHeader) { 197 TEST_F(RpcHandlerTest, CreateRequestHeader) {
188 SetDeviceId("CreateRequestHeader Device ID"); 198 SetDeviceId("CreateRequestHeader Device ID");
189 rpc_handler_.SendReportRequest(make_scoped_ptr(new ReportRequest), 199 rpc_handler_.SendReportRequest(make_scoped_ptr(new ReportRequest),
190 "CreateRequestHeader App ID", 200 "CreateRequestHeader App ID",
191 StatusCallback()); 201 StatusCallback());
192 EXPECT_EQ(RpcHandler::kReportRequestRpcName, rpc_name_); 202 EXPECT_EQ(RpcHandler::kReportRequestRpcName, rpc_name_);
203 EXPECT_EQ("CreateRequestHeader App ID", app_id_);
193 ReportRequest* report = static_cast<ReportRequest*>(request_proto_.get()); 204 ReportRequest* report = static_cast<ReportRequest*>(request_proto_.get());
194 EXPECT_EQ(kChromeVersion, 205 EXPECT_EQ(kChromeVersion,
195 report->header().framework_version().version_name()); 206 report->header().framework_version().version_name());
196 EXPECT_EQ("CreateRequestHeader App ID", 207 EXPECT_EQ("CreateRequestHeader App ID",
197 report->header().client_version().client()); 208 report->header().client_version().client());
198 EXPECT_EQ("CreateRequestHeader Device ID", 209 EXPECT_EQ("CreateRequestHeader Device ID",
199 report->header().registered_device_id()); 210 report->header().registered_device_id());
200 EXPECT_EQ(CHROME_PLATFORM_TYPE, 211 EXPECT_EQ(CHROME_PLATFORM_TYPE,
201 report->header().device_fingerprint().type()); 212 report->header().device_fingerprint().type());
202 } 213 }
203 214
204 TEST_F(RpcHandlerTest, ReportTokens) { 215 TEST_F(RpcHandlerTest, ReportTokens) {
205 std::vector<AudioToken> test_tokens; 216 std::vector<AudioToken> test_tokens;
206 test_tokens.push_back(AudioToken("token 1", false)); 217 test_tokens.push_back(AudioToken("token 1", false));
207 test_tokens.push_back(AudioToken("token 2", true)); 218 test_tokens.push_back(AudioToken("token 2", true));
208 test_tokens.push_back(AudioToken("token 3", false)); 219 test_tokens.push_back(AudioToken("token 3", false));
209 AddInvalidToken("token 2"); 220 AddInvalidToken("token 2");
210 221
211 rpc_handler_.ReportTokens(test_tokens); 222 rpc_handler_.ReportTokens(test_tokens);
212 EXPECT_EQ(RpcHandler::kReportRequestRpcName, rpc_name_); 223 EXPECT_EQ(RpcHandler::kReportRequestRpcName, rpc_name_);
224 EXPECT_EQ("", app_id_);
213 ReportRequest* report = static_cast<ReportRequest*>(request_proto_.get()); 225 ReportRequest* report = static_cast<ReportRequest*>(request_proto_.get());
214 RepeatedPtrField<TokenObservation> tokens_sent = 226 RepeatedPtrField<TokenObservation> tokens_sent =
215 report->update_signals_request().token_observation(); 227 report->update_signals_request().token_observation();
216 ASSERT_EQ(2, tokens_sent.size()); 228 ASSERT_EQ(2, tokens_sent.size());
217 EXPECT_EQ("token 1", tokens_sent.Get(0).token_id()); 229 EXPECT_EQ("token 1", tokens_sent.Get(0).token_id());
218 EXPECT_EQ("token 3", tokens_sent.Get(1).token_id()); 230 EXPECT_EQ("token 3", tokens_sent.Get(1).token_id());
219 } 231 }
220 232
221 TEST_F(RpcHandlerTest, ReportResponseHandler) { 233 TEST_F(RpcHandlerTest, ReportResponseHandler) {
222 // Fail on HTTP status != 200. 234 // Fail on HTTP status != 200.
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 messages_by_subscription_["Subscription 2"][1].payload()); 285 messages_by_subscription_["Subscription 2"][1].payload());
274 286
275 ASSERT_EQ(2U, directive_handler->added_directives().size()); 287 ASSERT_EQ(2U, directive_handler->added_directives().size());
276 EXPECT_EQ("Subscription 1", 288 EXPECT_EQ("Subscription 1",
277 directive_handler->added_directives()[0].subscription_id()); 289 directive_handler->added_directives()[0].subscription_id());
278 EXPECT_EQ("Subscription 2", 290 EXPECT_EQ("Subscription 2",
279 directive_handler->added_directives()[1].subscription_id()); 291 directive_handler->added_directives()[1].subscription_id());
280 } 292 }
281 293
282 } // namespace copresence 294 } // namespace copresence
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698