| Index: chrome/browser/policy/cloud/external_policy_data_fetcher_unittest.cc
|
| diff --git a/chrome/browser/policy/cloud/external_policy_data_fetcher_unittest.cc b/chrome/browser/policy/cloud/external_policy_data_fetcher_unittest.cc
|
| deleted file mode 100644
|
| index 4641c031bf130410cbc41c51faa62d18d732b35c..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/policy/cloud/external_policy_data_fetcher_unittest.cc
|
| +++ /dev/null
|
| @@ -1,496 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/policy/cloud/external_policy_data_fetcher.h"
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/bind_helpers.h"
|
| -#include "base/compiler_specific.h"
|
| -#include "base/sequenced_task_runner.h"
|
| -#include "base/test/test_simple_task_runner.h"
|
| -#include "net/base/net_errors.h"
|
| -#include "net/url_request/test_url_fetcher_factory.h"
|
| -#include "net/url_request/url_fetcher.h"
|
| -#include "net/url_request/url_fetcher_delegate.h"
|
| -#include "net/url_request/url_request_context_getter.h"
|
| -#include "net/url_request/url_request_status.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace policy {
|
| -
|
| -namespace {
|
| -
|
| -const char* kExternalPolicyDataURLs[] = {
|
| - "http://localhost/data_1",
|
| - "http://localhost/data_2"
|
| -};
|
| -
|
| -const int64 kExternalPolicyDataMaxSize = 5 * 1024 * 1024; // 5 MB.
|
| -
|
| -const char* kExternalPolicyDataPayload = "External policy data";
|
| -
|
| -} // namespace
|
| -
|
| -class ExternalPolicyDataFetcherTest : public testing::Test {
|
| - protected:
|
| - ExternalPolicyDataFetcherTest();
|
| - virtual ~ExternalPolicyDataFetcherTest();
|
| -
|
| - // testing::Test:
|
| - virtual void SetUp() OVERRIDE;
|
| -
|
| - void StartJob(int index);
|
| - void CancelJob(int index);
|
| -
|
| - void OnJobFinished(int job_index,
|
| - ExternalPolicyDataFetcher::Result result,
|
| - scoped_ptr<std::string> data);
|
| - int GetAndResetCallbackCount();
|
| -
|
| - net::TestURLFetcherFactory fetcher_factory_;
|
| - scoped_refptr<base::TestSimpleTaskRunner> owner_task_runner_;
|
| - scoped_refptr<base::TestSimpleTaskRunner> io_task_runner_;
|
| - scoped_ptr<ExternalPolicyDataFetcherBackend> fetcher_backend_;
|
| - scoped_ptr<ExternalPolicyDataFetcher> fetcher_;
|
| -
|
| - std::map<int, ExternalPolicyDataFetcher::Job*> jobs_; // Not owned.
|
| -
|
| - int callback_count_;
|
| - int callback_job_index_;
|
| - ExternalPolicyDataFetcher::Result callback_result_;
|
| - scoped_ptr<std::string> callback_data_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ExternalPolicyDataFetcherTest);
|
| -};
|
| -
|
| -ExternalPolicyDataFetcherTest::ExternalPolicyDataFetcherTest()
|
| - : callback_count_(0) {
|
| -}
|
| -
|
| -ExternalPolicyDataFetcherTest::~ExternalPolicyDataFetcherTest() {
|
| -}
|
| -
|
| -void ExternalPolicyDataFetcherTest::SetUp() {
|
| - fetcher_factory_.set_remove_fetcher_on_delete(true);
|
| - io_task_runner_ = new base::TestSimpleTaskRunner();
|
| - owner_task_runner_ = new base::TestSimpleTaskRunner();
|
| - fetcher_backend_.reset(new ExternalPolicyDataFetcherBackend(
|
| - io_task_runner_,
|
| - scoped_refptr<net::URLRequestContextGetter>()));
|
| - fetcher_.reset(
|
| - fetcher_backend_->CreateFrontend(owner_task_runner_).release());
|
| -}
|
| -
|
| -void ExternalPolicyDataFetcherTest::StartJob(int index) {
|
| - jobs_[index] = fetcher_->StartJob(
|
| - GURL(kExternalPolicyDataURLs[index]),
|
| - kExternalPolicyDataMaxSize,
|
| - base::Bind(&ExternalPolicyDataFetcherTest::OnJobFinished,
|
| - base::Unretained(this), index));
|
| - io_task_runner_->RunUntilIdle();
|
| -}
|
| -
|
| -void ExternalPolicyDataFetcherTest::CancelJob(int index) {
|
| - std::map<int, ExternalPolicyDataFetcher::Job*>::iterator it =
|
| - jobs_.find(index);
|
| - ASSERT_TRUE(it != jobs_.end());
|
| - ExternalPolicyDataFetcher::Job* job = it->second;
|
| - jobs_.erase(it);
|
| - fetcher_->CancelJob(job);
|
| -}
|
| -
|
| -void ExternalPolicyDataFetcherTest::OnJobFinished(
|
| - int job_index,
|
| - ExternalPolicyDataFetcher::Result result,
|
| - scoped_ptr<std::string> data) {
|
| - ++callback_count_;
|
| - callback_job_index_ = job_index;
|
| - callback_result_ = result;
|
| - callback_data_.reset(data.release());
|
| - jobs_.erase(job_index);
|
| -}
|
| -
|
| -int ExternalPolicyDataFetcherTest::GetAndResetCallbackCount() {
|
| - const int callback_count = callback_count_;
|
| - callback_count_ = 0;
|
| - return callback_count;
|
| -}
|
| -
|
| -TEST_F(ExternalPolicyDataFetcherTest, Success) {
|
| - // Start a fetch job.
|
| - StartJob(0);
|
| -
|
| - // Verify that the fetch has been started.
|
| - net::TestURLFetcher* fetcher = fetcher_factory_.GetFetcherByID(0);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[0]), fetcher->GetOriginalURL());
|
| -
|
| - // Complete the fetch.
|
| - fetcher->set_response_code(200);
|
| - fetcher->SetResponseString(kExternalPolicyDataPayload);
|
| - fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| -
|
| - // Verify that the fetch is no longer running.
|
| - EXPECT_FALSE(fetcher_factory_.GetFetcherByID(0));
|
| -
|
| - // Verify that the callback is invoked with the retrieved data.
|
| - owner_task_runner_->RunUntilIdle();
|
| - EXPECT_EQ(1, GetAndResetCallbackCount());
|
| - EXPECT_EQ(0, callback_job_index_);
|
| - EXPECT_EQ(ExternalPolicyDataFetcher::SUCCESS, callback_result_);
|
| - ASSERT_TRUE(callback_data_);
|
| - EXPECT_EQ(kExternalPolicyDataPayload, *callback_data_);
|
| -}
|
| -
|
| -TEST_F(ExternalPolicyDataFetcherTest, MaxSizeExceeded) {
|
| - // Start a fetch job.
|
| - StartJob(0);
|
| -
|
| - // Verify that the fetch has been started.
|
| - net::TestURLFetcher* fetcher = fetcher_factory_.GetFetcherByID(0);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[0]), fetcher->GetOriginalURL());
|
| -
|
| - // Indicate that the data size will exceed maximum allowed.
|
| - fetcher->delegate()->OnURLFetchDownloadProgress(
|
| - fetcher,
|
| - kExternalPolicyDataMaxSize + 1,
|
| - -1);
|
| -
|
| - // Verify that the fetch is no longer running.
|
| - EXPECT_FALSE(fetcher_factory_.GetFetcherByID(0));
|
| -
|
| - // Verify that the callback is invoked with the correct error code.
|
| - owner_task_runner_->RunUntilIdle();
|
| - EXPECT_EQ(1, GetAndResetCallbackCount());
|
| - EXPECT_EQ(0, callback_job_index_);
|
| - EXPECT_EQ(ExternalPolicyDataFetcher::MAX_SIZE_EXCEEDED, callback_result_);
|
| - EXPECT_FALSE(callback_data_);
|
| -}
|
| -
|
| -TEST_F(ExternalPolicyDataFetcherTest, ConnectionInterrupted) {
|
| - // Start a fetch job.
|
| - StartJob(0);
|
| -
|
| - // Verify that the fetch has been started.
|
| - net::TestURLFetcher* fetcher = fetcher_factory_.GetFetcherByID(0);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[0]), fetcher->GetOriginalURL());
|
| -
|
| - // Make the fetch fail due to an interrupted connection.
|
| - fetcher->set_status(net::URLRequestStatus(net::URLRequestStatus::FAILED,
|
| - net::ERR_CONNECTION_RESET));
|
| - fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| -
|
| - // Verify that the fetch is no longer running.
|
| - EXPECT_FALSE(fetcher_factory_.GetFetcherByID(0));
|
| -
|
| - // Verify that the callback is invoked with the correct error code.
|
| - owner_task_runner_->RunUntilIdle();
|
| - EXPECT_EQ(1, GetAndResetCallbackCount());
|
| - EXPECT_EQ(0, callback_job_index_);
|
| - EXPECT_EQ(ExternalPolicyDataFetcher::CONNECTION_INTERRUPTED,
|
| - callback_result_);
|
| - EXPECT_FALSE(callback_data_);
|
| -}
|
| -
|
| -TEST_F(ExternalPolicyDataFetcherTest, NetworkError) {
|
| - // Start a fetch job.
|
| - StartJob(0);
|
| -
|
| - // Verify that the fetch has been started.
|
| - net::TestURLFetcher* fetcher = fetcher_factory_.GetFetcherByID(0);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[0]), fetcher->GetOriginalURL());
|
| -
|
| - // Make the fetch fail due to a network error.
|
| - fetcher->set_status(net::URLRequestStatus(net::URLRequestStatus::FAILED,
|
| - net::ERR_NETWORK_CHANGED));
|
| - fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| -
|
| - // Verify that the fetch is no longer running.
|
| - EXPECT_FALSE(fetcher_factory_.GetFetcherByID(0));
|
| -
|
| - // Verify that the callback is invoked with the correct error code.
|
| - owner_task_runner_->RunUntilIdle();
|
| - EXPECT_EQ(1, GetAndResetCallbackCount());
|
| - EXPECT_EQ(0, callback_job_index_);
|
| - EXPECT_EQ(ExternalPolicyDataFetcher::NETWORK_ERROR, callback_result_);
|
| - EXPECT_FALSE(callback_data_);
|
| -}
|
| -
|
| -TEST_F(ExternalPolicyDataFetcherTest, ServerError) {
|
| - // Start a fetch job.
|
| - StartJob(0);
|
| -
|
| - // Verify that the fetch has been started.
|
| - net::TestURLFetcher* fetcher = fetcher_factory_.GetFetcherByID(0);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[0]), fetcher->GetOriginalURL());
|
| -
|
| - // Make the fetch fail with a server error.
|
| - fetcher->set_response_code(500);
|
| - fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| -
|
| - // Verify that the fetch is no longer running.
|
| - EXPECT_FALSE(fetcher_factory_.GetFetcherByID(0));
|
| -
|
| - // Verify that the callback is invoked with the correct error code.
|
| - owner_task_runner_->RunUntilIdle();
|
| - EXPECT_EQ(1, GetAndResetCallbackCount());
|
| - EXPECT_EQ(0, callback_job_index_);
|
| - EXPECT_EQ(ExternalPolicyDataFetcher::SERVER_ERROR, callback_result_);
|
| - EXPECT_FALSE(callback_data_);
|
| -}
|
| -
|
| -TEST_F(ExternalPolicyDataFetcherTest, ClientError) {
|
| - // Start a fetch job.
|
| - StartJob(0);
|
| -
|
| - // Verify that the fetch has been started.
|
| - net::TestURLFetcher* fetcher = fetcher_factory_.GetFetcherByID(0);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[0]), fetcher->GetOriginalURL());
|
| -
|
| - // Make the fetch fail with a client error.
|
| - fetcher->set_response_code(400);
|
| - fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| -
|
| - // Verify that the fetch is no longer running.
|
| - EXPECT_FALSE(fetcher_factory_.GetFetcherByID(0));
|
| -
|
| - // Verify that the callback is invoked with the correct error code.
|
| - owner_task_runner_->RunUntilIdle();
|
| - EXPECT_EQ(1, GetAndResetCallbackCount());
|
| - EXPECT_EQ(0, callback_job_index_);
|
| - EXPECT_EQ(ExternalPolicyDataFetcher::CLIENT_ERROR, callback_result_);
|
| - EXPECT_FALSE(callback_data_);
|
| -}
|
| -
|
| -TEST_F(ExternalPolicyDataFetcherTest, HTTPError) {
|
| - // Start a fetch job.
|
| - StartJob(0);
|
| -
|
| - // Verify that the fetch has been started.
|
| - net::TestURLFetcher* fetcher = fetcher_factory_.GetFetcherByID(0);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[0]), fetcher->GetOriginalURL());
|
| -
|
| - // Make the fetch fail with an HTTP error.
|
| - fetcher->set_response_code(300);
|
| - fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| -
|
| - // Verify that the fetch is no longer running.
|
| - EXPECT_FALSE(fetcher_factory_.GetFetcherByID(0));
|
| -
|
| - // Verify that the callback is invoked with the correct error code.
|
| - owner_task_runner_->RunUntilIdle();
|
| - EXPECT_EQ(1, GetAndResetCallbackCount());
|
| - EXPECT_EQ(0, callback_job_index_);
|
| - EXPECT_EQ(ExternalPolicyDataFetcher::HTTP_ERROR, callback_result_);
|
| - EXPECT_FALSE(callback_data_);
|
| -}
|
| -
|
| -TEST_F(ExternalPolicyDataFetcherTest, Canceled) {
|
| - // Start a fetch job.
|
| - StartJob(0);
|
| -
|
| - // Verify that the fetch has been started.
|
| - net::TestURLFetcher* fetcher = fetcher_factory_.GetFetcherByID(0);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[0]), fetcher->GetOriginalURL());
|
| -
|
| - // Cancel the fetch job.
|
| - CancelJob(0);
|
| - io_task_runner_->RunUntilIdle();
|
| -
|
| - // Verify that the fetch is no longer running.
|
| - EXPECT_FALSE(fetcher_factory_.GetFetcherByID(0));
|
| -
|
| - // Verify that the callback is not invoked.
|
| - owner_task_runner_->RunUntilIdle();
|
| - EXPECT_EQ(0, GetAndResetCallbackCount());
|
| -}
|
| -
|
| -TEST_F(ExternalPolicyDataFetcherTest, SuccessfulCanceled) {
|
| - // Start a fetch job.
|
| - StartJob(0);
|
| -
|
| - // Verify that the fetch has been started.
|
| - net::TestURLFetcher* fetcher = fetcher_factory_.GetFetcherByID(0);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[0]), fetcher->GetOriginalURL());
|
| -
|
| - // Complete the fetch.
|
| - fetcher->set_response_code(200);
|
| - fetcher->SetResponseString(kExternalPolicyDataPayload);
|
| - fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| -
|
| - // Verify that the fetch is no longer running.
|
| - EXPECT_FALSE(fetcher_factory_.GetFetcherByID(0));
|
| -
|
| - // Cancel the fetch job before the successful fetch result has arrived from
|
| - // the backend.
|
| - CancelJob(0);
|
| -
|
| - // Verify that the callback is not invoked.
|
| - owner_task_runner_->RunUntilIdle();
|
| - EXPECT_EQ(0, GetAndResetCallbackCount());
|
| -}
|
| -
|
| -TEST_F(ExternalPolicyDataFetcherTest, ParallelJobs) {
|
| - // Start two fetch jobs.
|
| - StartJob(0);
|
| - StartJob(1);
|
| -
|
| - // Verify that the second fetch has been started.
|
| - net::TestURLFetcher* fetcher = fetcher_factory_.GetFetcherByID(1);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[1]), fetcher->GetOriginalURL());
|
| -
|
| - // Verify that the first fetch has been started.
|
| - fetcher = fetcher_factory_.GetFetcherByID(0);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[0]), fetcher->GetOriginalURL());
|
| -
|
| - // Complete the first fetch.
|
| - fetcher->set_response_code(200);
|
| - fetcher->SetResponseString(kExternalPolicyDataPayload);
|
| - fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| -
|
| - // Verify that the first fetch is no longer running.
|
| - EXPECT_FALSE(fetcher_factory_.GetFetcherByID(0));
|
| -
|
| - // Verify that the callback is invoked with the retrieved data.
|
| - owner_task_runner_->RunUntilIdle();
|
| - EXPECT_EQ(1, GetAndResetCallbackCount());
|
| - EXPECT_EQ(0, callback_job_index_);
|
| - EXPECT_EQ(ExternalPolicyDataFetcher::SUCCESS, callback_result_);
|
| - ASSERT_TRUE(callback_data_);
|
| - EXPECT_EQ(kExternalPolicyDataPayload, *callback_data_);
|
| -
|
| - // Verify that the second fetch is still running.
|
| - fetcher = fetcher_factory_.GetFetcherByID(1);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[1]), fetcher->GetOriginalURL());
|
| -
|
| - // Complete the second fetch.
|
| - fetcher->set_response_code(200);
|
| - fetcher->SetResponseString(kExternalPolicyDataPayload);
|
| - fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| -
|
| - // Verify that the second fetch is no longer running.
|
| - EXPECT_FALSE(fetcher_factory_.GetFetcherByID(1));
|
| -
|
| - // Verify that the callback is invoked with the retrieved data.
|
| - owner_task_runner_->RunUntilIdle();
|
| - EXPECT_EQ(1, GetAndResetCallbackCount());
|
| - EXPECT_EQ(1, callback_job_index_);
|
| - EXPECT_EQ(ExternalPolicyDataFetcher::SUCCESS, callback_result_);
|
| - ASSERT_TRUE(callback_data_);
|
| - EXPECT_EQ(kExternalPolicyDataPayload, *callback_data_);
|
| -}
|
| -
|
| -TEST_F(ExternalPolicyDataFetcherTest, ParallelJobsFinishingOutOfOrder) {
|
| - // Start two fetch jobs.
|
| - StartJob(0);
|
| - StartJob(1);
|
| -
|
| - // Verify that the first fetch has been started.
|
| - net::TestURLFetcher* fetcher = fetcher_factory_.GetFetcherByID(0);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[0]), fetcher->GetOriginalURL());
|
| -
|
| - // Verify that the second fetch has been started.
|
| - fetcher = fetcher_factory_.GetFetcherByID(1);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[1]), fetcher->GetOriginalURL());
|
| -
|
| - // Complete the second fetch.
|
| - fetcher->set_response_code(200);
|
| - fetcher->SetResponseString(kExternalPolicyDataPayload);
|
| - fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| -
|
| - // Verify that the second fetch is no longer running.
|
| - EXPECT_FALSE(fetcher_factory_.GetFetcherByID(1));
|
| -
|
| - // Verify that the callback is invoked with the retrieved data.
|
| - owner_task_runner_->RunUntilIdle();
|
| - EXPECT_EQ(1, GetAndResetCallbackCount());
|
| - EXPECT_EQ(1, callback_job_index_);
|
| - EXPECT_EQ(ExternalPolicyDataFetcher::SUCCESS, callback_result_);
|
| - ASSERT_TRUE(callback_data_);
|
| - EXPECT_EQ(kExternalPolicyDataPayload, *callback_data_);
|
| -
|
| - // Verify that the first fetch is still running.
|
| - fetcher = fetcher_factory_.GetFetcherByID(0);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[0]), fetcher->GetOriginalURL());
|
| -
|
| - // Complete the first fetch.
|
| - fetcher->set_response_code(200);
|
| - fetcher->SetResponseString(kExternalPolicyDataPayload);
|
| - fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| -
|
| - // Verify that the first fetch is no longer running.
|
| - EXPECT_FALSE(fetcher_factory_.GetFetcherByID(0));
|
| -
|
| - // Verify that the callback is invoked with the retrieved data.
|
| - owner_task_runner_->RunUntilIdle();
|
| - EXPECT_EQ(1, GetAndResetCallbackCount());
|
| - EXPECT_EQ(0, callback_job_index_);
|
| - EXPECT_EQ(ExternalPolicyDataFetcher::SUCCESS, callback_result_);
|
| - ASSERT_TRUE(callback_data_);
|
| - EXPECT_EQ(kExternalPolicyDataPayload, *callback_data_);
|
| -}
|
| -
|
| -TEST_F(ExternalPolicyDataFetcherTest, ParallelJobsWithCancel) {
|
| - // Start two fetch jobs.
|
| - StartJob(0);
|
| - StartJob(1);
|
| -
|
| - // Verify that the second fetch has been started.
|
| - net::TestURLFetcher* fetcher = fetcher_factory_.GetFetcherByID(1);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[1]), fetcher->GetOriginalURL());
|
| -
|
| - // Verify that the first fetch has been started.
|
| - fetcher = fetcher_factory_.GetFetcherByID(0);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[0]), fetcher->GetOriginalURL());
|
| -
|
| - // Cancel the first fetch job.
|
| - CancelJob(0);
|
| - io_task_runner_->RunUntilIdle();
|
| -
|
| - // Verify that the first fetch is no longer running.
|
| - EXPECT_FALSE(fetcher_factory_.GetFetcherByID(0));
|
| -
|
| - // Verify that the callback is not invoked.
|
| - owner_task_runner_->RunUntilIdle();
|
| - EXPECT_EQ(0, GetAndResetCallbackCount());
|
| -
|
| - // Verify that the second fetch is still running.
|
| - fetcher = fetcher_factory_.GetFetcherByID(1);
|
| - ASSERT_TRUE(fetcher);
|
| - EXPECT_EQ(GURL(kExternalPolicyDataURLs[1]), fetcher->GetOriginalURL());
|
| -
|
| - // Complete the second fetch.
|
| - fetcher->set_response_code(200);
|
| - fetcher->SetResponseString(kExternalPolicyDataPayload);
|
| - fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| -
|
| - // Verify that the second fetch is no longer running.
|
| - EXPECT_FALSE(fetcher_factory_.GetFetcherByID(1));
|
| -
|
| - // Verify that the callback is invoked with the retrieved data.
|
| - owner_task_runner_->RunUntilIdle();
|
| - EXPECT_EQ(1, GetAndResetCallbackCount());
|
| - EXPECT_EQ(1, callback_job_index_);
|
| - EXPECT_EQ(ExternalPolicyDataFetcher::SUCCESS, callback_result_);
|
| - ASSERT_TRUE(callback_data_);
|
| - EXPECT_EQ(kExternalPolicyDataPayload, *callback_data_);
|
| -}
|
| -
|
| -} // namespace policy
|
|
|