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

Unified Diff: chrome/browser/policy/mock_device_management_service.h

Issue 7345010: Tests for cloud policy UMA metrics. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reviewed, rebased Created 9 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/policy/mock_device_management_service.h
diff --git a/chrome/browser/policy/mock_device_management_service.h b/chrome/browser/policy/mock_device_management_service.h
index e481f1eaeec9f6f14ede1c9056f2b5376bcdb4f8..560ba733f7720641a1ffd511a1727b52627430fd 100644
--- a/chrome/browser/policy/mock_device_management_service.h
+++ b/chrome/browser/policy/mock_device_management_service.h
@@ -8,9 +8,11 @@
#include <string>
+#include "base/basictypes.h"
#include "chrome/browser/policy/device_management_backend.h"
#include "chrome/browser/policy/device_management_service.h"
#include "chrome/browser/policy/proto/device_management_backend.pb.h"
+#include "testing/gmock/include/gmock/gmock.h"
namespace policy {
@@ -26,19 +28,19 @@ class ProxyDeviceManagementBackend : public DeviceManagementBackend {
const std::string& auth_token,
const std::string& device_id,
const em::DeviceRegisterRequest& request,
- DeviceRegisterResponseDelegate* delegate);
+ DeviceRegisterResponseDelegate* delegate) OVERRIDE;
virtual void ProcessUnregisterRequest(
const std::string& device_management_token,
const std::string& device_id,
const em::DeviceUnregisterRequest& request,
- DeviceUnregisterResponseDelegate* delegate);
+ DeviceUnregisterResponseDelegate* delegate) OVERRIDE;
virtual void ProcessPolicyRequest(
const std::string& device_management_token,
const std::string& device_id,
const em::DevicePolicyRequest& request,
- DevicePolicyResponseDelegate* delegate);
+ DevicePolicyResponseDelegate* delegate) OVERRIDE;
private:
DeviceManagementBackend* backend_; // weak
@@ -50,17 +52,37 @@ class MockDeviceManagementService : public DeviceManagementService {
MockDeviceManagementService();
virtual ~MockDeviceManagementService();
- void set_backend(DeviceManagementBackend* backend) {
- backend_ = backend;
+ MOCK_METHOD0(CreateBackend, DeviceManagementBackend*());
+ MOCK_METHOD1(StartJob, void(DeviceManagementJob*));
+
+ // This method bypasses the mocked version and calls the superclass'
+ // CreateBackend(), returning a "real" backend.
+ DeviceManagementBackend* CreateBackendNotMocked() {
+ return DeviceManagementService::CreateBackend();
}
- virtual DeviceManagementBackend* CreateBackend();
+ // This method bypasses the mocked version and calls the superclass'
+ // StartJob.
+ void StartJobNotMocked(DeviceManagementJob* job) {
+ DeviceManagementService::StartJob(job);
+ }
private:
- DeviceManagementBackend* backend_; // weak
DISALLOW_COPY_AND_ASSIGN(MockDeviceManagementService);
};
+// Use this to make CreateBackend return a ProxyDeviceManagementBackend for
+// the given |backend|.
+ACTION_P(MockDeviceManagementServiceProxyBackend, backend) {
+ return new ProxyDeviceManagementBackend(backend);
+}
+
+// Use this to make StartJob send a faked response to the job immediately.
+ACTION_P4(MockDeviceManagementServiceRespondToJob, status, response_code,
+ cookies, data) {
+ arg0->HandleResponse(status, response_code, cookies, data);
+}
+
} // namespace policy
#endif // CHROME_BROWSER_POLICY_MOCK_DEVICE_MANAGEMENT_SERVICE_H_
« no previous file with comments | « chrome/browser/policy/mock_cloud_policy_data_store.cc ('k') | chrome/browser/policy/mock_device_management_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698