| 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 |