diff options
Diffstat (limited to 'chromium/jingle/notifier/listener/push_notifications_subscribe_task_unittest.cc')
-rw-r--r-- | chromium/jingle/notifier/listener/push_notifications_subscribe_task_unittest.cc | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/chromium/jingle/notifier/listener/push_notifications_subscribe_task_unittest.cc b/chromium/jingle/notifier/listener/push_notifications_subscribe_task_unittest.cc new file mode 100644 index 00000000000..32522f21a77 --- /dev/null +++ b/chromium/jingle/notifier/listener/push_notifications_subscribe_task_unittest.cc @@ -0,0 +1,62 @@ +// 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 "jingle/notifier/listener/push_notifications_subscribe_task.h" + +#include "base/memory/scoped_ptr.h" +#include "base/strings/stringprintf.h" +#include "jingle/notifier/listener/xml_element_util.h" +#include "talk/xmpp/jid.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace buzz { +class XmlElement; +} + +namespace notifier { + +class PushNotificationsSubscribeTaskTest : public testing::Test { + public: + PushNotificationsSubscribeTaskTest() + : jid_("to@jid.com/test123"), task_id_("taskid") { + EXPECT_NE(jid_.Str(), jid_.BareJid().Str()); + } + + protected: + const buzz::Jid jid_; + const std::string task_id_; + + private: + DISALLOW_COPY_AND_ASSIGN(PushNotificationsSubscribeTaskTest); +}; + +TEST_F(PushNotificationsSubscribeTaskTest, MakeSubscriptionMessage) { + SubscriptionList subscriptions; + + Subscription subscription; + subscription.channel = "test_channel1"; + subscription.from = "from.test.com"; + subscriptions.push_back(subscription); + subscription.channel = "test_channel2"; + subscription.from = "from.test2.com"; + subscriptions.push_back(subscription); + scoped_ptr<buzz::XmlElement> message( + PushNotificationsSubscribeTask::MakeSubscriptionMessage( + subscriptions, jid_, task_id_)); + std::string expected_xml_string = + base::StringPrintf( + "<cli:iq type=\"set\" to=\"%s\" id=\"%s\" " + "xmlns:cli=\"jabber:client\">" + "<subscribe xmlns=\"google:push\">" + "<item channel=\"test_channel1\" from=\"from.test.com\"/>" + "<item channel=\"test_channel2\" from=\"from.test2.com\"/>" + "</subscribe>" + "</cli:iq>", + jid_.BareJid().Str().c_str(), task_id_.c_str()); + + EXPECT_EQ(expected_xml_string, XmlElementToString(*message)); +} + +} // namespace notifier + |