diff options
author | levin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-01 06:09:30 +0000 |
---|---|---|
committer | levin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-01 06:09:30 +0000 |
commit | 9490734d8a4fc608b690bdbb06c97bfdc87fff22 (patch) | |
tree | 828b05d72987bc318067517215a0eb7b3c853bf9 /net/dns/dns_config_service_unittest.cc | |
parent | aae4c8d74f2367bfe9e02253cc42d3e1be07f13a (diff) | |
download | chromium_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.cc | 108 |
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 - |