1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_CHROMEOS_POLICY_STUB_ENTERPRISE_INSTALL_ATTRIBUTES_H_ 6 #define CHROME_BROWSER_CHROMEOS_POLICY_STUB_ENTERPRISE_INSTALL_ATTRIBUTES_H_ 7 8 #include <string> 9 10 #include "base/basictypes.h" 11 #include "chrome/browser/chromeos/policy/enterprise_install_attributes.h" 12 #include "components/policy/core/common/cloud/cloud_policy_constants.h" 13 14 namespace policy { 15 16 // This class allows tests to override specific values for easier testing. 17 // To make IsEnterpriseDevice() return true, set a non-empty registration 18 // user. 19 class StubEnterpriseInstallAttributes : public EnterpriseInstallAttributes { 20 public: 21 StubEnterpriseInstallAttributes(); 22 23 void SetDomain(const std::string& domain); 24 void SetRegistrationUser(const std::string& user); 25 void SetDeviceId(const std::string& id); 26 void SetMode(DeviceMode mode); 27 28 private: 29 DISALLOW_COPY_AND_ASSIGN(StubEnterpriseInstallAttributes); 30 }; 31 32 // Helper class to set enterprise install attributes in the scope of a test. 33 class ScopedStubEnterpriseInstallAttributes { 34 public: 35 ScopedStubEnterpriseInstallAttributes(const std::string& domain, 36 const std::string& registration_user, 37 const std::string& device_id, 38 DeviceMode mode); 39 ~ScopedStubEnterpriseInstallAttributes(); 40 }; 41 42 } // namespace policy 43 44 #endif // CHROME_BROWSER_CHROMEOS_POLICY_STUB_ENTERPRISE_INSTALL_ATTRIBUTES_H_ 45