#include "base/json/json_reader.h"
#include "base/test/test_simple_task_runner.h"
#include "base/values.h"
+#include "components/policy/core/common/cloud/cloud_policy_constants.h"
#include "components/policy/core/common/cloud/mock_cloud_policy_store.h"
#include "components/policy/core/common/cloud/policy_header_io_helper.h"
#include "components/policy/core/common/cloud/policy_header_service.h"
virtual ~PolicyHeaderServiceTest() {}
virtual void SetUp() OVERRIDE {
- service_.reset(new PolicyHeaderService(
- kDMServerURL, &user_store_, &device_store_));
+ service_.reset(new PolicyHeaderService(kDMServerURL,
+ kPolicyVerificationKeyHash,
+ &user_store_,
+ &device_store_));
helper_ = service_->CreatePolicyHeaderIOHelper(task_runner_).Pass();
}
}
void ValidateHeader(const net::HttpRequestHeaders& headers,
- const std::string& expected_dmtoken) {
+ const std::string& expected_dmtoken,
+ const std::string& expected_policy_token) {
if (expected_dmtoken.empty()) {
EXPECT_TRUE(headers.IsEmpty());
} else {
std::string dm_token;
dict->GetString("user_dmtoken", &dm_token);
EXPECT_EQ(dm_token, expected_dmtoken);
+ std::string policy_token;
+ dict->GetString("user_policy_token", &policy_token);
+ EXPECT_EQ(policy_token, expected_policy_token);
}
}
TEST_F(PolicyHeaderServiceTest, TestWithAndWithoutPolicyHeader) {
// Set policy - this should push a header to the PolicyHeaderIOHelper.
scoped_ptr<PolicyData> policy(new PolicyData());
- std::string expected_token = "expected_token";
- policy->set_request_token(expected_token);
+ std::string expected_dmtoken = "expected_dmtoken";
+ std::string expected_policy_token = "expected_dmtoken";
+ policy->set_request_token(expected_dmtoken);
+ policy->set_policy_token(expected_policy_token);
user_store_.SetPolicy(policy.Pass());
task_runner_->RunUntilIdle();
net::TestURLRequest request(
GURL(kDMServerURL), net::DEFAULT_PRIORITY, NULL, &context);
helper_->AddPolicyHeaders(&request);
- ValidateHeader(request.extra_request_headers(), expected_token);
+ ValidateHeader(request.extra_request_headers(), expected_dmtoken,
+ expected_policy_token);
// Now blow away the policy data.
user_store_.SetPolicy(scoped_ptr<PolicyData>());
net::TestURLRequest request2(
GURL(kDMServerURL), net::DEFAULT_PRIORITY, NULL, &context);
helper_->AddPolicyHeaders(&request2);
- ValidateHeader(request2.extra_request_headers(), "");
+ ValidateHeader(request2.extra_request_headers(), "", "");
}
} // namespace policy