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

Unified Diff: chrome/browser/net/dns_probe_job_unittest.cc

Issue 13270005: Display DNS probe results. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix one last nit Created 7 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
« no previous file with comments | « chrome/browser/net/dns_probe_job.cc ('k') | chrome/browser/net/dns_probe_runner.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/net/dns_probe_job_unittest.cc
diff --git a/chrome/browser/net/dns_probe_job_unittest.cc b/chrome/browser/net/dns_probe_job_unittest.cc
deleted file mode 100644
index d1779b121e975c53529ac868d1fba87f0beae4dc..0000000000000000000000000000000000000000
--- a/chrome/browser/net/dns_probe_job_unittest.cc
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright (c) 2012 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/net/dns_probe_job.h"
-
-#include "base/basictypes.h"
-#include "base/message_loop.h"
-#include "base/run_loop.h"
-#include "net/base/net_log.h"
-#include "net/dns/dns_client.h"
-#include "net/dns/dns_config_service.h"
-#include "net/dns/dns_protocol.h"
-#include "net/dns/dns_test_util.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using net::DnsClient;
-using net::DnsConfig;
-using net::IPAddressNumber;
-using net::IPEndPoint;
-using net::ParseIPLiteralToNumber;
-using net::MockDnsClientRule;
-using net::MockDnsClientRuleList;
-using net::NetLog;
-
-namespace chrome_browser_net {
-
-namespace {
-
-class DnsProbeJobTest : public testing::Test {
- public:
- void RunProbe(MockDnsClientRule::Result expected_good_result,
- MockDnsClientRule::Result expected_bad_result);
-
- protected:
- void OnProbeFinished(DnsProbeJob* job, DnsProbeJob::Result result);
-
- bool callback_called_;
- DnsProbeJob::Result callback_result_;
-};
-
-// Runs a probe and waits for the callback. |good_result| and |bad_result|
-// are the result of the good and bad transactions that the DnsProbeJob will
-// receive.
-void DnsProbeJobTest::RunProbe(MockDnsClientRule::Result good_result,
- MockDnsClientRule::Result bad_result) {
- DnsConfig config;
- config.nameservers.clear();
- IPAddressNumber dns_ip;
- ParseIPLiteralToNumber("192.168.1.1", &dns_ip);
- const uint16 kDnsPort = net::dns_protocol::kDefaultPort;
- config.nameservers.push_back(IPEndPoint(dns_ip, kDnsPort));
-
- const uint16 kTypeA = net::dns_protocol::kTypeA;
- MockDnsClientRuleList rules;
- rules.push_back(MockDnsClientRule("google.com", kTypeA, good_result));
- rules.push_back(MockDnsClientRule(std::string(), kTypeA, bad_result));
-
- scoped_ptr<DnsClient> dns_client = CreateMockDnsClient(config, rules);
- dns_client->SetConfig(config);
-
- NetLog* net_log = NULL;
- DnsProbeJob::CallbackType callback = base::Bind(
- &DnsProbeJobTest::OnProbeFinished,
- base::Unretained(this));
-
- // Need to set these before creating job, because it can call the callback
- // synchronously in the constructor if both transactions fail to start.
- callback_called_ = false;
- callback_result_ = DnsProbeJob::SERVERS_UNKNOWN;
-
- // DnsProbeJob needs somewhere to post the callback.
- scoped_ptr<base::MessageLoop> message_loop_(new base::MessageLoopForIO());
-
- scoped_ptr<DnsProbeJob> job(
- DnsProbeJob::CreateJob(dns_client.Pass(), callback, net_log));
-
- // Force callback to run.
- base::RunLoop run_loop;
- run_loop.RunUntilIdle();
-}
-
-void DnsProbeJobTest::OnProbeFinished(DnsProbeJob* job,
- DnsProbeJob::Result result) {
- EXPECT_FALSE(callback_called_);
-
- callback_called_ = true;
- callback_result_ = result;
-}
-
-struct TestCase {
- MockDnsClientRule::Result good_result;
- MockDnsClientRule::Result bad_result;
- DnsProbeJob::Result expected_probe_result;
-};
-
-TEST_F(DnsProbeJobTest, Test) {
- static const TestCase kTestCases[] = {
- { MockDnsClientRule::OK,
- MockDnsClientRule::EMPTY,
- DnsProbeJob::SERVERS_CORRECT },
- { MockDnsClientRule::EMPTY,
- MockDnsClientRule::EMPTY,
- DnsProbeJob::SERVERS_INCORRECT },
- // TODO(ttuttle): Test that triggers QUERY_DNS_ERROR.
- // (Need to add another mock behavior to MockDnsClient.)
- { MockDnsClientRule::FAIL_ASYNC,
- MockDnsClientRule::FAIL_ASYNC,
- DnsProbeJob::SERVERS_FAILING },
- { MockDnsClientRule::FAIL_SYNC,
- MockDnsClientRule::FAIL_SYNC,
- DnsProbeJob::SERVERS_FAILING },
- { MockDnsClientRule::TIMEOUT,
- MockDnsClientRule::TIMEOUT,
- DnsProbeJob::SERVERS_UNREACHABLE },
- };
- for (size_t i = 0; i < arraysize(kTestCases); i++) {
- const TestCase* test_case = &kTestCases[i];
- RunProbe(test_case->good_result, test_case->bad_result);
- EXPECT_TRUE(callback_called_);
- EXPECT_EQ(test_case->expected_probe_result, callback_result_);
- }
-}
-
-} // namespace
-
-} // namespace chrome_browser_net
« no previous file with comments | « chrome/browser/net/dns_probe_job.cc ('k') | chrome/browser/net/dns_probe_runner.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698