summaryrefslogtreecommitdiffstats
path: root/chrome/browser/policy/device_management_service_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/policy/device_management_service_unittest.cc')
-rw-r--r--chrome/browser/policy/device_management_service_unittest.cc110
1 files changed, 64 insertions, 46 deletions
diff --git a/chrome/browser/policy/device_management_service_unittest.cc b/chrome/browser/policy/device_management_service_unittest.cc
index cabc7f7..ea6fece 100644
--- a/chrome/browser/policy/device_management_service_unittest.cc
+++ b/chrome/browser/policy/device_management_service_unittest.cc
@@ -5,6 +5,7 @@
#include "base/message_loop.h"
#include "base/string_split.h"
#include "chrome/browser/browser_thread.h"
+#include "chrome/browser/policy/device_management_backend_impl.h"
#include "chrome/browser/policy/device_management_backend_mock.h"
#include "chrome/browser/policy/device_management_service.h"
#include "chrome/common/net/test_url_fetcher_factory.h"
@@ -30,6 +31,11 @@ const char kResponseErrorActivationPending[] = "\x08\x04";
#define PROTO_STRING(name) (std::string(name, arraysize(name) - 1))
+// Some helper constants.
+const char kAuthToken[] = "auth-token";
+const char kDMToken[] = "device-management-token";
+const char kDeviceId[] = "device-id";
+
// Unit tests for the device management policy service. The tests are run
// against a TestURLFetcherFactory that is used to short-circuit the request
// without calling into the actual network stack.
@@ -98,7 +104,7 @@ TEST_P(DeviceManagementServiceFailedRequestTest, RegisterRequest) {
DeviceRegisterResponseDelegateMock mock;
EXPECT_CALL(mock, OnError(GetParam().expected_error_));
em::DeviceRegisterRequest request;
- backend_->ProcessRegisterRequest("token", "device id", request, &mock);
+ backend_->ProcessRegisterRequest(kAuthToken, kDeviceId, request, &mock);
TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
ASSERT_TRUE(fetcher);
@@ -114,7 +120,7 @@ TEST_P(DeviceManagementServiceFailedRequestTest, UnregisterRequest) {
DeviceUnregisterResponseDelegateMock mock;
EXPECT_CALL(mock, OnError(GetParam().expected_error_));
em::DeviceUnregisterRequest request;
- backend_->ProcessUnregisterRequest("token", request, &mock);
+ backend_->ProcessUnregisterRequest(kDMToken, kDeviceId, request, &mock);
TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
ASSERT_TRUE(fetcher);
@@ -134,7 +140,7 @@ TEST_P(DeviceManagementServiceFailedRequestTest, PolicyRequest) {
em::DevicePolicySettingRequest* setting_request =
request.add_setting_request();
setting_request->set_key("policy");
- backend_->ProcessPolicyRequest("token", request, &mock);
+ backend_->ProcessPolicyRequest(kDMToken, kDeviceId, request, &mock);
TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
ASSERT_TRUE(fetcher);
@@ -186,18 +192,6 @@ INSTANTIATE_TEST_CASE_P(
200,
PROTO_STRING(kResponseErrorActivationPending))));
-class DeviceManagementServiceTest
- : public DeviceManagementServiceTestBase<testing::Test> {
-};
-
-MATCHER_P(MessageEquals, reference, "") {
- std::string reference_data;
- std::string arg_data;
- return arg.SerializeToString(&arg_data) &&
- reference.SerializeToString(&reference_data) &&
- arg_data == reference_data;
-}
-
// Simple query parameter parser for testing.
class QueryParams {
public:
@@ -238,26 +232,56 @@ class QueryParams {
ParamMap params_;
};
+class DeviceManagementServiceTest
+ : public DeviceManagementServiceTestBase<testing::Test> {
+ protected:
+ void CheckURLAndQueryParams(const GURL& request_url,
+ const std::string& request_type,
+ const std::string& device_id) {
+ const GURL service_url(kServiceUrl);
+ EXPECT_EQ(service_url.scheme(), request_url.scheme());
+ EXPECT_EQ(service_url.host(), request_url.host());
+ EXPECT_EQ(service_url.port(), request_url.port());
+ EXPECT_EQ(service_url.path(), request_url.path());
+
+ QueryParams query_params(request_url.query());
+ EXPECT_TRUE(query_params.Check(
+ DeviceManagementBackendImpl::kParamRequest, request_type));
+ EXPECT_TRUE(query_params.Check(
+ DeviceManagementBackendImpl::kParamDeviceID, device_id));
+ EXPECT_TRUE(query_params.Check(
+ DeviceManagementBackendImpl::kParamDeviceType,
+ DeviceManagementBackendImpl::kValueDeviceType));
+ EXPECT_TRUE(query_params.Check(
+ DeviceManagementBackendImpl::kParamAppType,
+ DeviceManagementBackendImpl::kValueAppType));
+ EXPECT_TRUE(query_params.Check(
+ DeviceManagementBackendImpl::kParamAgent,
+ DeviceManagementBackendImpl::GetAgentString()));
+ }
+};
+
+MATCHER_P(MessageEquals, reference, "") {
+ std::string reference_data;
+ std::string arg_data;
+ return arg.SerializeToString(&arg_data) &&
+ reference.SerializeToString(&reference_data) &&
+ arg_data == reference_data;
+}
+
TEST_F(DeviceManagementServiceTest, RegisterRequest) {
DeviceRegisterResponseDelegateMock mock;
em::DeviceRegisterResponse expected_response;
- expected_response.set_device_management_token("mtoken");
+ expected_response.set_device_management_token(kDMToken);
EXPECT_CALL(mock, HandleRegisterResponse(MessageEquals(expected_response)));
em::DeviceRegisterRequest request;
- backend_->ProcessRegisterRequest("token", "device id", request, &mock);
+ backend_->ProcessRegisterRequest(kDMToken, kDeviceId, request, &mock);
TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
ASSERT_TRUE(fetcher);
- // Check the data the fetcher received.
- const GURL& request_url(fetcher->original_url());
- const GURL service_url(kServiceUrl);
- EXPECT_EQ(service_url.scheme(), request_url.scheme());
- EXPECT_EQ(service_url.host(), request_url.host());
- EXPECT_EQ(service_url.port(), request_url.port());
- EXPECT_EQ(service_url.path(), request_url.path());
-
- QueryParams query_params(request_url.query());
- EXPECT_TRUE(query_params.Check("request", "register"));
+ CheckURLAndQueryParams(fetcher->original_url(),
+ DeviceManagementBackendImpl::kValueRequestRegister,
+ kDeviceId);
em::DeviceManagementRequest expected_request_wrapper;
expected_request_wrapper.mutable_register_request()->CopyFrom(request);
@@ -286,7 +310,7 @@ TEST_F(DeviceManagementServiceTest, UnregisterRequest) {
em::DeviceUnregisterResponse expected_response;
EXPECT_CALL(mock, HandleUnregisterResponse(MessageEquals(expected_response)));
em::DeviceUnregisterRequest request;
- backend_->ProcessUnregisterRequest("dmtokenvalue", request, &mock);
+ backend_->ProcessUnregisterRequest(kDMToken, kDeviceId, request, &mock);
TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
ASSERT_TRUE(fetcher);
@@ -298,8 +322,9 @@ TEST_F(DeviceManagementServiceTest, UnregisterRequest) {
EXPECT_EQ(service_url.port(), request_url.port());
EXPECT_EQ(service_url.path(), request_url.path());
- QueryParams query_params(request_url.query());
- EXPECT_TRUE(query_params.Check("request", "unregister"));
+ CheckURLAndQueryParams(fetcher->original_url(),
+ DeviceManagementBackendImpl::kValueRequestUnregister,
+ kDeviceId);
em::DeviceManagementRequest expected_request_wrapper;
expected_request_wrapper.mutable_unregister_request()->CopyFrom(request);
@@ -348,20 +373,13 @@ TEST_F(DeviceManagementServiceTest, PolicyRequest) {
request.add_setting_request();
setting_request->set_key("policy");
setting_request->set_watermark("stale");
- backend_->ProcessPolicyRequest("dmtokenvalue", request, &mock);
+ backend_->ProcessPolicyRequest(kDMToken, kDeviceId, request, &mock);
TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
ASSERT_TRUE(fetcher);
- // Check the data the fetcher received.
- const GURL& request_url(fetcher->original_url());
- const GURL service_url(kServiceUrl);
- EXPECT_EQ(service_url.scheme(), request_url.scheme());
- EXPECT_EQ(service_url.host(), request_url.host());
- EXPECT_EQ(service_url.port(), request_url.port());
- EXPECT_EQ(service_url.path(), request_url.path());
-
- QueryParams query_params(request_url.query());
- EXPECT_TRUE(query_params.Check("request", "policy"));
+ CheckURLAndQueryParams(fetcher->original_url(),
+ DeviceManagementBackendImpl::kValueRequestPolicy,
+ kDeviceId);
em::DeviceManagementRequest expected_request_wrapper;
expected_request_wrapper.mutable_policy_request()->CopyFrom(request);
@@ -389,7 +407,7 @@ TEST_F(DeviceManagementServiceTest, CancelRegisterRequest) {
DeviceRegisterResponseDelegateMock mock;
EXPECT_CALL(mock, HandleRegisterResponse(_)).Times(0);
em::DeviceRegisterRequest request;
- backend_->ProcessRegisterRequest("token", "device id", request, &mock);
+ backend_->ProcessRegisterRequest(kAuthToken, kDeviceId, request, &mock);
TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
ASSERT_TRUE(fetcher);
@@ -401,7 +419,7 @@ TEST_F(DeviceManagementServiceTest, CancelUnregisterRequest) {
DeviceUnregisterResponseDelegateMock mock;
EXPECT_CALL(mock, HandleUnregisterResponse(_)).Times(0);
em::DeviceUnregisterRequest request;
- backend_->ProcessUnregisterRequest("dmtokenvalue", request, &mock);
+ backend_->ProcessUnregisterRequest(kDMToken, kDeviceId, request, &mock);
TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
ASSERT_TRUE(fetcher);
@@ -418,7 +436,7 @@ TEST_F(DeviceManagementServiceTest, CancelPolicyRequest) {
request.add_setting_request();
setting_request->set_key("policy");
setting_request->set_watermark("stale");
- backend_->ProcessPolicyRequest("dmtokenvalue", request, &mock);
+ backend_->ProcessPolicyRequest(kDMToken, kDeviceId, request, &mock);
TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
ASSERT_TRUE(fetcher);
@@ -433,10 +451,10 @@ TEST_F(DeviceManagementServiceTest, JobQueueing) {
// Make a request. We should not see any fetchers being created.
DeviceRegisterResponseDelegateMock mock;
em::DeviceRegisterResponse expected_response;
- expected_response.set_device_management_token("mtoken");
+ expected_response.set_device_management_token(kDMToken);
EXPECT_CALL(mock, HandleRegisterResponse(MessageEquals(expected_response)));
em::DeviceRegisterRequest request;
- backend_->ProcessRegisterRequest("token", "device id", request, &mock);
+ backend_->ProcessRegisterRequest(kAuthToken, kDeviceId, request, &mock);
TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
ASSERT_FALSE(fetcher);