summaryrefslogtreecommitdiff
path: root/chromium/jingle/notifier/listener/push_notifications_subscribe_task_unittest.cc
diff options
context:
space:
mode:
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.cc62
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
+