summaryrefslogtreecommitdiffstats
path: root/net/dns/dns_config_service_unittest.cc
diff options
context:
space:
mode:
authorlevin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-01 06:09:30 +0000
committerlevin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-01 06:09:30 +0000
commit9490734d8a4fc608b690bdbb06c97bfdc87fff22 (patch)
tree828b05d72987bc318067517215a0eb7b3c853bf9 /net/dns/dns_config_service_unittest.cc
parentaae4c8d74f2367bfe9e02253cc42d3e1be07f13a (diff)
downloadchromium_src-9490734d8a4fc608b690bdbb06c97bfdc87fff22.zip
chromium_src-9490734d8a4fc608b690bdbb06c97bfdc87fff22.tar.gz
chromium_src-9490734d8a4fc608b690bdbb06c97bfdc87fff22.tar.bz2
Revert 99135 - Refactoring and remaining work on DnsConfigService:
- Isolate WatchingFileReader for reusability and testability - ParseHosts to parse /etc/hosts - tests BUG=90881 TEST=./net_unittests --gtest_filter='DnsConfig*:DnsHosts*:WatchingFileReader*' Review URL: http://codereview.chromium.org/7753027 TBR=szym@chromium.org Review URL: http://codereview.chromium.org/7829001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99138 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/dns/dns_config_service_unittest.cc')
-rw-r--r--net/dns/dns_config_service_unittest.cc108
1 files changed, 0 insertions, 108 deletions
diff --git a/net/dns/dns_config_service_unittest.cc b/net/dns/dns_config_service_unittest.cc
deleted file mode 100644
index 5500e70..0000000
--- a/net/dns/dns_config_service_unittest.cc
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright (c) 2011 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 "net/dns/dns_config_service.h"
-
-#include "base/compiler_specific.h"
-#include "base/message_loop.h"
-#include "base/task.h"
-#include "base/test/test_timeouts.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace net {
-
-namespace {
-
-class DnsConfigServiceTest : public testing::Test,
- public DnsConfigService::Observer {
- public:
- void OnConfigChanged(const DnsConfig& config) OVERRIDE {
- EXPECT_FALSE(config.Equals(last_config_)) <<
- "Config must be different from last call.";
- last_config_ = config;
- if (quit_on_config_)
- MessageLoop::current()->Quit();
- }
- void Timeout() const {
- MessageLoop::current()->Quit();
- }
-
- protected:
- // test::Test methods
- virtual void SetUp() OVERRIDE {
- service_.reset(new DnsConfigService());
- quit_on_config_ = false;
- }
-
- DnsConfig last_config_;
- bool quit_on_config_;
-
- // Service under test.
- scoped_ptr<DnsConfigService> service_;
-};
-
-} // namespace
-
-TEST_F(DnsConfigServiceTest, NotifyOnChange) {
- service_->AddObserver(this);
- service_->Watch();
-
- DnsConfig config;
- IPAddressNumber ip;
- ASSERT_TRUE(ParseIPLiteralToNumber("1.2.3.4", &ip));
- config.nameservers.push_back(IPEndPoint(ip, 53));
- ASSERT_TRUE(config.IsValid());
- service_->OnConfigRead(config);
-
- EXPECT_FALSE(last_config_.Equals(config)) <<
- "Unexpected notification with incomplete config.";
-
- DnsHosts hosts;
- ParseHosts("127.0.0.1 localhost", &hosts);
- ASSERT_FALSE(hosts.empty());
- service_->OnHostsRead(hosts);
-
- EXPECT_TRUE(last_config_.hosts == hosts);
- EXPECT_TRUE(last_config_.EqualsIgnoreHosts(config));
-
- DnsConfig complete_config = config;
- complete_config.hosts = hosts;
- EXPECT_TRUE(last_config_.Equals(complete_config));
-
- // Check if it ignores no-change in config or hosts.
- service_->OnConfigRead(config);
- service_->OnHostsRead(hosts);
-
- // Check if it provides config and hosts after AddObserver;
- service_->RemoveObserver(this);
- last_config_ = DnsConfig();
- service_->AddObserver(this);
- EXPECT_TRUE(last_config_.Equals(complete_config));
-}
-
-#if defined(OS_POSIX)
-// TODO(szym): enable OS_WIN once ready
-// This is really an integration test.
-TEST_F(DnsConfigServiceTest, GetSystemConfig) {
- DnsConfigService* service = DnsConfigService::CreateSystemService();
-
- // Quit the loop after timeout unless cancelled
- const int64 kTimeout = TestTimeouts::action_timeout_ms();
- ScopedRunnableMethodFactory<DnsConfigServiceTest> factory_(this);
- MessageLoop::current()->PostDelayedTask(
- FROM_HERE,
- factory_.NewRunnableMethod(&DnsConfigServiceTest::Timeout),
- kTimeout);
-
- service->AddObserver(this);
- service->Watch();
- quit_on_config_ = true;
- MessageLoop::current()->Run();
- ASSERT_TRUE(last_config_.IsValid()) << "Did not receive DnsConfig in " <<
- kTimeout << "ms";
-}
-#endif // OS_POSIX
-
-} // namespace net
-