| Index: chrome/browser/policy/device_management_service_unittest.cc
|
| diff --git a/chrome/browser/policy/device_management_service_unittest.cc b/chrome/browser/policy/device_management_service_unittest.cc
|
| index cabc7f7ad24da56643dcc01036fcb83d6f9d09e6..ea6feceff1e83c8a7e8270f12a8b2aa754871d13 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);
|
|
|
|
|