diff options
author | Zeno Albisser <zeno.albisser@digia.com> | 2013-08-15 21:46:11 +0200 |
---|---|---|
committer | Zeno Albisser <zeno.albisser@digia.com> | 2013-08-15 21:46:11 +0200 |
commit | 679147eead574d186ebf3069647b4c23e8ccace6 (patch) | |
tree | fc247a0ac8ff119f7c8550879ebb6d3dd8d1ff69 /chromium/jingle/notifier/communicator/login_settings_unittest.cc | |
download | qtwebengine-chromium-679147eead574d186ebf3069647b4c23e8ccace6.tar.gz |
Initial import.
Diffstat (limited to 'chromium/jingle/notifier/communicator/login_settings_unittest.cc')
-rw-r--r-- | chromium/jingle/notifier/communicator/login_settings_unittest.cc | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/chromium/jingle/notifier/communicator/login_settings_unittest.cc b/chromium/jingle/notifier/communicator/login_settings_unittest.cc new file mode 100644 index 00000000000..5919d1d5f3f --- /dev/null +++ b/chromium/jingle/notifier/communicator/login_settings_unittest.cc @@ -0,0 +1,77 @@ +// 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 "jingle/notifier/communicator/login_settings.h" + +#include <cstddef> + +#include "talk/xmpp/xmppclientsettings.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace notifier { + +namespace { + +const char kAuthMechanism[] = "auth_mechanism"; + +class LoginSettingsTest : public ::testing::Test { + protected: + LoginSettingsTest() { + servers_.push_back( + ServerInformation( + net::HostPortPair("default.com", 100), + DOES_NOT_SUPPORT_SSLTCP)); + } + + ServerList servers_; +}; + +TEST_F(LoginSettingsTest, Basic) { + const LoginSettings login_settings(buzz::XmppClientSettings(), + NULL, + servers_, + false /* try_ssltcp_first */, + kAuthMechanism); + EXPECT_EQ(base::Time(), login_settings.GetRedirectExpirationForTest()); + const ServerList& servers = login_settings.GetServers(); + ASSERT_EQ(servers_.size(), servers.size()); + for (size_t i = 0; i < servers.size(); ++i) { + EXPECT_TRUE(servers[i].Equals(servers_[i])); + } +} + +TEST_F(LoginSettingsTest, Redirect) { + LoginSettings login_settings(buzz::XmppClientSettings(), + NULL, + servers_, + false /* try_ssltcp_first */, + kAuthMechanism); + const ServerInformation redirect_server( + net::HostPortPair("redirect.com", 200), + SUPPORTS_SSLTCP); + login_settings.SetRedirectServer(redirect_server); + + { + const ServerList& servers = + login_settings.GetServersForTimeForTest( + login_settings.GetRedirectExpirationForTest() - + base::TimeDelta::FromMilliseconds(1)); + ASSERT_EQ(servers_.size(), 1u); + EXPECT_TRUE(servers[0].Equals(redirect_server)); + } + + { + const ServerList& servers = + login_settings.GetServersForTimeForTest( + login_settings.GetRedirectExpirationForTest()); + ASSERT_EQ(servers_.size(), servers.size()); + for (size_t i = 0; i < servers.size(); ++i) { + EXPECT_TRUE(servers[i].Equals(servers_[i])); + } + } +} + +} // namespace + +} // namespace notifier |