| 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 <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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |