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

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

Issue 301873002: [fsp] Show request logs in chrome://provided-file-systems. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. Created 6 years, 6 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 | Annotate | Revision Log
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 <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/files/file.h" 10 #include "base/files/file.h"
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 explicit Event(int request_id) : request_id_(request_id) {} 150 explicit Event(int request_id) : request_id_(request_id) {}
151 virtual ~Event() {} 151 virtual ~Event() {}
152 int request_id() const { return request_id_; } 152 int request_id() const { return request_id_; }
153 153
154 private: 154 private:
155 int request_id_; 155 int request_id_;
156 }; 156 };
157 157
158 class CreatedEvent : public Event { 158 class CreatedEvent : public Event {
159 public: 159 public:
160 CreatedEvent(int request_id, RequestManager::RequestType type) 160 CreatedEvent(int request_id, RequestType type)
161 : Event(request_id), type_(type) {} 161 : Event(request_id), type_(type) {}
162 virtual ~CreatedEvent() {} 162 virtual ~CreatedEvent() {}
163 163
164 RequestManager::RequestType type() const { return type_; } 164 RequestType type() const { return type_; }
165 165
166 private: 166 private:
167 RequestManager::RequestType type_; 167 RequestType type_;
168 }; 168 };
169 169
170 class FulfilledEvent : public Event { 170 class FulfilledEvent : public Event {
171 public: 171 public:
172 FulfilledEvent(int request_id, bool has_more) 172 FulfilledEvent(int request_id, bool has_more)
173 : Event(request_id), has_more_(has_more) {} 173 : Event(request_id), has_more_(has_more) {}
174 virtual ~FulfilledEvent() {} 174 virtual ~FulfilledEvent() {}
175 175
176 bool has_more() const { return has_more_; } 176 bool has_more() const { return has_more_; }
177 177
(...skipping 10 matching lines...) Expand all
188 base::File::Error error() const { return error_; } 188 base::File::Error error() const { return error_; }
189 189
190 private: 190 private:
191 base::File::Error error_; 191 base::File::Error error_;
192 }; 192 };
193 193
194 RequestObserver() {} 194 RequestObserver() {}
195 virtual ~RequestObserver() {} 195 virtual ~RequestObserver() {}
196 196
197 // RequestManager::Observer overrides. 197 // RequestManager::Observer overrides.
198 virtual void OnRequestCreated(int request_id, 198 virtual void OnRequestCreated(int request_id, RequestType type) OVERRIDE {
199 RequestManager::RequestType type) OVERRIDE {
200 created_.push_back(CreatedEvent(request_id, type)); 199 created_.push_back(CreatedEvent(request_id, type));
201 } 200 }
202 201
203 // RequestManager::Observer overrides. 202 // RequestManager::Observer overrides.
204 virtual void OnRequestDestroyed(int request_id) OVERRIDE { 203 virtual void OnRequestDestroyed(int request_id) OVERRIDE {
205 destroyed_.push_back(Event(request_id)); 204 destroyed_.push_back(Event(request_id));
206 } 205 }
207 206
208 // RequestManager::Observer overrides. 207 // RequestManager::Observer overrides.
209 virtual void OnRequestExecuted(int request_id) OVERRIDE { 208 virtual void OnRequestExecuted(int request_id) OVERRIDE {
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 content::TestBrowserThreadBundle thread_bundle_; 257 content::TestBrowserThreadBundle thread_bundle_;
259 scoped_ptr<RequestManager> request_manager_; 258 scoped_ptr<RequestManager> request_manager_;
260 }; 259 };
261 260
262 TEST_F(FileSystemProviderRequestManagerTest, CreateFailure) { 261 TEST_F(FileSystemProviderRequestManagerTest, CreateFailure) {
263 EventLogger logger; 262 EventLogger logger;
264 RequestObserver observer; 263 RequestObserver observer;
265 request_manager_->AddObserver(&observer); 264 request_manager_->AddObserver(&observer);
266 265
267 const int request_id = request_manager_->CreateRequest( 266 const int request_id = request_manager_->CreateRequest(
268 RequestManager::TESTING, 267 TESTING,
269 make_scoped_ptr<RequestManager::HandlerInterface>( 268 make_scoped_ptr<RequestManager::HandlerInterface>(
270 new FakeHandler(logger.GetWeakPtr(), false /* execute_reply */))); 269 new FakeHandler(logger.GetWeakPtr(), false /* execute_reply */)));
271 270
272 EXPECT_EQ(0, request_id); 271 EXPECT_EQ(0, request_id);
273 EXPECT_EQ(0u, logger.success_events().size()); 272 EXPECT_EQ(0u, logger.success_events().size());
274 EXPECT_EQ(0u, logger.error_events().size()); 273 EXPECT_EQ(0u, logger.error_events().size());
275 274
276 EXPECT_EQ(1u, observer.created().size()); 275 EXPECT_EQ(1u, observer.created().size());
277 EXPECT_EQ(RequestManager::TESTING, observer.created()[0].type()); 276 EXPECT_EQ(TESTING, observer.created()[0].type());
278 EXPECT_EQ(1u, observer.destroyed().size()); 277 EXPECT_EQ(1u, observer.destroyed().size());
279 EXPECT_EQ(0u, observer.executed().size()); 278 EXPECT_EQ(0u, observer.executed().size());
280 279
281 request_manager_->RemoveObserver(&observer); 280 request_manager_->RemoveObserver(&observer);
282 } 281 }
283 282
284 TEST_F(FileSystemProviderRequestManagerTest, CreateAndFulFill) { 283 TEST_F(FileSystemProviderRequestManagerTest, CreateAndFulFill) {
285 EventLogger logger; 284 EventLogger logger;
286 RequestObserver observer; 285 RequestObserver observer;
287 request_manager_->AddObserver(&observer); 286 request_manager_->AddObserver(&observer);
288 287
289 const int request_id = request_manager_->CreateRequest( 288 const int request_id = request_manager_->CreateRequest(
290 RequestManager::TESTING, 289 TESTING,
291 make_scoped_ptr<RequestManager::HandlerInterface>( 290 make_scoped_ptr<RequestManager::HandlerInterface>(
292 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 291 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
293 292
294 EXPECT_EQ(1, request_id); 293 EXPECT_EQ(1, request_id);
295 EXPECT_EQ(0u, logger.success_events().size()); 294 EXPECT_EQ(0u, logger.success_events().size());
296 EXPECT_EQ(0u, logger.error_events().size()); 295 EXPECT_EQ(0u, logger.error_events().size());
297 296
298 ASSERT_EQ(1u, observer.created().size()); 297 ASSERT_EQ(1u, observer.created().size());
299 EXPECT_EQ(request_id, observer.created()[0].request_id()); 298 EXPECT_EQ(request_id, observer.created()[0].request_id());
300 EXPECT_EQ(RequestManager::TESTING, observer.created()[0].type()); 299 EXPECT_EQ(TESTING, observer.created()[0].type());
301 300
302 ASSERT_EQ(1u, observer.executed().size()); 301 ASSERT_EQ(1u, observer.executed().size());
303 EXPECT_EQ(request_id, observer.executed()[0].request_id()); 302 EXPECT_EQ(request_id, observer.executed()[0].request_id());
304 303
305 scoped_ptr<RequestValue> response( 304 scoped_ptr<RequestValue> response(
306 RequestValue::CreateForTesting("i-like-vanilla")); 305 RequestValue::CreateForTesting("i-like-vanilla"));
307 const bool has_more = false; 306 const bool has_more = false;
308 307
309 bool result = 308 bool result =
310 request_manager_->FulfillRequest(request_id, response.Pass(), has_more); 309 request_manager_->FulfillRequest(request_id, response.Pass(), has_more);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 347
349 request_manager_->RemoveObserver(&observer); 348 request_manager_->RemoveObserver(&observer);
350 } 349 }
351 350
352 TEST_F(FileSystemProviderRequestManagerTest, CreateAndFulFill_WithHasNext) { 351 TEST_F(FileSystemProviderRequestManagerTest, CreateAndFulFill_WithHasNext) {
353 EventLogger logger; 352 EventLogger logger;
354 RequestObserver observer; 353 RequestObserver observer;
355 request_manager_->AddObserver(&observer); 354 request_manager_->AddObserver(&observer);
356 355
357 const int request_id = request_manager_->CreateRequest( 356 const int request_id = request_manager_->CreateRequest(
358 RequestManager::TESTING, 357 TESTING,
359 make_scoped_ptr<RequestManager::HandlerInterface>( 358 make_scoped_ptr<RequestManager::HandlerInterface>(
360 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 359 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
361 360
362 EXPECT_EQ(1, request_id); 361 EXPECT_EQ(1, request_id);
363 EXPECT_EQ(0u, logger.success_events().size()); 362 EXPECT_EQ(0u, logger.success_events().size());
364 EXPECT_EQ(0u, logger.error_events().size()); 363 EXPECT_EQ(0u, logger.error_events().size());
365 364
366 ASSERT_EQ(1u, observer.created().size()); 365 ASSERT_EQ(1u, observer.created().size());
367 EXPECT_EQ(request_id, observer.created()[0].request_id()); 366 EXPECT_EQ(request_id, observer.created()[0].request_id());
368 EXPECT_EQ(RequestManager::TESTING, observer.created()[0].type()); 367 EXPECT_EQ(TESTING, observer.created()[0].type());
369 368
370 ASSERT_EQ(1u, observer.executed().size()); 369 ASSERT_EQ(1u, observer.executed().size());
371 EXPECT_EQ(request_id, observer.executed()[0].request_id()); 370 EXPECT_EQ(request_id, observer.executed()[0].request_id());
372 371
373 scoped_ptr<RequestValue> response; 372 scoped_ptr<RequestValue> response;
374 const bool has_more = true; 373 const bool has_more = true;
375 374
376 bool result = 375 bool result =
377 request_manager_->FulfillRequest(request_id, response.Pass(), has_more); 376 request_manager_->FulfillRequest(request_id, response.Pass(), has_more);
378 EXPECT_TRUE(result); 377 EXPECT_TRUE(result);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 416
418 request_manager_->RemoveObserver(&observer); 417 request_manager_->RemoveObserver(&observer);
419 } 418 }
420 419
421 TEST_F(FileSystemProviderRequestManagerTest, CreateAndReject) { 420 TEST_F(FileSystemProviderRequestManagerTest, CreateAndReject) {
422 EventLogger logger; 421 EventLogger logger;
423 RequestObserver observer; 422 RequestObserver observer;
424 request_manager_->AddObserver(&observer); 423 request_manager_->AddObserver(&observer);
425 424
426 const int request_id = request_manager_->CreateRequest( 425 const int request_id = request_manager_->CreateRequest(
427 RequestManager::TESTING, 426 TESTING,
428 make_scoped_ptr<RequestManager::HandlerInterface>( 427 make_scoped_ptr<RequestManager::HandlerInterface>(
429 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 428 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
430 429
431 EXPECT_EQ(1, request_id); 430 EXPECT_EQ(1, request_id);
432 EXPECT_EQ(0u, logger.success_events().size()); 431 EXPECT_EQ(0u, logger.success_events().size());
433 EXPECT_EQ(0u, logger.error_events().size()); 432 EXPECT_EQ(0u, logger.error_events().size());
434 433
435 ASSERT_EQ(1u, observer.created().size()); 434 ASSERT_EQ(1u, observer.created().size());
436 EXPECT_EQ(request_id, observer.created()[0].request_id()); 435 EXPECT_EQ(request_id, observer.created()[0].request_id());
437 EXPECT_EQ(RequestManager::TESTING, observer.created()[0].type()); 436 EXPECT_EQ(TESTING, observer.created()[0].type());
438 437
439 ASSERT_EQ(1u, observer.executed().size()); 438 ASSERT_EQ(1u, observer.executed().size());
440 EXPECT_EQ(request_id, observer.executed()[0].request_id()); 439 EXPECT_EQ(request_id, observer.executed()[0].request_id());
441 440
442 base::File::Error error = base::File::FILE_ERROR_NO_MEMORY; 441 base::File::Error error = base::File::FILE_ERROR_NO_MEMORY;
443 bool result = request_manager_->RejectRequest(request_id, error); 442 bool result = request_manager_->RejectRequest(request_id, error);
444 EXPECT_TRUE(result); 443 EXPECT_TRUE(result);
445 444
446 // Validate if the callback has correct arguments. 445 // Validate if the callback has correct arguments.
447 ASSERT_EQ(1u, logger.error_events().size()); 446 ASSERT_EQ(1u, logger.error_events().size());
(...skipping 30 matching lines...) Expand all
478 request_manager_->RemoveObserver(&observer); 477 request_manager_->RemoveObserver(&observer);
479 } 478 }
480 479
481 TEST_F(FileSystemProviderRequestManagerTest, 480 TEST_F(FileSystemProviderRequestManagerTest,
482 CreateAndFulfillWithWrongRequestId) { 481 CreateAndFulfillWithWrongRequestId) {
483 EventLogger logger; 482 EventLogger logger;
484 RequestObserver observer; 483 RequestObserver observer;
485 request_manager_->AddObserver(&observer); 484 request_manager_->AddObserver(&observer);
486 485
487 const int request_id = request_manager_->CreateRequest( 486 const int request_id = request_manager_->CreateRequest(
488 RequestManager::TESTING, 487 TESTING,
489 make_scoped_ptr<RequestManager::HandlerInterface>( 488 make_scoped_ptr<RequestManager::HandlerInterface>(
490 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 489 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
491 490
492 EXPECT_EQ(1, request_id); 491 EXPECT_EQ(1, request_id);
493 EXPECT_EQ(0u, logger.success_events().size()); 492 EXPECT_EQ(0u, logger.success_events().size());
494 EXPECT_EQ(0u, logger.error_events().size()); 493 EXPECT_EQ(0u, logger.error_events().size());
495 494
496 ASSERT_EQ(1u, observer.created().size()); 495 ASSERT_EQ(1u, observer.created().size());
497 EXPECT_EQ(request_id, observer.created()[0].request_id()); 496 EXPECT_EQ(request_id, observer.created()[0].request_id());
498 EXPECT_EQ(RequestManager::TESTING, observer.created()[0].type()); 497 EXPECT_EQ(TESTING, observer.created()[0].type());
499 498
500 ASSERT_EQ(1u, observer.executed().size()); 499 ASSERT_EQ(1u, observer.executed().size());
501 EXPECT_EQ(request_id, observer.executed()[0].request_id()); 500 EXPECT_EQ(request_id, observer.executed()[0].request_id());
502 501
503 scoped_ptr<RequestValue> response; 502 scoped_ptr<RequestValue> response;
504 const bool has_more = true; 503 const bool has_more = true;
505 504
506 const bool result = request_manager_->FulfillRequest( 505 const bool result = request_manager_->FulfillRequest(
507 request_id + 1, response.Pass(), has_more); 506 request_id + 1, response.Pass(), has_more);
508 EXPECT_FALSE(result); 507 EXPECT_FALSE(result);
(...skipping 16 matching lines...) Expand all
525 request_manager_->RemoveObserver(&observer); 524 request_manager_->RemoveObserver(&observer);
526 } 525 }
527 526
528 TEST_F(FileSystemProviderRequestManagerTest, 527 TEST_F(FileSystemProviderRequestManagerTest,
529 CreateAndRejectWithWrongRequestId) { 528 CreateAndRejectWithWrongRequestId) {
530 EventLogger logger; 529 EventLogger logger;
531 RequestObserver observer; 530 RequestObserver observer;
532 request_manager_->AddObserver(&observer); 531 request_manager_->AddObserver(&observer);
533 532
534 const int request_id = request_manager_->CreateRequest( 533 const int request_id = request_manager_->CreateRequest(
535 RequestManager::TESTING, 534 TESTING,
536 make_scoped_ptr<RequestManager::HandlerInterface>( 535 make_scoped_ptr<RequestManager::HandlerInterface>(
537 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 536 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
538 537
539 EXPECT_EQ(1, request_id); 538 EXPECT_EQ(1, request_id);
540 EXPECT_EQ(0u, logger.success_events().size()); 539 EXPECT_EQ(0u, logger.success_events().size());
541 EXPECT_EQ(0u, logger.error_events().size()); 540 EXPECT_EQ(0u, logger.error_events().size());
542 541
543 ASSERT_EQ(1u, observer.created().size()); 542 ASSERT_EQ(1u, observer.created().size());
544 EXPECT_EQ(request_id, observer.created()[0].request_id()); 543 EXPECT_EQ(request_id, observer.created()[0].request_id());
545 EXPECT_EQ(RequestManager::TESTING, observer.created()[0].type()); 544 EXPECT_EQ(TESTING, observer.created()[0].type());
546 545
547 ASSERT_EQ(1u, observer.executed().size()); 546 ASSERT_EQ(1u, observer.executed().size());
548 EXPECT_EQ(request_id, observer.executed()[0].request_id()); 547 EXPECT_EQ(request_id, observer.executed()[0].request_id());
549 548
550 base::File::Error error = base::File::FILE_ERROR_NO_MEMORY; 549 base::File::Error error = base::File::FILE_ERROR_NO_MEMORY;
551 bool result = request_manager_->RejectRequest(request_id + 1, error); 550 bool result = request_manager_->RejectRequest(request_id + 1, error);
552 EXPECT_FALSE(result); 551 EXPECT_FALSE(result);
553 552
554 // Callbacks should not be called. 553 // Callbacks should not be called.
555 EXPECT_EQ(0u, logger.error_events().size()); 554 EXPECT_EQ(0u, logger.error_events().size());
556 EXPECT_EQ(0u, logger.success_events().size()); 555 EXPECT_EQ(0u, logger.success_events().size());
557 556
558 EXPECT_EQ(0u, observer.rejected().size()); 557 EXPECT_EQ(0u, observer.rejected().size());
559 558
560 // Confirm, that the request hasn't been removed, by rejecting it correctly. 559 // Confirm, that the request hasn't been removed, by rejecting it correctly.
561 { 560 {
562 bool retry = request_manager_->RejectRequest(request_id, error); 561 bool retry = request_manager_->RejectRequest(request_id, error);
563 EXPECT_TRUE(retry); 562 EXPECT_TRUE(retry);
564 EXPECT_EQ(1u, observer.rejected().size()); 563 EXPECT_EQ(1u, observer.rejected().size());
565 } 564 }
566 565
567 request_manager_->RemoveObserver(&observer); 566 request_manager_->RemoveObserver(&observer);
568 } 567 }
569 568
570 TEST_F(FileSystemProviderRequestManagerTest, UniqueIds) { 569 TEST_F(FileSystemProviderRequestManagerTest, UniqueIds) {
571 EventLogger logger; 570 EventLogger logger;
572 571
573 const int first_request_id = request_manager_->CreateRequest( 572 const int first_request_id = request_manager_->CreateRequest(
574 RequestManager::TESTING, 573 TESTING,
575 make_scoped_ptr<RequestManager::HandlerInterface>( 574 make_scoped_ptr<RequestManager::HandlerInterface>(
576 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 575 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
577 576
578 const int second_request_id = request_manager_->CreateRequest( 577 const int second_request_id = request_manager_->CreateRequest(
579 RequestManager::TESTING, 578 TESTING,
580 make_scoped_ptr<RequestManager::HandlerInterface>( 579 make_scoped_ptr<RequestManager::HandlerInterface>(
581 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 580 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
582 581
583 EXPECT_EQ(1, first_request_id); 582 EXPECT_EQ(1, first_request_id);
584 EXPECT_EQ(2, second_request_id); 583 EXPECT_EQ(2, second_request_id);
585 } 584 }
586 585
587 TEST_F(FileSystemProviderRequestManagerTest, AbortOnDestroy) { 586 TEST_F(FileSystemProviderRequestManagerTest, AbortOnDestroy) {
588 EventLogger logger; 587 EventLogger logger;
589 RequestObserver observer; 588 RequestObserver observer;
590 int request_id; 589 int request_id;
591 590
592 { 591 {
593 RequestManager request_manager; 592 RequestManager request_manager;
594 request_manager.AddObserver(&observer); 593 request_manager.AddObserver(&observer);
595 594
596 request_id = request_manager.CreateRequest( 595 request_id = request_manager.CreateRequest(
597 RequestManager::TESTING, 596 TESTING,
598 make_scoped_ptr<RequestManager::HandlerInterface>( 597 make_scoped_ptr<RequestManager::HandlerInterface>(
599 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 598 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
600 599
601 EXPECT_EQ(1, request_id); 600 EXPECT_EQ(1, request_id);
602 EXPECT_EQ(0u, logger.success_events().size()); 601 EXPECT_EQ(0u, logger.success_events().size());
603 EXPECT_EQ(0u, logger.error_events().size()); 602 EXPECT_EQ(0u, logger.error_events().size());
604 603
605 ASSERT_EQ(1u, observer.created().size()); 604 ASSERT_EQ(1u, observer.created().size());
606 EXPECT_EQ(request_id, observer.created()[0].request_id()); 605 EXPECT_EQ(request_id, observer.created()[0].request_id());
607 EXPECT_EQ(RequestManager::TESTING, observer.created()[0].type()); 606 EXPECT_EQ(TESTING, observer.created()[0].type());
608 607
609 ASSERT_EQ(1u, observer.executed().size()); 608 ASSERT_EQ(1u, observer.executed().size());
610 EXPECT_EQ(request_id, observer.executed()[0].request_id()); 609 EXPECT_EQ(request_id, observer.executed()[0].request_id());
611 610
612 EXPECT_EQ(0u, observer.fulfilled().size()); 611 EXPECT_EQ(0u, observer.fulfilled().size());
613 EXPECT_EQ(0u, observer.rejected().size()); 612 EXPECT_EQ(0u, observer.rejected().size());
614 EXPECT_EQ(0u, observer.destroyed().size()); 613 EXPECT_EQ(0u, observer.destroyed().size());
615 EXPECT_EQ(0u, observer.timeouted().size()); 614 EXPECT_EQ(0u, observer.timeouted().size());
616 615
617 // Do not remove the observer, to catch events while destructing. 616 // Do not remove the observer, to catch events while destructing.
(...skipping 14 matching lines...) Expand all
632 ASSERT_EQ(1u, observer.destroyed().size()); 631 ASSERT_EQ(1u, observer.destroyed().size());
633 } 632 }
634 633
635 TEST_F(FileSystemProviderRequestManagerTest, AbortOnTimeout) { 634 TEST_F(FileSystemProviderRequestManagerTest, AbortOnTimeout) {
636 EventLogger logger; 635 EventLogger logger;
637 RequestObserver observer; 636 RequestObserver observer;
638 request_manager_->AddObserver(&observer); 637 request_manager_->AddObserver(&observer);
639 638
640 request_manager_->SetTimeoutForTests(base::TimeDelta::FromSeconds(0)); 639 request_manager_->SetTimeoutForTests(base::TimeDelta::FromSeconds(0));
641 const int request_id = request_manager_->CreateRequest( 640 const int request_id = request_manager_->CreateRequest(
642 RequestManager::TESTING, 641 TESTING,
643 make_scoped_ptr<RequestManager::HandlerInterface>( 642 make_scoped_ptr<RequestManager::HandlerInterface>(
644 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 643 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
645 EXPECT_EQ(1, request_id); 644 EXPECT_EQ(1, request_id);
646 EXPECT_EQ(0u, logger.success_events().size()); 645 EXPECT_EQ(0u, logger.success_events().size());
647 EXPECT_EQ(0u, logger.error_events().size()); 646 EXPECT_EQ(0u, logger.error_events().size());
648 647
649 ASSERT_EQ(1u, observer.created().size()); 648 ASSERT_EQ(1u, observer.created().size());
650 EXPECT_EQ(request_id, observer.created()[0].request_id()); 649 EXPECT_EQ(request_id, observer.created()[0].request_id());
651 EXPECT_EQ(RequestManager::TESTING, observer.created()[0].type()); 650 EXPECT_EQ(TESTING, observer.created()[0].type());
652 651
653 ASSERT_EQ(1u, observer.executed().size()); 652 ASSERT_EQ(1u, observer.executed().size());
654 EXPECT_EQ(request_id, observer.executed()[0].request_id()); 653 EXPECT_EQ(request_id, observer.executed()[0].request_id());
655 654
656 // Wait until the request is timeouted. 655 // Wait until the request is timeouted.
657 base::RunLoop().RunUntilIdle(); 656 base::RunLoop().RunUntilIdle();
658 657
659 ASSERT_EQ(1u, logger.error_events().size()); 658 ASSERT_EQ(1u, logger.error_events().size());
660 EventLogger::ErrorEvent* event = logger.error_events()[0]; 659 EventLogger::ErrorEvent* event = logger.error_events()[0];
661 EXPECT_EQ(base::File::FILE_ERROR_ABORT, event->error()); 660 EXPECT_EQ(base::File::FILE_ERROR_ABORT, event->error());
662 661
663 ASSERT_EQ(1u, observer.rejected().size()); 662 ASSERT_EQ(1u, observer.rejected().size());
664 EXPECT_EQ(request_id, observer.rejected()[0].request_id()); 663 EXPECT_EQ(request_id, observer.rejected()[0].request_id());
665 EXPECT_EQ(base::File::FILE_ERROR_ABORT, observer.rejected()[0].error()); 664 EXPECT_EQ(base::File::FILE_ERROR_ABORT, observer.rejected()[0].error());
666 ASSERT_EQ(1u, observer.timeouted().size()); 665 ASSERT_EQ(1u, observer.timeouted().size());
667 EXPECT_EQ(request_id, observer.timeouted()[0].request_id()); 666 EXPECT_EQ(request_id, observer.timeouted()[0].request_id());
668 ASSERT_EQ(1u, observer.destroyed().size()); 667 ASSERT_EQ(1u, observer.destroyed().size());
669 EXPECT_EQ(request_id, observer.destroyed()[0].request_id()); 668 EXPECT_EQ(request_id, observer.destroyed()[0].request_id());
670 669
671 request_manager_->RemoveObserver(&observer); 670 request_manager_->RemoveObserver(&observer);
672 } 671 }
673 672
674 } // namespace file_system_provider 673 } // namespace file_system_provider
675 } // namespace chromeos 674 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698