OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <map> | 5 #include <map> |
6 #include <string> | 6 #include <string> |
7 | 7 |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 DISALLOW_COPY_AND_ASSIGN(PushMessagingBrowserTest); | 139 DISALLOW_COPY_AND_ASSIGN(PushMessagingBrowserTest); |
140 }; | 140 }; |
141 | 141 |
142 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, RegisterSuccess) { | 142 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, RegisterSuccess) { |
143 std::string script_result; | 143 std::string script_result; |
144 | 144 |
145 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); | 145 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
146 ASSERT_EQ("ok - service worker registered", script_result); | 146 ASSERT_EQ("ok - service worker registered", script_result); |
147 | 147 |
148 InfoBarResponder accepting_responder(browser(), true); | 148 InfoBarResponder accepting_responder(browser(), true); |
| 149 ASSERT_TRUE(RunScript("requestNotificationPermission()", &script_result)); |
| 150 ASSERT_EQ("permission status - granted", script_result); |
149 | 151 |
150 ASSERT_TRUE(RunScript("registerPush()", &script_result)); | 152 ASSERT_TRUE(RunScript("registerPush()", &script_result)); |
151 EXPECT_EQ(std::string(kPushMessagingEndpoint) + " - 1", script_result); | 153 EXPECT_EQ(std::string(kPushMessagingEndpoint) + " - 1", script_result); |
152 | 154 |
153 PushMessagingApplicationId app_id(https_server()->GetURL(""), 0L); | 155 PushMessagingApplicationId app_id(https_server()->GetURL(""), 0L); |
154 EXPECT_EQ(app_id.ToString(), gcm_service()->last_registered_app_id()); | 156 EXPECT_EQ(app_id.ToString(), gcm_service()->last_registered_app_id()); |
155 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]); | 157 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]); |
156 } | 158 } |
157 | 159 |
158 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, RegisterFailureNoPermission) { | 160 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, |
| 161 RegisterFailureNoPushPermission) { |
| 162 std::string script_result; |
| 163 |
| 164 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
| 165 ASSERT_EQ("ok - service worker registered", script_result); |
| 166 |
| 167 ASSERT_TRUE(RunScript("registerPush()", &script_result)); |
| 168 EXPECT_EQ("AbortError - Registration failed - permission denied", |
| 169 script_result); |
| 170 } |
| 171 |
| 172 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, |
| 173 RegisterFailureNotificationsBlocked) { |
159 std::string script_result; | 174 std::string script_result; |
160 | 175 |
161 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); | 176 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
162 ASSERT_EQ("ok - service worker registered", script_result); | 177 ASSERT_EQ("ok - service worker registered", script_result); |
163 | 178 |
164 InfoBarResponder cancelling_responder(browser(), false); | 179 InfoBarResponder cancelling_responder(browser(), false); |
| 180 ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
| 181 ASSERT_EQ("permission status - denied", script_result); |
165 | 182 |
166 ASSERT_TRUE(RunScript("registerPush()", &script_result)); | 183 ASSERT_TRUE(RunScript("registerPush()", &script_result)); |
167 EXPECT_EQ("AbortError - Registration failed - permission denied", | 184 EXPECT_EQ("AbortError - Registration failed - permission denied", |
168 script_result); | 185 script_result); |
169 } | 186 } |
170 | 187 |
171 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, RegisterFailureNoSenderId) { | 188 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, RegisterFailureNoSenderId) { |
172 std::string script_result; | 189 std::string script_result; |
173 | 190 |
174 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); | 191 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
175 ASSERT_EQ("ok - service worker registered", script_result); | 192 ASSERT_EQ("ok - service worker registered", script_result); |
176 | 193 |
177 InfoBarResponder accepting_responder(browser(), true); | 194 InfoBarResponder accepting_responder(browser(), true); |
| 195 ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
| 196 ASSERT_EQ("permission status - granted", script_result); |
178 | 197 |
179 ASSERT_TRUE(RunScript("removeManifest()", &script_result)); | 198 ASSERT_TRUE(RunScript("removeManifest()", &script_result)); |
180 ASSERT_EQ("manifest removed", script_result); | 199 ASSERT_EQ("manifest removed", script_result); |
181 | 200 |
182 ASSERT_TRUE(RunScript("registerPush()", &script_result)); | 201 ASSERT_TRUE(RunScript("registerPush()", &script_result)); |
183 EXPECT_EQ("AbortError - Registration failed - no sender id provided", | 202 EXPECT_EQ("AbortError - Registration failed - no sender id provided", |
184 script_result); | 203 script_result); |
185 } | 204 } |
186 | 205 |
187 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PushEventSuccess) { | 206 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PushEventSuccess) { |
188 std::string script_result; | 207 std::string script_result; |
189 | 208 |
190 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); | 209 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
191 ASSERT_EQ("ok - service worker registered", script_result); | 210 ASSERT_EQ("ok - service worker registered", script_result); |
192 | 211 |
193 InfoBarResponder accepting_responder(browser(), true); | 212 InfoBarResponder accepting_responder(browser(), true); |
| 213 ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
| 214 ASSERT_EQ("permission status - granted", script_result); |
194 | 215 |
195 ASSERT_TRUE(RunScript("registerPush()", &script_result)); | 216 ASSERT_TRUE(RunScript("registerPush()", &script_result)); |
196 EXPECT_EQ(std::string(kPushMessagingEndpoint) + " - 1", script_result); | 217 EXPECT_EQ(std::string(kPushMessagingEndpoint) + " - 1", script_result); |
197 | 218 |
198 PushMessagingApplicationId app_id(https_server()->GetURL(""), 0L); | 219 PushMessagingApplicationId app_id(https_server()->GetURL(""), 0L); |
199 EXPECT_EQ(app_id.ToString(), gcm_service()->last_registered_app_id()); | 220 EXPECT_EQ(app_id.ToString(), gcm_service()->last_registered_app_id()); |
200 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]); | 221 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]); |
201 | 222 |
202 ASSERT_TRUE(RunScript("isControlled()", &script_result)); | 223 ASSERT_TRUE(RunScript("isControlled()", &script_result)); |
203 ASSERT_EQ("false - is not controlled", script_result); | 224 ASSERT_EQ("false - is not controlled", script_result); |
204 | 225 |
205 loadTestPage(); // Reload to become controlled. | 226 loadTestPage(); // Reload to become controlled. |
206 | 227 |
207 ASSERT_TRUE(RunScript("isControlled()", &script_result)); | 228 ASSERT_TRUE(RunScript("isControlled()", &script_result)); |
208 ASSERT_EQ("true - is controlled", script_result); | 229 ASSERT_EQ("true - is controlled", script_result); |
209 | 230 |
210 GCMClient::IncomingMessage message; | 231 GCMClient::IncomingMessage message; |
211 GCMClient::MessageData messageData; | 232 GCMClient::MessageData messageData; |
212 messageData.insert(std::pair<std::string, std::string>("data", "testdata")); | 233 messageData.insert(std::pair<std::string, std::string>("data", "testdata")); |
213 message.data = messageData; | 234 message.data = messageData; |
214 push_service()->OnMessage(app_id.ToString(), message); | 235 push_service()->OnMessage(app_id.ToString(), message); |
215 ASSERT_TRUE(RunScript("pushData.get()", &script_result)); | 236 ASSERT_TRUE(RunScript("pushData.get()", &script_result)); |
216 EXPECT_EQ("testdata", script_result); | 237 EXPECT_EQ("testdata", script_result); |
217 } | 238 } |
218 | 239 |
219 } // namespace gcm | 240 } // namespace gcm |
OLD | NEW |