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

Side by Side Diff: chrome/browser/chromeos/file_system_provider/request_manager_unittest.cc

Issue 1870793002: Convert //chrome/browser/chromeos from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 8 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 "chrome/browser/chromeos/file_system_provider/request_manager.h" 5 #include "chrome/browser/chromeos/file_system_provider/request_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <map> 9 #include <map>
10 #include <memory>
10 #include <string> 11 #include <string>
11 #include <utility> 12 #include <utility>
12 #include <vector> 13 #include <vector>
13 14
14 #include "base/bind.h" 15 #include "base/bind.h"
15 #include "base/callback.h" 16 #include "base/callback.h"
16 #include "base/files/file.h" 17 #include "base/files/file.h"
17 #include "base/files/file_path.h" 18 #include "base/files/file_path.h"
18 #include "base/macros.h" 19 #include "base/macros.h"
19 #include "base/memory/scoped_ptr.h" 20 #include "base/memory/ptr_util.h"
20 #include "base/memory/scoped_vector.h" 21 #include "base/memory/scoped_vector.h"
21 #include "base/memory/weak_ptr.h" 22 #include "base/memory/weak_ptr.h"
22 #include "base/run_loop.h" 23 #include "base/run_loop.h"
23 #include "chrome/browser/chromeos/file_system_provider/notification_manager_inte rface.h" 24 #include "chrome/browser/chromeos/file_system_provider/notification_manager_inte rface.h"
24 #include "chrome/browser/chromeos/file_system_provider/request_value.h" 25 #include "chrome/browser/chromeos/file_system_provider/request_value.h"
25 #include "chrome/test/base/testing_profile.h" 26 #include "chrome/test/base/testing_profile.h"
26 #include "content/public/test/test_browser_thread_bundle.h" 27 #include "content/public/test/test_browser_thread_bundle.h"
27 #include "testing/gtest/include/gtest/gtest.h" 28 #include "testing/gtest/include/gtest/gtest.h"
28 29
29 namespace chromeos { 30 namespace chromeos {
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 virtual ~ExecuteEvent() {} 85 virtual ~ExecuteEvent() {}
85 86
86 int request_id() { return request_id_; } 87 int request_id() { return request_id_; }
87 88
88 private: 89 private:
89 int request_id_; 90 int request_id_;
90 }; 91 };
91 92
92 class SuccessEvent { 93 class SuccessEvent {
93 public: 94 public:
94 SuccessEvent(int request_id, scoped_ptr<RequestValue> result, bool has_more) 95 SuccessEvent(int request_id,
96 std::unique_ptr<RequestValue> result,
97 bool has_more)
95 : request_id_(request_id), 98 : request_id_(request_id),
96 result_(std::move(result)), 99 result_(std::move(result)),
97 has_more_(has_more) {} 100 has_more_(has_more) {}
98 virtual ~SuccessEvent() {} 101 virtual ~SuccessEvent() {}
99 102
100 int request_id() { return request_id_; } 103 int request_id() { return request_id_; }
101 RequestValue* result() { return result_.get(); } 104 RequestValue* result() { return result_.get(); }
102 bool has_more() { return has_more_; } 105 bool has_more() { return has_more_; }
103 106
104 private: 107 private:
105 int request_id_; 108 int request_id_;
106 scoped_ptr<RequestValue> result_; 109 std::unique_ptr<RequestValue> result_;
107 bool has_more_; 110 bool has_more_;
108 }; 111 };
109 112
110 class ErrorEvent { 113 class ErrorEvent {
111 public: 114 public:
112 ErrorEvent(int request_id, 115 ErrorEvent(int request_id,
113 scoped_ptr<RequestValue> result, 116 std::unique_ptr<RequestValue> result,
114 base::File::Error error) 117 base::File::Error error)
115 : request_id_(request_id), result_(std::move(result)), error_(error) {} 118 : request_id_(request_id), result_(std::move(result)), error_(error) {}
116 virtual ~ErrorEvent() {} 119 virtual ~ErrorEvent() {}
117 120
118 int request_id() { return request_id_; } 121 int request_id() { return request_id_; }
119 RequestValue* result() { return result_.get(); } 122 RequestValue* result() { return result_.get(); }
120 base::File::Error error() { return error_; } 123 base::File::Error error() { return error_; }
121 124
122 private: 125 private:
123 int request_id_; 126 int request_id_;
124 scoped_ptr<RequestValue> result_; 127 std::unique_ptr<RequestValue> result_;
125 base::File::Error error_; 128 base::File::Error error_;
126 }; 129 };
127 130
128 EventLogger() : weak_ptr_factory_(this) {} 131 EventLogger() : weak_ptr_factory_(this) {}
129 virtual ~EventLogger() {} 132 virtual ~EventLogger() {}
130 133
131 void OnExecute(int request_id) { 134 void OnExecute(int request_id) {
132 execute_events_.push_back(new ExecuteEvent(request_id)); 135 execute_events_.push_back(new ExecuteEvent(request_id));
133 } 136 }
134 137
135 void OnSuccess(int request_id, 138 void OnSuccess(int request_id,
136 scoped_ptr<RequestValue> result, 139 std::unique_ptr<RequestValue> result,
137 bool has_more) { 140 bool has_more) {
138 success_events_.push_back( 141 success_events_.push_back(
139 new SuccessEvent(request_id, std::move(result), has_more)); 142 new SuccessEvent(request_id, std::move(result), has_more));
140 } 143 }
141 144
142 void OnError(int request_id, 145 void OnError(int request_id,
143 scoped_ptr<RequestValue> result, 146 std::unique_ptr<RequestValue> result,
144 base::File::Error error) { 147 base::File::Error error) {
145 error_events_.push_back( 148 error_events_.push_back(
146 new ErrorEvent(request_id, std::move(result), error)); 149 new ErrorEvent(request_id, std::move(result), error));
147 } 150 }
148 151
149 ScopedVector<ExecuteEvent>& execute_events() { return execute_events_; } 152 ScopedVector<ExecuteEvent>& execute_events() { return execute_events_; }
150 ScopedVector<SuccessEvent>& success_events() { return success_events_; } 153 ScopedVector<SuccessEvent>& success_events() { return success_events_; }
151 ScopedVector<ErrorEvent>& error_events() { return error_events_; } 154 ScopedVector<ErrorEvent>& error_events() { return error_events_; }
152 155
153 base::WeakPtr<EventLogger> GetWeakPtr() { 156 base::WeakPtr<EventLogger> GetWeakPtr() {
(...skipping 21 matching lines...) Expand all
175 // RequestManager::Handler overrides. 178 // RequestManager::Handler overrides.
176 bool Execute(int request_id) override { 179 bool Execute(int request_id) override {
177 if (logger_.get()) 180 if (logger_.get())
178 logger_->OnExecute(request_id); 181 logger_->OnExecute(request_id);
179 182
180 return execute_reply_; 183 return execute_reply_;
181 } 184 }
182 185
183 // RequestManager::Handler overrides. 186 // RequestManager::Handler overrides.
184 void OnSuccess(int request_id, 187 void OnSuccess(int request_id,
185 scoped_ptr<RequestValue> result, 188 std::unique_ptr<RequestValue> result,
186 bool has_more) override { 189 bool has_more) override {
187 if (logger_.get()) 190 if (logger_.get())
188 logger_->OnSuccess(request_id, std::move(result), has_more); 191 logger_->OnSuccess(request_id, std::move(result), has_more);
189 } 192 }
190 193
191 // RequestManager::Handler overrides. 194 // RequestManager::Handler overrides.
192 void OnError(int request_id, 195 void OnError(int request_id,
193 scoped_ptr<RequestValue> result, 196 std::unique_ptr<RequestValue> result,
194 base::File::Error error) override { 197 base::File::Error error) override {
195 if (logger_.get()) 198 if (logger_.get())
196 logger_->OnError(request_id, std::move(result), error); 199 logger_->OnError(request_id, std::move(result), error);
197 } 200 }
198 201
199 ~FakeHandler() override {} 202 ~FakeHandler() override {}
200 203
201 private: 204 private:
202 base::WeakPtr<EventLogger> logger_; 205 base::WeakPtr<EventLogger> logger_;
203 bool execute_reply_; 206 bool execute_reply_;
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 320
318 void SetUp() override { 321 void SetUp() override {
319 profile_.reset(new TestingProfile); 322 profile_.reset(new TestingProfile);
320 notification_manager_.reset(new FakeNotificationManager); 323 notification_manager_.reset(new FakeNotificationManager);
321 request_manager_.reset(new RequestManager(profile_.get(), 324 request_manager_.reset(new RequestManager(profile_.get(),
322 std::string() /* extension_id */, 325 std::string() /* extension_id */,
323 notification_manager_.get())); 326 notification_manager_.get()));
324 } 327 }
325 328
326 content::TestBrowserThreadBundle thread_bundle_; 329 content::TestBrowserThreadBundle thread_bundle_;
327 scoped_ptr<TestingProfile> profile_; 330 std::unique_ptr<TestingProfile> profile_;
328 scoped_ptr<FakeNotificationManager> notification_manager_; 331 std::unique_ptr<FakeNotificationManager> notification_manager_;
329 scoped_ptr<RequestManager> request_manager_; 332 std::unique_ptr<RequestManager> request_manager_;
330 }; 333 };
331 334
332 TEST_F(FileSystemProviderRequestManagerTest, CreateFailure) { 335 TEST_F(FileSystemProviderRequestManagerTest, CreateFailure) {
333 EventLogger logger; 336 EventLogger logger;
334 RequestObserver observer; 337 RequestObserver observer;
335 request_manager_->AddObserver(&observer); 338 request_manager_->AddObserver(&observer);
336 339
337 const int request_id = request_manager_->CreateRequest( 340 const int request_id = request_manager_->CreateRequest(
338 TESTING, 341 TESTING,
339 make_scoped_ptr<RequestManager::HandlerInterface>( 342 base::WrapUnique<RequestManager::HandlerInterface>(
340 new FakeHandler(logger.GetWeakPtr(), false /* execute_reply */))); 343 new FakeHandler(logger.GetWeakPtr(), false /* execute_reply */)));
341 344
342 EXPECT_EQ(0, request_id); 345 EXPECT_EQ(0, request_id);
343 EXPECT_EQ(0u, logger.success_events().size()); 346 EXPECT_EQ(0u, logger.success_events().size());
344 EXPECT_EQ(0u, logger.error_events().size()); 347 EXPECT_EQ(0u, logger.error_events().size());
345 348
346 EXPECT_EQ(1u, observer.created().size()); 349 EXPECT_EQ(1u, observer.created().size());
347 EXPECT_EQ(TESTING, observer.created()[0].type()); 350 EXPECT_EQ(TESTING, observer.created()[0].type());
348 EXPECT_EQ(1u, observer.destroyed().size()); 351 EXPECT_EQ(1u, observer.destroyed().size());
349 EXPECT_EQ(0u, observer.executed().size()); 352 EXPECT_EQ(0u, observer.executed().size());
350 353
351 const std::vector<int> active_request_ids = 354 const std::vector<int> active_request_ids =
352 request_manager_->GetActiveRequestIds(); 355 request_manager_->GetActiveRequestIds();
353 EXPECT_EQ(0u, active_request_ids.size()); 356 EXPECT_EQ(0u, active_request_ids.size());
354 357
355 request_manager_->RemoveObserver(&observer); 358 request_manager_->RemoveObserver(&observer);
356 } 359 }
357 360
358 TEST_F(FileSystemProviderRequestManagerTest, CreateAndFulFill) { 361 TEST_F(FileSystemProviderRequestManagerTest, CreateAndFulFill) {
359 EventLogger logger; 362 EventLogger logger;
360 RequestObserver observer; 363 RequestObserver observer;
361 request_manager_->AddObserver(&observer); 364 request_manager_->AddObserver(&observer);
362 365
363 const int request_id = request_manager_->CreateRequest( 366 const int request_id = request_manager_->CreateRequest(
364 TESTING, 367 TESTING,
365 make_scoped_ptr<RequestManager::HandlerInterface>( 368 base::WrapUnique<RequestManager::HandlerInterface>(
366 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 369 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
367 370
368 EXPECT_EQ(1, request_id); 371 EXPECT_EQ(1, request_id);
369 EXPECT_EQ(0u, logger.success_events().size()); 372 EXPECT_EQ(0u, logger.success_events().size());
370 EXPECT_EQ(0u, logger.error_events().size()); 373 EXPECT_EQ(0u, logger.error_events().size());
371 374
372 ASSERT_EQ(1u, observer.created().size()); 375 ASSERT_EQ(1u, observer.created().size());
373 EXPECT_EQ(request_id, observer.created()[0].request_id()); 376 EXPECT_EQ(request_id, observer.created()[0].request_id());
374 EXPECT_EQ(TESTING, observer.created()[0].type()); 377 EXPECT_EQ(TESTING, observer.created()[0].type());
375 378
376 ASSERT_EQ(1u, observer.executed().size()); 379 ASSERT_EQ(1u, observer.executed().size());
377 EXPECT_EQ(request_id, observer.executed()[0].request_id()); 380 EXPECT_EQ(request_id, observer.executed()[0].request_id());
378 381
379 const std::vector<int> active_request_ids = 382 const std::vector<int> active_request_ids =
380 request_manager_->GetActiveRequestIds(); 383 request_manager_->GetActiveRequestIds();
381 ASSERT_EQ(1u, active_request_ids.size()); 384 ASSERT_EQ(1u, active_request_ids.size());
382 EXPECT_EQ(request_id, active_request_ids[0]); 385 EXPECT_EQ(request_id, active_request_ids[0]);
383 386
384 scoped_ptr<RequestValue> response( 387 std::unique_ptr<RequestValue> response(
385 RequestValue::CreateForTesting("i-like-vanilla")); 388 RequestValue::CreateForTesting("i-like-vanilla"));
386 const bool has_more = false; 389 const bool has_more = false;
387 390
388 const base::File::Error result = request_manager_->FulfillRequest( 391 const base::File::Error result = request_manager_->FulfillRequest(
389 request_id, std::move(response), has_more); 392 request_id, std::move(response), has_more);
390 EXPECT_EQ(base::File::FILE_OK, result); 393 EXPECT_EQ(base::File::FILE_OK, result);
391 394
392 ASSERT_EQ(1u, observer.fulfilled().size()); 395 ASSERT_EQ(1u, observer.fulfilled().size());
393 EXPECT_EQ(request_id, observer.fulfilled()[0].request_id()); 396 EXPECT_EQ(request_id, observer.fulfilled()[0].request_id());
394 EXPECT_FALSE(observer.fulfilled()[0].has_more()); 397 EXPECT_FALSE(observer.fulfilled()[0].has_more());
395 398
396 // Validate if the callback has correct arguments. 399 // Validate if the callback has correct arguments.
397 ASSERT_EQ(1u, logger.success_events().size()); 400 ASSERT_EQ(1u, logger.success_events().size());
398 EXPECT_EQ(0u, logger.error_events().size()); 401 EXPECT_EQ(0u, logger.error_events().size());
399 EventLogger::SuccessEvent* event = logger.success_events()[0]; 402 EventLogger::SuccessEvent* event = logger.success_events()[0];
400 ASSERT_TRUE(event->result()); 403 ASSERT_TRUE(event->result());
401 const std::string* response_test_string = event->result()->testing_params(); 404 const std::string* response_test_string = event->result()->testing_params();
402 ASSERT_TRUE(response_test_string); 405 ASSERT_TRUE(response_test_string);
403 EXPECT_EQ("i-like-vanilla", *response_test_string); 406 EXPECT_EQ("i-like-vanilla", *response_test_string);
404 EXPECT_FALSE(event->has_more()); 407 EXPECT_FALSE(event->has_more());
405 408
406 // Confirm, that the request is removed. Basically, fulfilling again for the 409 // Confirm, that the request is removed. Basically, fulfilling again for the
407 // same request, should fail. 410 // same request, should fail.
408 { 411 {
409 const std::vector<int> active_request_ids = 412 const std::vector<int> active_request_ids =
410 request_manager_->GetActiveRequestIds(); 413 request_manager_->GetActiveRequestIds();
411 EXPECT_EQ(0u, active_request_ids.size()); 414 EXPECT_EQ(0u, active_request_ids.size());
412 415
413 const base::File::Error retry = request_manager_->FulfillRequest( 416 const base::File::Error retry = request_manager_->FulfillRequest(
414 request_id, scoped_ptr<RequestValue>(new RequestValue), has_more); 417 request_id, std::unique_ptr<RequestValue>(new RequestValue), has_more);
415 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, retry); 418 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, retry);
416 EXPECT_EQ(1u, observer.fulfilled().size()); 419 EXPECT_EQ(1u, observer.fulfilled().size());
417 } 420 }
418 421
419 // Rejecting should also fail. 422 // Rejecting should also fail.
420 { 423 {
421 const base::File::Error retry = request_manager_->RejectRequest( 424 const base::File::Error retry = request_manager_->RejectRequest(
422 request_id, scoped_ptr<RequestValue>(new RequestValue()), 425 request_id, std::unique_ptr<RequestValue>(new RequestValue()),
423 base::File::FILE_ERROR_FAILED); 426 base::File::FILE_ERROR_FAILED);
424 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, retry); 427 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, retry);
425 EXPECT_EQ(0u, observer.rejected().size()); 428 EXPECT_EQ(0u, observer.rejected().size());
426 } 429 }
427 430
428 ASSERT_EQ(1u, observer.destroyed().size()); 431 ASSERT_EQ(1u, observer.destroyed().size());
429 EXPECT_EQ(request_id, observer.destroyed()[0].request_id()); 432 EXPECT_EQ(request_id, observer.destroyed()[0].request_id());
430 EXPECT_EQ(0u, observer.timeouted().size()); 433 EXPECT_EQ(0u, observer.timeouted().size());
431 434
432 request_manager_->RemoveObserver(&observer); 435 request_manager_->RemoveObserver(&observer);
433 } 436 }
434 437
435 TEST_F(FileSystemProviderRequestManagerTest, CreateAndFulFill_WithHasNext) { 438 TEST_F(FileSystemProviderRequestManagerTest, CreateAndFulFill_WithHasNext) {
436 EventLogger logger; 439 EventLogger logger;
437 RequestObserver observer; 440 RequestObserver observer;
438 request_manager_->AddObserver(&observer); 441 request_manager_->AddObserver(&observer);
439 442
440 const int request_id = request_manager_->CreateRequest( 443 const int request_id = request_manager_->CreateRequest(
441 TESTING, 444 TESTING,
442 make_scoped_ptr<RequestManager::HandlerInterface>( 445 base::WrapUnique<RequestManager::HandlerInterface>(
443 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 446 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
444 447
445 EXPECT_EQ(1, request_id); 448 EXPECT_EQ(1, request_id);
446 EXPECT_EQ(0u, logger.success_events().size()); 449 EXPECT_EQ(0u, logger.success_events().size());
447 EXPECT_EQ(0u, logger.error_events().size()); 450 EXPECT_EQ(0u, logger.error_events().size());
448 451
449 ASSERT_EQ(1u, observer.created().size()); 452 ASSERT_EQ(1u, observer.created().size());
450 EXPECT_EQ(request_id, observer.created()[0].request_id()); 453 EXPECT_EQ(request_id, observer.created()[0].request_id());
451 EXPECT_EQ(TESTING, observer.created()[0].type()); 454 EXPECT_EQ(TESTING, observer.created()[0].type());
452 455
453 ASSERT_EQ(1u, observer.executed().size()); 456 ASSERT_EQ(1u, observer.executed().size());
454 EXPECT_EQ(request_id, observer.executed()[0].request_id()); 457 EXPECT_EQ(request_id, observer.executed()[0].request_id());
455 458
456 const bool has_more = true; 459 const bool has_more = true;
457 460
458 const base::File::Error result = request_manager_->FulfillRequest( 461 const base::File::Error result = request_manager_->FulfillRequest(
459 request_id, scoped_ptr<RequestValue>(new RequestValue), has_more); 462 request_id, std::unique_ptr<RequestValue>(new RequestValue), has_more);
460 EXPECT_EQ(base::File::FILE_OK, result); 463 EXPECT_EQ(base::File::FILE_OK, result);
461 464
462 // Validate if the callback has correct arguments. 465 // Validate if the callback has correct arguments.
463 ASSERT_EQ(1u, logger.success_events().size()); 466 ASSERT_EQ(1u, logger.success_events().size());
464 EXPECT_EQ(0u, logger.error_events().size()); 467 EXPECT_EQ(0u, logger.error_events().size());
465 EventLogger::SuccessEvent* event = logger.success_events()[0]; 468 EventLogger::SuccessEvent* event = logger.success_events()[0];
466 EXPECT_TRUE(event->result()); 469 EXPECT_TRUE(event->result());
467 EXPECT_TRUE(event->has_more()); 470 EXPECT_TRUE(event->has_more());
468 471
469 ASSERT_EQ(1u, observer.fulfilled().size()); 472 ASSERT_EQ(1u, observer.fulfilled().size());
470 EXPECT_EQ(request_id, observer.fulfilled()[0].request_id()); 473 EXPECT_EQ(request_id, observer.fulfilled()[0].request_id());
471 EXPECT_TRUE(observer.fulfilled()[0].has_more()); 474 EXPECT_TRUE(observer.fulfilled()[0].has_more());
472 475
473 // Confirm, that the request is not removed (since it has has_more == true). 476 // Confirm, that the request is not removed (since it has has_more == true).
474 // Basically, fulfilling again for the same request, should not fail. 477 // Basically, fulfilling again for the same request, should not fail.
475 { 478 {
476 const std::vector<int> active_request_ids = 479 const std::vector<int> active_request_ids =
477 request_manager_->GetActiveRequestIds(); 480 request_manager_->GetActiveRequestIds();
478 ASSERT_EQ(1u, active_request_ids.size()); 481 ASSERT_EQ(1u, active_request_ids.size());
479 EXPECT_EQ(request_id, active_request_ids[0]); 482 EXPECT_EQ(request_id, active_request_ids[0]);
480 483
481 const bool new_has_more = false; 484 const bool new_has_more = false;
482 const base::File::Error retry = request_manager_->FulfillRequest( 485 const base::File::Error retry = request_manager_->FulfillRequest(
483 request_id, scoped_ptr<RequestValue>(new RequestValue), new_has_more); 486 request_id, std::unique_ptr<RequestValue>(new RequestValue),
487 new_has_more);
484 EXPECT_EQ(base::File::FILE_OK, retry); 488 EXPECT_EQ(base::File::FILE_OK, retry);
485 489
486 ASSERT_EQ(2u, observer.fulfilled().size()); 490 ASSERT_EQ(2u, observer.fulfilled().size());
487 EXPECT_EQ(request_id, observer.fulfilled()[1].request_id()); 491 EXPECT_EQ(request_id, observer.fulfilled()[1].request_id());
488 EXPECT_FALSE(observer.fulfilled()[1].has_more()); 492 EXPECT_FALSE(observer.fulfilled()[1].has_more());
489 } 493 }
490 494
491 // Since |new_has_more| is false, then the request should be removed. To check 495 // Since |new_has_more| is false, then the request should be removed. To check
492 // it, try to fulfill again, what should fail. 496 // it, try to fulfill again, what should fail.
493 { 497 {
494 const std::vector<int> active_request_ids = 498 const std::vector<int> active_request_ids =
495 request_manager_->GetActiveRequestIds(); 499 request_manager_->GetActiveRequestIds();
496 EXPECT_EQ(0u, active_request_ids.size()); 500 EXPECT_EQ(0u, active_request_ids.size());
497 501
498 const bool new_has_more = false; 502 const bool new_has_more = false;
499 const base::File::Error retry = request_manager_->FulfillRequest( 503 const base::File::Error retry = request_manager_->FulfillRequest(
500 request_id, scoped_ptr<RequestValue>(new RequestValue), new_has_more); 504 request_id, std::unique_ptr<RequestValue>(new RequestValue),
505 new_has_more);
501 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, retry); 506 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, retry);
502 EXPECT_EQ(0u, observer.rejected().size()); 507 EXPECT_EQ(0u, observer.rejected().size());
503 } 508 }
504 509
505 ASSERT_EQ(1u, observer.destroyed().size()); 510 ASSERT_EQ(1u, observer.destroyed().size());
506 EXPECT_EQ(request_id, observer.destroyed()[0].request_id()); 511 EXPECT_EQ(request_id, observer.destroyed()[0].request_id());
507 EXPECT_EQ(0u, observer.timeouted().size()); 512 EXPECT_EQ(0u, observer.timeouted().size());
508 513
509 request_manager_->RemoveObserver(&observer); 514 request_manager_->RemoveObserver(&observer);
510 } 515 }
511 516
512 TEST_F(FileSystemProviderRequestManagerTest, CreateAndReject) { 517 TEST_F(FileSystemProviderRequestManagerTest, CreateAndReject) {
513 EventLogger logger; 518 EventLogger logger;
514 RequestObserver observer; 519 RequestObserver observer;
515 request_manager_->AddObserver(&observer); 520 request_manager_->AddObserver(&observer);
516 521
517 const int request_id = request_manager_->CreateRequest( 522 const int request_id = request_manager_->CreateRequest(
518 TESTING, 523 TESTING,
519 make_scoped_ptr<RequestManager::HandlerInterface>( 524 base::WrapUnique<RequestManager::HandlerInterface>(
520 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 525 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
521 526
522 EXPECT_EQ(1, request_id); 527 EXPECT_EQ(1, request_id);
523 EXPECT_EQ(0u, logger.success_events().size()); 528 EXPECT_EQ(0u, logger.success_events().size());
524 EXPECT_EQ(0u, logger.error_events().size()); 529 EXPECT_EQ(0u, logger.error_events().size());
525 530
526 ASSERT_EQ(1u, observer.created().size()); 531 ASSERT_EQ(1u, observer.created().size());
527 EXPECT_EQ(request_id, observer.created()[0].request_id()); 532 EXPECT_EQ(request_id, observer.created()[0].request_id());
528 EXPECT_EQ(TESTING, observer.created()[0].type()); 533 EXPECT_EQ(TESTING, observer.created()[0].type());
529 534
530 ASSERT_EQ(1u, observer.executed().size()); 535 ASSERT_EQ(1u, observer.executed().size());
531 EXPECT_EQ(request_id, observer.executed()[0].request_id()); 536 EXPECT_EQ(request_id, observer.executed()[0].request_id());
532 537
533 const base::File::Error error = base::File::FILE_ERROR_NO_MEMORY; 538 const base::File::Error error = base::File::FILE_ERROR_NO_MEMORY;
534 const base::File::Error result = request_manager_->RejectRequest( 539 const base::File::Error result = request_manager_->RejectRequest(
535 request_id, scoped_ptr<RequestValue>(new RequestValue()), error); 540 request_id, std::unique_ptr<RequestValue>(new RequestValue()), error);
536 EXPECT_EQ(base::File::FILE_OK, result); 541 EXPECT_EQ(base::File::FILE_OK, result);
537 542
538 // Validate if the callback has correct arguments. 543 // Validate if the callback has correct arguments.
539 ASSERT_EQ(1u, logger.error_events().size()); 544 ASSERT_EQ(1u, logger.error_events().size());
540 EXPECT_EQ(0u, logger.success_events().size()); 545 EXPECT_EQ(0u, logger.success_events().size());
541 EventLogger::ErrorEvent* event = logger.error_events()[0]; 546 EventLogger::ErrorEvent* event = logger.error_events()[0];
542 EXPECT_EQ(error, event->error()); 547 EXPECT_EQ(error, event->error());
543 548
544 ASSERT_EQ(1u, observer.rejected().size()); 549 ASSERT_EQ(1u, observer.rejected().size());
545 EXPECT_EQ(request_id, observer.rejected()[0].request_id()); 550 EXPECT_EQ(request_id, observer.rejected()[0].request_id());
546 EXPECT_EQ(error, observer.rejected()[0].error()); 551 EXPECT_EQ(error, observer.rejected()[0].error());
547 552
548 // Confirm, that the request is removed. Basically, fulfilling again for the 553 // Confirm, that the request is removed. Basically, fulfilling again for the
549 // same request, should fail. 554 // same request, should fail.
550 { 555 {
551 const bool has_more = false; 556 const bool has_more = false;
552 const base::File::Error retry = request_manager_->FulfillRequest( 557 const base::File::Error retry = request_manager_->FulfillRequest(
553 request_id, scoped_ptr<RequestValue>(new RequestValue), has_more); 558 request_id, std::unique_ptr<RequestValue>(new RequestValue), has_more);
554 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, retry); 559 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, retry);
555 EXPECT_EQ(0u, observer.fulfilled().size()); 560 EXPECT_EQ(0u, observer.fulfilled().size());
556 } 561 }
557 562
558 // Rejecting should also fail. 563 // Rejecting should also fail.
559 { 564 {
560 const base::File::Error retry = request_manager_->RejectRequest( 565 const base::File::Error retry = request_manager_->RejectRequest(
561 request_id, scoped_ptr<RequestValue>(new RequestValue()), error); 566 request_id, std::unique_ptr<RequestValue>(new RequestValue()), error);
562 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, retry); 567 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, retry);
563 EXPECT_EQ(1u, observer.rejected().size()); 568 EXPECT_EQ(1u, observer.rejected().size());
564 } 569 }
565 570
566 ASSERT_EQ(1u, observer.destroyed().size()); 571 ASSERT_EQ(1u, observer.destroyed().size());
567 EXPECT_EQ(request_id, observer.destroyed()[0].request_id()); 572 EXPECT_EQ(request_id, observer.destroyed()[0].request_id());
568 EXPECT_EQ(0u, observer.timeouted().size()); 573 EXPECT_EQ(0u, observer.timeouted().size());
569 574
570 request_manager_->RemoveObserver(&observer); 575 request_manager_->RemoveObserver(&observer);
571 } 576 }
572 577
573 TEST_F(FileSystemProviderRequestManagerTest, 578 TEST_F(FileSystemProviderRequestManagerTest,
574 CreateAndFulfillWithWrongRequestId) { 579 CreateAndFulfillWithWrongRequestId) {
575 EventLogger logger; 580 EventLogger logger;
576 RequestObserver observer; 581 RequestObserver observer;
577 request_manager_->AddObserver(&observer); 582 request_manager_->AddObserver(&observer);
578 583
579 const int request_id = request_manager_->CreateRequest( 584 const int request_id = request_manager_->CreateRequest(
580 TESTING, 585 TESTING,
581 make_scoped_ptr<RequestManager::HandlerInterface>( 586 base::WrapUnique<RequestManager::HandlerInterface>(
582 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 587 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
583 588
584 EXPECT_EQ(1, request_id); 589 EXPECT_EQ(1, request_id);
585 EXPECT_EQ(0u, logger.success_events().size()); 590 EXPECT_EQ(0u, logger.success_events().size());
586 EXPECT_EQ(0u, logger.error_events().size()); 591 EXPECT_EQ(0u, logger.error_events().size());
587 592
588 ASSERT_EQ(1u, observer.created().size()); 593 ASSERT_EQ(1u, observer.created().size());
589 EXPECT_EQ(request_id, observer.created()[0].request_id()); 594 EXPECT_EQ(request_id, observer.created()[0].request_id());
590 EXPECT_EQ(TESTING, observer.created()[0].type()); 595 EXPECT_EQ(TESTING, observer.created()[0].type());
591 596
592 ASSERT_EQ(1u, observer.executed().size()); 597 ASSERT_EQ(1u, observer.executed().size());
593 EXPECT_EQ(request_id, observer.executed()[0].request_id()); 598 EXPECT_EQ(request_id, observer.executed()[0].request_id());
594 599
595 const bool has_more = true; 600 const bool has_more = true;
596 601
597 const base::File::Error result = request_manager_->FulfillRequest( 602 const base::File::Error result = request_manager_->FulfillRequest(
598 request_id + 1, scoped_ptr<RequestValue>(new RequestValue), has_more); 603 request_id + 1, std::unique_ptr<RequestValue>(new RequestValue),
604 has_more);
599 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, result); 605 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, result);
600 606
601 // Callbacks should not be called. 607 // Callbacks should not be called.
602 EXPECT_EQ(0u, logger.error_events().size()); 608 EXPECT_EQ(0u, logger.error_events().size());
603 EXPECT_EQ(0u, logger.success_events().size()); 609 EXPECT_EQ(0u, logger.success_events().size());
604 610
605 EXPECT_EQ(0u, observer.fulfilled().size()); 611 EXPECT_EQ(0u, observer.fulfilled().size());
606 EXPECT_EQ(request_id, observer.executed()[0].request_id()); 612 EXPECT_EQ(request_id, observer.executed()[0].request_id());
607 613
608 // Confirm, that the request hasn't been removed, by fulfilling it correctly. 614 // Confirm, that the request hasn't been removed, by fulfilling it correctly.
609 { 615 {
610 const base::File::Error retry = request_manager_->FulfillRequest( 616 const base::File::Error retry = request_manager_->FulfillRequest(
611 request_id, scoped_ptr<RequestValue>(new RequestValue), has_more); 617 request_id, std::unique_ptr<RequestValue>(new RequestValue), has_more);
612 EXPECT_EQ(base::File::FILE_OK, retry); 618 EXPECT_EQ(base::File::FILE_OK, retry);
613 EXPECT_EQ(1u, observer.fulfilled().size()); 619 EXPECT_EQ(1u, observer.fulfilled().size());
614 } 620 }
615 621
616 request_manager_->RemoveObserver(&observer); 622 request_manager_->RemoveObserver(&observer);
617 } 623 }
618 624
619 TEST_F(FileSystemProviderRequestManagerTest, 625 TEST_F(FileSystemProviderRequestManagerTest,
620 CreateAndRejectWithWrongRequestId) { 626 CreateAndRejectWithWrongRequestId) {
621 EventLogger logger; 627 EventLogger logger;
622 RequestObserver observer; 628 RequestObserver observer;
623 request_manager_->AddObserver(&observer); 629 request_manager_->AddObserver(&observer);
624 630
625 const int request_id = request_manager_->CreateRequest( 631 const int request_id = request_manager_->CreateRequest(
626 TESTING, 632 TESTING,
627 make_scoped_ptr<RequestManager::HandlerInterface>( 633 base::WrapUnique<RequestManager::HandlerInterface>(
628 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 634 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
629 635
630 EXPECT_EQ(1, request_id); 636 EXPECT_EQ(1, request_id);
631 EXPECT_EQ(0u, logger.success_events().size()); 637 EXPECT_EQ(0u, logger.success_events().size());
632 EXPECT_EQ(0u, logger.error_events().size()); 638 EXPECT_EQ(0u, logger.error_events().size());
633 639
634 ASSERT_EQ(1u, observer.created().size()); 640 ASSERT_EQ(1u, observer.created().size());
635 EXPECT_EQ(request_id, observer.created()[0].request_id()); 641 EXPECT_EQ(request_id, observer.created()[0].request_id());
636 EXPECT_EQ(TESTING, observer.created()[0].type()); 642 EXPECT_EQ(TESTING, observer.created()[0].type());
637 643
638 ASSERT_EQ(1u, observer.executed().size()); 644 ASSERT_EQ(1u, observer.executed().size());
639 EXPECT_EQ(request_id, observer.executed()[0].request_id()); 645 EXPECT_EQ(request_id, observer.executed()[0].request_id());
640 646
641 const base::File::Error error = base::File::FILE_ERROR_NO_MEMORY; 647 const base::File::Error error = base::File::FILE_ERROR_NO_MEMORY;
642 const base::File::Error result = request_manager_->RejectRequest( 648 const base::File::Error result = request_manager_->RejectRequest(
643 request_id + 1, scoped_ptr<RequestValue>(new RequestValue()), error); 649 request_id + 1, std::unique_ptr<RequestValue>(new RequestValue()), error);
644 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, result); 650 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, result);
645 651
646 // Callbacks should not be called. 652 // Callbacks should not be called.
647 EXPECT_EQ(0u, logger.error_events().size()); 653 EXPECT_EQ(0u, logger.error_events().size());
648 EXPECT_EQ(0u, logger.success_events().size()); 654 EXPECT_EQ(0u, logger.success_events().size());
649 655
650 EXPECT_EQ(0u, observer.rejected().size()); 656 EXPECT_EQ(0u, observer.rejected().size());
651 657
652 // Confirm, that the request hasn't been removed, by rejecting it correctly. 658 // Confirm, that the request hasn't been removed, by rejecting it correctly.
653 { 659 {
654 const base::File::Error retry = request_manager_->RejectRequest( 660 const base::File::Error retry = request_manager_->RejectRequest(
655 request_id, scoped_ptr<RequestValue>(new RequestValue()), error); 661 request_id, std::unique_ptr<RequestValue>(new RequestValue()), error);
656 EXPECT_EQ(base::File::FILE_OK, retry); 662 EXPECT_EQ(base::File::FILE_OK, retry);
657 EXPECT_EQ(1u, observer.rejected().size()); 663 EXPECT_EQ(1u, observer.rejected().size());
658 } 664 }
659 665
660 request_manager_->RemoveObserver(&observer); 666 request_manager_->RemoveObserver(&observer);
661 } 667 }
662 668
663 TEST_F(FileSystemProviderRequestManagerTest, UniqueIds) { 669 TEST_F(FileSystemProviderRequestManagerTest, UniqueIds) {
664 EventLogger logger; 670 EventLogger logger;
665 671
666 const int first_request_id = request_manager_->CreateRequest( 672 const int first_request_id = request_manager_->CreateRequest(
667 TESTING, 673 TESTING,
668 make_scoped_ptr<RequestManager::HandlerInterface>( 674 base::WrapUnique<RequestManager::HandlerInterface>(
669 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 675 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
670 676
671 const int second_request_id = request_manager_->CreateRequest( 677 const int second_request_id = request_manager_->CreateRequest(
672 TESTING, 678 TESTING,
673 make_scoped_ptr<RequestManager::HandlerInterface>( 679 base::WrapUnique<RequestManager::HandlerInterface>(
674 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 680 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
675 681
676 EXPECT_EQ(1, first_request_id); 682 EXPECT_EQ(1, first_request_id);
677 EXPECT_EQ(2, second_request_id); 683 EXPECT_EQ(2, second_request_id);
678 } 684 }
679 685
680 TEST_F(FileSystemProviderRequestManagerTest, AbortOnDestroy) { 686 TEST_F(FileSystemProviderRequestManagerTest, AbortOnDestroy) {
681 EventLogger logger; 687 EventLogger logger;
682 RequestObserver observer; 688 RequestObserver observer;
683 int request_id; 689 int request_id;
684 690
685 { 691 {
686 RequestManager request_manager(profile_.get(), 692 RequestManager request_manager(profile_.get(),
687 std::string() /* extension_id */, nullptr); 693 std::string() /* extension_id */, nullptr);
688 request_manager.AddObserver(&observer); 694 request_manager.AddObserver(&observer);
689 695
690 request_id = request_manager.CreateRequest( 696 request_id = request_manager.CreateRequest(
691 TESTING, 697 TESTING,
692 make_scoped_ptr<RequestManager::HandlerInterface>( 698 base::WrapUnique<RequestManager::HandlerInterface>(
693 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 699 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
694 700
695 EXPECT_EQ(1, request_id); 701 EXPECT_EQ(1, request_id);
696 EXPECT_EQ(0u, logger.success_events().size()); 702 EXPECT_EQ(0u, logger.success_events().size());
697 EXPECT_EQ(0u, logger.error_events().size()); 703 EXPECT_EQ(0u, logger.error_events().size());
698 704
699 ASSERT_EQ(1u, observer.created().size()); 705 ASSERT_EQ(1u, observer.created().size());
700 EXPECT_EQ(request_id, observer.created()[0].request_id()); 706 EXPECT_EQ(request_id, observer.created()[0].request_id());
701 EXPECT_EQ(TESTING, observer.created()[0].type()); 707 EXPECT_EQ(TESTING, observer.created()[0].type());
702 708
(...skipping 24 matching lines...) Expand all
727 } 733 }
728 734
729 TEST_F(FileSystemProviderRequestManagerTest, AbortOnTimeout) { 735 TEST_F(FileSystemProviderRequestManagerTest, AbortOnTimeout) {
730 EventLogger logger; 736 EventLogger logger;
731 RequestObserver observer; 737 RequestObserver observer;
732 request_manager_->AddObserver(&observer); 738 request_manager_->AddObserver(&observer);
733 739
734 request_manager_->SetTimeoutForTesting(base::TimeDelta::FromSeconds(0)); 740 request_manager_->SetTimeoutForTesting(base::TimeDelta::FromSeconds(0));
735 const int request_id = request_manager_->CreateRequest( 741 const int request_id = request_manager_->CreateRequest(
736 TESTING, 742 TESTING,
737 make_scoped_ptr<RequestManager::HandlerInterface>( 743 base::WrapUnique<RequestManager::HandlerInterface>(
738 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 744 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
739 EXPECT_EQ(1, request_id); 745 EXPECT_EQ(1, request_id);
740 EXPECT_EQ(0u, logger.success_events().size()); 746 EXPECT_EQ(0u, logger.success_events().size());
741 EXPECT_EQ(0u, logger.error_events().size()); 747 EXPECT_EQ(0u, logger.error_events().size());
742 EXPECT_EQ(0u, notification_manager_->size()); 748 EXPECT_EQ(0u, notification_manager_->size());
743 749
744 ASSERT_EQ(1u, observer.created().size()); 750 ASSERT_EQ(1u, observer.created().size());
745 EXPECT_EQ(request_id, observer.created()[0].request_id()); 751 EXPECT_EQ(request_id, observer.created()[0].request_id());
746 EXPECT_EQ(TESTING, observer.created()[0].type()); 752 EXPECT_EQ(TESTING, observer.created()[0].type());
747 753
(...skipping 24 matching lines...) Expand all
772 } 778 }
773 779
774 TEST_F(FileSystemProviderRequestManagerTest, ContinueOnTimeout) { 780 TEST_F(FileSystemProviderRequestManagerTest, ContinueOnTimeout) {
775 EventLogger logger; 781 EventLogger logger;
776 RequestObserver observer; 782 RequestObserver observer;
777 request_manager_->AddObserver(&observer); 783 request_manager_->AddObserver(&observer);
778 784
779 request_manager_->SetTimeoutForTesting(base::TimeDelta::FromSeconds(0)); 785 request_manager_->SetTimeoutForTesting(base::TimeDelta::FromSeconds(0));
780 const int request_id = request_manager_->CreateRequest( 786 const int request_id = request_manager_->CreateRequest(
781 TESTING, 787 TESTING,
782 make_scoped_ptr<RequestManager::HandlerInterface>( 788 base::WrapUnique<RequestManager::HandlerInterface>(
783 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 789 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
784 EXPECT_EQ(1, request_id); 790 EXPECT_EQ(1, request_id);
785 EXPECT_EQ(0u, logger.success_events().size()); 791 EXPECT_EQ(0u, logger.success_events().size());
786 EXPECT_EQ(0u, logger.error_events().size()); 792 EXPECT_EQ(0u, logger.error_events().size());
787 EXPECT_EQ(0u, notification_manager_->size()); 793 EXPECT_EQ(0u, notification_manager_->size());
788 794
789 ASSERT_EQ(1u, observer.created().size()); 795 ASSERT_EQ(1u, observer.created().size());
790 EXPECT_EQ(request_id, observer.created()[0].request_id()); 796 EXPECT_EQ(request_id, observer.created()[0].request_id());
791 EXPECT_EQ(TESTING, observer.created()[0].type()); 797 EXPECT_EQ(TESTING, observer.created()[0].type());
792 798
(...skipping 14 matching lines...) Expand all
807 813
808 // Wait until the request is timeouted again. 814 // Wait until the request is timeouted again.
809 base::RunLoop().RunUntilIdle(); 815 base::RunLoop().RunUntilIdle();
810 EXPECT_EQ(1u, notification_manager_->size()); 816 EXPECT_EQ(1u, notification_manager_->size());
811 817
812 request_manager_->RemoveObserver(&observer); 818 request_manager_->RemoveObserver(&observer);
813 } 819 }
814 820
815 } // namespace file_system_provider 821 } // namespace file_system_provider
816 } // namespace chromeos 822 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698