Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(34)

Side by Side Diff: webrtc/libjingle/xmpp/mucroomlookuptask_unittest.cc

Issue 2617443003: Remove webrtc/libjingle/{xmllite,xmpp} (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright 2011 The WebRTC Project Authors. All rights reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #include <string>
12 #include <vector>
13
14 #include "webrtc/libjingle/xmllite/xmlelement.h"
15 #include "webrtc/libjingle/xmpp/constants.h"
16 #include "webrtc/libjingle/xmpp/fakexmppclient.h"
17 #include "webrtc/libjingle/xmpp/mucroomlookuptask.h"
18 #include "webrtc/base/faketaskrunner.h"
19 #include "webrtc/base/gunit.h"
20 #include "webrtc/base/sigslot.h"
21
22 class MucRoomLookupListener : public sigslot::has_slots<> {
23 public:
24 MucRoomLookupListener() : error_count(0) {}
25
26 void OnResult(buzz::MucRoomLookupTask* task,
27 const buzz::MucRoomInfo& room) {
28 last_room = room;
29 }
30
31 void OnError(buzz::IqTask* task,
32 const buzz::XmlElement* error) {
33 ++error_count;
34 }
35
36 buzz::MucRoomInfo last_room;
37 int error_count;
38 };
39
40 class MucRoomLookupTaskTest : public testing::Test {
41 public:
42 MucRoomLookupTaskTest() :
43 lookup_server_jid("lookup@domain.com"),
44 room_jid("muc-jid-ponies@domain.com"),
45 room_name("ponies"),
46 room_domain("domain.com"),
47 room_full_name("ponies@domain.com"),
48 hangout_id("some_hangout_id") {
49 }
50
51 virtual void SetUp() {
52 runner = new rtc::FakeTaskRunner();
53 xmpp_client = new buzz::FakeXmppClient(runner);
54 listener = new MucRoomLookupListener();
55 }
56
57 virtual void TearDown() {
58 delete listener;
59 // delete xmpp_client; Deleted by deleting runner.
60 delete runner;
61 }
62
63 rtc::FakeTaskRunner* runner;
64 buzz::FakeXmppClient* xmpp_client;
65 MucRoomLookupListener* listener;
66 buzz::Jid lookup_server_jid;
67 buzz::Jid room_jid;
68 std::string room_name;
69 std::string room_domain;
70 std::string room_full_name;
71 std::string hangout_id;
72 };
73
74 TEST_F(MucRoomLookupTaskTest, TestLookupName) {
75 ASSERT_EQ(0U, xmpp_client->sent_stanzas().size());
76
77 buzz::MucRoomLookupTask* task =
78 buzz::MucRoomLookupTask::CreateLookupTaskForRoomName(
79 xmpp_client, lookup_server_jid, room_name, room_domain);
80 task->SignalResult.connect(listener, &MucRoomLookupListener::OnResult);
81 task->Start();
82
83 std::string expected_iq =
84 "<cli:iq type=\"set\" to=\"lookup@domain.com\" id=\"0\" "
85 "xmlns:cli=\"jabber:client\">"
86 "<query xmlns=\"jabber:iq:search\">"
87 "<room-name>ponies</room-name>"
88 "<room-domain>domain.com</room-domain>"
89 "</query>"
90 "</cli:iq>";
91
92 ASSERT_EQ(1U, xmpp_client->sent_stanzas().size());
93 EXPECT_EQ(expected_iq, xmpp_client->sent_stanzas()[0]->Str());
94
95 EXPECT_EQ("", listener->last_room.name);
96
97 std::string response_iq =
98 "<iq xmlns='jabber:client' from='lookup@domain.com' id='0' type='result'>"
99 " <query xmlns='jabber:iq:search'>"
100 " <item jid='muc-jid-ponies@domain.com'>"
101 " <room-name>ponies</room-name>"
102 " <room-domain>domain.com</room-domain>"
103 " </item>"
104 " </query>"
105 "</iq>";
106
107 xmpp_client->HandleStanza(buzz::XmlElement::ForStr(response_iq));
108
109 EXPECT_EQ(room_name, listener->last_room.name);
110 EXPECT_EQ(room_domain, listener->last_room.domain);
111 EXPECT_EQ(room_jid, listener->last_room.jid);
112 EXPECT_EQ(room_full_name, listener->last_room.full_name());
113 EXPECT_EQ(0, listener->error_count);
114 }
115
116 TEST_F(MucRoomLookupTaskTest, TestLookupHangoutId) {
117 ASSERT_EQ(0U, xmpp_client->sent_stanzas().size());
118
119 buzz::MucRoomLookupTask* task = buzz::MucRoomLookupTask::CreateLookupTaskForHa ngoutId(
120 xmpp_client, lookup_server_jid, hangout_id);
121 task->SignalResult.connect(listener, &MucRoomLookupListener::OnResult);
122 task->Start();
123
124 std::string expected_iq =
125 "<cli:iq type=\"set\" to=\"lookup@domain.com\" id=\"0\" "
126 "xmlns:cli=\"jabber:client\">"
127 "<query xmlns=\"jabber:iq:search\">"
128 "<hangout-id>some_hangout_id</hangout-id>"
129 "</query>"
130 "</cli:iq>";
131
132 ASSERT_EQ(1U, xmpp_client->sent_stanzas().size());
133 EXPECT_EQ(expected_iq, xmpp_client->sent_stanzas()[0]->Str());
134
135 EXPECT_EQ("", listener->last_room.name);
136
137 std::string response_iq =
138 "<iq xmlns='jabber:client' from='lookup@domain.com' id='0' type='result'>"
139 " <query xmlns='jabber:iq:search'>"
140 " <item jid='muc-jid-ponies@domain.com'>"
141 " <room-name>some_hangout_id</room-name>"
142 " <room-domain>domain.com</room-domain>"
143 " </item>"
144 " </query>"
145 "</iq>";
146
147 xmpp_client->HandleStanza(buzz::XmlElement::ForStr(response_iq));
148
149 EXPECT_EQ(hangout_id, listener->last_room.name);
150 EXPECT_EQ(room_domain, listener->last_room.domain);
151 EXPECT_EQ(room_jid, listener->last_room.jid);
152 EXPECT_EQ(0, listener->error_count);
153 }
154
155 TEST_F(MucRoomLookupTaskTest, TestError) {
156 buzz::MucRoomLookupTask* task = buzz::MucRoomLookupTask::CreateLookupTaskForRo omName(
157 xmpp_client, lookup_server_jid, room_name, room_domain);
158 task->SignalError.connect(listener, &MucRoomLookupListener::OnError);
159 task->Start();
160
161 std::string error_iq =
162 "<iq xmlns='jabber:client' id='0' type='error'"
163 " from='lookup@domain.com'>"
164 "</iq>";
165
166 EXPECT_EQ(0, listener->error_count);
167 xmpp_client->HandleStanza(buzz::XmlElement::ForStr(error_iq));
168 EXPECT_EQ(1, listener->error_count);
169 }
170
171 TEST_F(MucRoomLookupTaskTest, TestBadJid) {
172 buzz::MucRoomLookupTask* task = buzz::MucRoomLookupTask::CreateLookupTaskForRo omName(
173 xmpp_client, lookup_server_jid, room_name, room_domain);
174 task->SignalError.connect(listener, &MucRoomLookupListener::OnError);
175 task->Start();
176
177 std::string response_iq =
178 "<iq xmlns='jabber:client' from='lookup@domain.com' id='0' type='result'>"
179 " <query xmlns='jabber:iq:search'>"
180 " <item/>"
181 " </query>"
182 "</iq>";
183
184 EXPECT_EQ(0, listener->error_count);
185 xmpp_client->HandleStanza(buzz::XmlElement::ForStr(response_iq));
186 EXPECT_EQ(1, listener->error_count);
187 }
OLDNEW
« no previous file with comments | « webrtc/libjingle/xmpp/mucroomlookuptask.cc ('k') | webrtc/libjingle/xmpp/mucroomuniquehangoutidtask.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698