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

Side by Side Diff: chrome/browser/chromeos/file_manager/volume_manager_unittest.cc

Issue 2201023002: Change access mode of disk devices when mounting based on config. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix typo. Created 4 years, 4 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_manager/volume_manager.h" 5 #include "chrome/browser/chromeos/file_manager/volume_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 const chromeos::disks::DiskMountManager::Disk kDisk( 430 const chromeos::disks::DiskMountManager::Disk kDisk(
431 "device1", "", "", "", "", "", "", "", "", "", "", "", 431 "device1", "", "", "", "", "", "", "", "", "", "", "",
432 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, true, false, false, 432 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, true, false, false,
433 false); 433 false);
434 volume_manager()->OnDiskEvent( 434 volume_manager()->OnDiskEvent(
435 chromeos::disks::DiskMountManager::DISK_CHANGED, &kDisk); 435 chromeos::disks::DiskMountManager::DISK_CHANGED, &kDisk);
436 436
437 EXPECT_EQ(1U, observer.events().size()); 437 EXPECT_EQ(1U, observer.events().size());
438 EXPECT_EQ(1U, disk_mount_manager_->mount_requests().size()); 438 EXPECT_EQ(1U, disk_mount_manager_->mount_requests().size());
439 EXPECT_EQ(0U, disk_mount_manager_->unmount_requests().size()); 439 EXPECT_EQ(0U, disk_mount_manager_->unmount_requests().size());
440 // Read-write mode by default.
441 EXPECT_EQ(chromeos::MOUNT_ACCESS_MODE_READ_WRITE,
442 disk_mount_manager_->mount_requests()[0].access_mode);
440 443
441 volume_manager()->RemoveObserver(&observer); 444 volume_manager()->RemoveObserver(&observer);
442 } 445 }
446
447 TEST_F(VolumeManagerTest, OnDiskEvent_ChangedInReadonly) {
448 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageReadOnly, true);
449
450 // Changed event should cause mounting (if possible).
451 LoggingObserver observer;
452 volume_manager()->AddObserver(&observer);
453
454 const chromeos::disks::DiskMountManager::Disk kDisk(
455 "device1", "", "", "", "", "", "", "", "", "", "", "",
456 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, true, false, false,
457 false);
458 volume_manager()->OnDiskEvent(chromeos::disks::DiskMountManager::DISK_CHANGED,
459 &kDisk);
460
461 EXPECT_EQ(1U, observer.events().size());
462 EXPECT_EQ(1U, disk_mount_manager_->mount_requests().size());
463 EXPECT_EQ(0U, disk_mount_manager_->unmount_requests().size());
464 // Shoule mount a disk in read-only mode.
465 EXPECT_EQ(chromeos::MOUNT_ACCESS_MODE_READ_ONLY,
466 disk_mount_manager_->mount_requests()[0].access_mode);
467
468 volume_manager()->RemoveObserver(&observer);
469 }
443 470
444 TEST_F(VolumeManagerTest, OnDeviceEvent_Added) { 471 TEST_F(VolumeManagerTest, OnDeviceEvent_Added) {
445 LoggingObserver observer; 472 LoggingObserver observer;
446 volume_manager()->AddObserver(&observer); 473 volume_manager()->AddObserver(&observer);
447 474
448 volume_manager()->OnDeviceEvent( 475 volume_manager()->OnDeviceEvent(
449 chromeos::disks::DiskMountManager::DEVICE_ADDED, "device1"); 476 chromeos::disks::DiskMountManager::DEVICE_ADDED, "device1");
450 477
451 ASSERT_EQ(1U, observer.events().size()); 478 ASSERT_EQ(1U, observer.events().size());
452 const LoggingObserver::Event& event = observer.events()[0]; 479 const LoggingObserver::Event& event = observer.events()[0];
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
517 volume_manager()->RemoveObserver(&observer); 544 volume_manager()->RemoveObserver(&observer);
518 } 545 }
519 546
520 TEST_F(VolumeManagerTest, OnMountEvent_Remounting) { 547 TEST_F(VolumeManagerTest, OnMountEvent_Remounting) {
521 std::unique_ptr<chromeos::disks::DiskMountManager::Disk> disk( 548 std::unique_ptr<chromeos::disks::DiskMountManager::Disk> disk(
522 new chromeos::disks::DiskMountManager::Disk( 549 new chromeos::disks::DiskMountManager::Disk(
523 "device1", "", "", "", "", "", "", "", "", "", "uuid1", "", 550 "device1", "", "", "", "", "", "", "", "", "", "uuid1", "",
524 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, false, false, false, 551 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, false, false, false,
525 false)); 552 false));
526 disk_mount_manager_->AddDiskForTest(disk.release()); 553 disk_mount_manager_->AddDiskForTest(disk.release());
527 disk_mount_manager_->MountPath( 554 disk_mount_manager_->MountPath("device1", "", "", chromeos::MOUNT_TYPE_DEVICE,
528 "device1", "", "", chromeos::MOUNT_TYPE_DEVICE); 555 chromeos::MOUNT_ACCESS_MODE_READ_WRITE);
529 556
530 const chromeos::disks::DiskMountManager::MountPointInfo kMountPoint( 557 const chromeos::disks::DiskMountManager::MountPointInfo kMountPoint(
531 "device1", 558 "device1",
532 "mount1", 559 "mount1",
533 chromeos::MOUNT_TYPE_DEVICE, 560 chromeos::MOUNT_TYPE_DEVICE,
534 chromeos::disks::MOUNT_CONDITION_NONE); 561 chromeos::disks::MOUNT_CONDITION_NONE);
535 562
536 volume_manager()->OnMountEvent( 563 volume_manager()->OnMountEvent(
537 chromeos::disks::DiskMountManager::MOUNTING, 564 chromeos::disks::DiskMountManager::MOUNTING,
538 chromeos::MOUNT_ERROR_NONE, 565 chromeos::MOUNT_ERROR_NONE,
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
667 EXPECT_EQ("device1", event.device_path); 694 EXPECT_EQ("device1", event.device_path);
668 EXPECT_FALSE(event.success); 695 EXPECT_FALSE(event.success);
669 696
670 EXPECT_EQ(0U, disk_mount_manager_->mount_requests().size()); 697 EXPECT_EQ(0U, disk_mount_manager_->mount_requests().size());
671 698
672 volume_manager()->RemoveObserver(&observer); 699 volume_manager()->RemoveObserver(&observer);
673 } 700 }
674 701
675 TEST_F(VolumeManagerTest, OnExternalStorageDisabledChanged) { 702 TEST_F(VolumeManagerTest, OnExternalStorageDisabledChanged) {
676 // Here create two mount points. 703 // Here create two mount points.
677 disk_mount_manager_->MountPath( 704 disk_mount_manager_->MountPath("mount1", "", "", chromeos::MOUNT_TYPE_DEVICE,
678 "mount1", "", "", chromeos::MOUNT_TYPE_DEVICE); 705 chromeos::MOUNT_ACCESS_MODE_READ_WRITE);
679 disk_mount_manager_->MountPath( 706 disk_mount_manager_->MountPath("mount2", "", "", chromeos::MOUNT_TYPE_DEVICE,
680 "mount2", "", "", chromeos::MOUNT_TYPE_DEVICE); 707 chromeos::MOUNT_ACCESS_MODE_READ_ONLY);
681 708
682 // Initially, there are two mount points. 709 // Initially, there are two mount points.
683 ASSERT_EQ(2U, disk_mount_manager_->mount_points().size()); 710 ASSERT_EQ(2U, disk_mount_manager_->mount_points().size());
684 ASSERT_EQ(0U, disk_mount_manager_->unmount_requests().size()); 711 ASSERT_EQ(0U, disk_mount_manager_->unmount_requests().size());
685 712
686 // Emulate to set kExternalStorageDisabled to false. 713 // Emulate to set kExternalStorageDisabled to false.
687 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageDisabled, false); 714 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageDisabled, false);
688 volume_manager()->OnExternalStorageDisabledChanged(); 715 volume_manager()->OnExternalStorageDisabledChanged();
689 716
690 // Expect no effects. 717 // Expect no effects.
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
873 // Detach 900 // Detach
874 volume_manager()->OnRemovableStorageDetached(info); 901 volume_manager()->OnRemovableStorageDetached(info);
875 ASSERT_EQ(2u, observer.events().size()); 902 ASSERT_EQ(2u, observer.events().size());
876 EXPECT_EQ(LoggingObserver::Event::VOLUME_UNMOUNTED, 903 EXPECT_EQ(LoggingObserver::Event::VOLUME_UNMOUNTED,
877 observer.events()[1].type); 904 observer.events()[1].type);
878 905
879 EXPECT_FALSE(volume.get()); 906 EXPECT_FALSE(volume.get());
880 } 907 }
881 908
882 } // namespace file_manager 909 } // namespace file_manager
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/file_manager/volume_manager.cc ('k') | chrome/browser/chromeos/login/kiosk_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698