OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/policy/device_status_collector.h" | 5 #include "chrome/browser/chromeos/policy/device_status_collector.h" |
6 | 6 |
7 #include "base/environment.h" | 7 #include "base/environment.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
641 user_manager_->CreatePublicAccountUser("public@localhost"); | 641 user_manager_->CreatePublicAccountUser("public@localhost"); |
642 user_manager_->AddUser("user0@managed.com"); | 642 user_manager_->AddUser("user0@managed.com"); |
643 user_manager_->AddUser("user1@managed.com"); | 643 user_manager_->AddUser("user1@managed.com"); |
644 user_manager_->AddUser("user2@managed.com"); | 644 user_manager_->AddUser("user2@managed.com"); |
645 user_manager_->AddUser("user3@unmanaged.com"); | 645 user_manager_->AddUser("user3@unmanaged.com"); |
646 user_manager_->AddUser("user4@managed.com"); | 646 user_manager_->AddUser("user4@managed.com"); |
647 user_manager_->AddUser("user5@managed.com"); | 647 user_manager_->AddUser("user5@managed.com"); |
648 | 648 |
649 // Verify that users are reported by default. | 649 // Verify that users are reported by default. |
650 GetStatus(); | 650 GetStatus(); |
651 EXPECT_EQ(5, status_.user_size()); | 651 EXPECT_EQ(6, status_.user_size()); |
652 | 652 |
653 // Verify that users are reported after enabling the setting. | 653 // Verify that users are reported after enabling the setting. |
654 cros_settings_->SetBoolean(chromeos::kReportDeviceUsers, true); | 654 cros_settings_->SetBoolean(chromeos::kReportDeviceUsers, true); |
655 GetStatus(); | 655 GetStatus(); |
656 EXPECT_EQ(5, status_.user_size()); | 656 EXPECT_EQ(6, status_.user_size()); |
657 EXPECT_EQ(em::DeviceUser::USER_TYPE_MANAGED, status_.user(0).type()); | 657 EXPECT_EQ(em::DeviceUser::USER_TYPE_MANAGED, status_.user(0).type()); |
658 EXPECT_EQ("user0@managed.com", status_.user(0).email()); | 658 EXPECT_EQ("user0@managed.com", status_.user(0).email()); |
659 EXPECT_EQ(em::DeviceUser::USER_TYPE_MANAGED, status_.user(1).type()); | 659 EXPECT_EQ(em::DeviceUser::USER_TYPE_MANAGED, status_.user(1).type()); |
660 EXPECT_EQ("user1@managed.com", status_.user(1).email()); | 660 EXPECT_EQ("user1@managed.com", status_.user(1).email()); |
661 EXPECT_EQ(em::DeviceUser::USER_TYPE_MANAGED, status_.user(2).type()); | 661 EXPECT_EQ(em::DeviceUser::USER_TYPE_MANAGED, status_.user(2).type()); |
662 EXPECT_EQ("user2@managed.com", status_.user(2).email()); | 662 EXPECT_EQ("user2@managed.com", status_.user(2).email()); |
663 EXPECT_EQ(em::DeviceUser::USER_TYPE_UNMANAGED, status_.user(3).type()); | 663 EXPECT_EQ(em::DeviceUser::USER_TYPE_UNMANAGED, status_.user(3).type()); |
664 EXPECT_FALSE(status_.user(3).has_email()); | 664 EXPECT_FALSE(status_.user(3).has_email()); |
665 EXPECT_EQ(em::DeviceUser::USER_TYPE_MANAGED, status_.user(4).type()); | 665 EXPECT_EQ(em::DeviceUser::USER_TYPE_MANAGED, status_.user(4).type()); |
666 EXPECT_EQ("user4@managed.com", status_.user(4).email()); | 666 EXPECT_EQ("user4@managed.com", status_.user(4).email()); |
| 667 EXPECT_EQ(em::DeviceUser::USER_TYPE_MANAGED, status_.user(5).type()); |
| 668 EXPECT_EQ("user5@managed.com", status_.user(5).email()); |
667 | 669 |
668 // Verify that users are no longer reported if setting is disabled. | 670 // Verify that users are no longer reported if setting is disabled. |
669 cros_settings_->SetBoolean(chromeos::kReportDeviceUsers, false); | 671 cros_settings_->SetBoolean(chromeos::kReportDeviceUsers, false); |
670 GetStatus(); | 672 GetStatus(); |
671 EXPECT_EQ(0, status_.user_size()); | 673 EXPECT_EQ(0, status_.user_size()); |
672 } | 674 } |
673 | 675 |
674 TEST_F(DeviceStatusCollectorTest, ReportManagedUser) { | |
675 // Verify that at least one managed user is reported regardless of list size. | |
676 user_manager_->AddUser("user0@unmanaged.com"); | |
677 user_manager_->AddUser("user1@unmanaged.com"); | |
678 user_manager_->AddUser("user2@unmanaged.com"); | |
679 user_manager_->AddUser("user3@unmanaged.com"); | |
680 user_manager_->AddUser("user4@unmanaged.com"); | |
681 user_manager_->AddUser("user5@unmanaged.com"); | |
682 user_manager_->AddUser("user6@managed.com"); | |
683 user_manager_->AddUser("user7@managed.com"); | |
684 | |
685 cros_settings_->SetBoolean(chromeos::kReportDeviceUsers, true); | |
686 GetStatus(); | |
687 EXPECT_EQ(7, status_.user_size()); | |
688 for (int i = 0; i < 6; ++i) | |
689 EXPECT_EQ(em::DeviceUser::USER_TYPE_UNMANAGED, status_.user(i).type()); | |
690 EXPECT_EQ(em::DeviceUser::USER_TYPE_MANAGED, status_.user(6).type()); | |
691 EXPECT_EQ("user6@managed.com", status_.user(6).email()); | |
692 } | |
693 | |
694 // Fake device state. | 676 // Fake device state. |
695 struct FakeDeviceData { | 677 struct FakeDeviceData { |
696 const char* device_path; | 678 const char* device_path; |
697 const char* type; | 679 const char* type; |
698 const char* object_path; | 680 const char* object_path; |
699 const char* mac_address; | 681 const char* mac_address; |
700 const char* meid; | 682 const char* meid; |
701 const char* imei; | 683 const char* imei; |
702 int expected_type; // proto enum type value, -1 for not present. | 684 int expected_type; // proto enum type value, -1 for not present. |
703 }; | 685 }; |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
805 } | 787 } |
806 | 788 |
807 EXPECT_TRUE(found_match) << "No matching interface for fake device " << i; | 789 EXPECT_TRUE(found_match) << "No matching interface for fake device " << i; |
808 count++; | 790 count++; |
809 } | 791 } |
810 | 792 |
811 EXPECT_EQ(count, status_.network_interface_size()); | 793 EXPECT_EQ(count, status_.network_interface_size()); |
812 } | 794 } |
813 | 795 |
814 } // namespace policy | 796 } // namespace policy |
OLD | NEW |