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 "base/json/json_writer.h" | 5 #include "base/json/json_writer.h" |
6 #include "base/values.h" | 6 #include "base/values.h" |
7 #include "chrome/browser/extensions/api/copresence/copresence_api.h" | 7 #include "chrome/browser/extensions/api/copresence/copresence_api.h" |
8 #include "chrome/browser/extensions/extension_api_unittest.h" | 8 #include "chrome/browser/extensions/extension_api_unittest.h" |
9 #include "chrome/browser/extensions/extension_function_test_utils.h" | 9 #include "chrome/browser/extensions/extension_function_test_utils.h" |
10 #include "components/copresence/proto/data.pb.h" | 10 #include "components/copresence/proto/data.pb.h" |
11 #include "components/copresence/proto/rpcs.pb.h" | 11 #include "components/copresence/proto/rpcs.pb.h" |
12 #include "components/copresence/public/copresence_manager.h" | 12 #include "components/copresence/public/copresence_manager.h" |
13 | 13 |
14 using base::ListValue; | 14 using base::ListValue; |
| 15 using copresence::AUDIBLE; |
| 16 using copresence::AUDIO_CONFIGURATION_UNKNOWN; |
15 using copresence::BROADCAST_ONLY; | 17 using copresence::BROADCAST_ONLY; |
16 using copresence::CopresenceDelegate; | 18 using copresence::CopresenceDelegate; |
17 using copresence::CopresenceManager; | 19 using copresence::CopresenceManager; |
18 using copresence::FAIL; | 20 using copresence::FAIL; |
19 using copresence::PublishedMessage; | 21 using copresence::PublishedMessage; |
20 using copresence::ReportRequest; | 22 using copresence::ReportRequest; |
21 using copresence::SCAN_ONLY; | 23 using copresence::SCAN_ONLY; |
22 using copresence::Subscription; | 24 using copresence::Subscription; |
23 using google::protobuf::RepeatedPtrField; | 25 using google::protobuf::RepeatedPtrField; |
24 | 26 |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 PublishedMessage message; | 159 PublishedMessage message; |
158 ASSERT_TRUE(GetOnly( | 160 ASSERT_TRUE(GetOnly( |
159 request_sent().manage_messages_request().message_to_publish(), &message)); | 161 request_sent().manage_messages_request().message_to_publish(), &message)); |
160 EXPECT_EQ("pub", message.id()); | 162 EXPECT_EQ("pub", message.id()); |
161 EXPECT_EQ(1000, message.access_policy().ttl_millis()); | 163 EXPECT_EQ(1000, message.access_policy().ttl_millis()); |
162 EXPECT_EQ(copresence::NO_ACL_CHECK, message.access_policy().acl().acl_type()); | 164 EXPECT_EQ(copresence::NO_ACL_CHECK, message.access_policy().acl().acl_type()); |
163 EXPECT_EQ("joke", message.message().type().type()); | 165 EXPECT_EQ("joke", message.message().type().type()); |
164 EXPECT_EQ("Knock Knock!", message.message().payload()); | 166 EXPECT_EQ("Knock Knock!", message.message().payload()); |
165 EXPECT_EQ(BROADCAST_ONLY, | 167 EXPECT_EQ(BROADCAST_ONLY, |
166 message.token_exchange_strategy().broadcast_scan_configuration()); | 168 message.token_exchange_strategy().broadcast_scan_configuration()); |
| 169 EXPECT_EQ(AUDIO_CONFIGURATION_UNKNOWN, |
| 170 message.token_exchange_strategy().audio_configuration()); |
167 } | 171 } |
168 | 172 |
169 TEST_F(CopresenceApiUnittest, Subscribe) { | 173 TEST_F(CopresenceApiUnittest, Subscribe) { |
170 scoped_ptr<SubscribeOperation> subscribe(CreateSubscribe("sub")); | 174 scoped_ptr<SubscribeOperation> subscribe(CreateSubscribe("sub")); |
171 subscribe->strategies.reset(new Strategy); | 175 subscribe->strategies.reset(new Strategy); |
172 subscribe->strategies->only_broadcast.reset(new bool(true)); // Not default | 176 subscribe->strategies->only_broadcast.reset(new bool(true)); // Not default |
| 177 subscribe->strategies->audible.reset(new bool(true)); // Not default |
173 | 178 |
174 scoped_ptr<Operation> operation(new Operation); | 179 scoped_ptr<Operation> operation(new Operation); |
175 operation->subscribe = subscribe.Pass(); | 180 operation->subscribe = subscribe.Pass(); |
176 | 181 |
177 clear_app_id(); | 182 clear_app_id(); |
178 EXPECT_TRUE(ExecuteOperation(operation.Pass())); | 183 EXPECT_TRUE(ExecuteOperation(operation.Pass())); |
179 EXPECT_EQ(extension()->id(), app_id_sent()); | 184 EXPECT_EQ(extension()->id(), app_id_sent()); |
180 | 185 |
181 Subscription subscription; | 186 Subscription subscription; |
182 ASSERT_TRUE(GetOnly( | 187 ASSERT_TRUE(GetOnly( |
183 request_sent().manage_subscriptions_request().subscription(), | 188 request_sent().manage_subscriptions_request().subscription(), |
184 &subscription)); | 189 &subscription)); |
185 EXPECT_EQ("sub", subscription.id()); | 190 EXPECT_EQ("sub", subscription.id()); |
186 EXPECT_EQ(1000, subscription.ttl_millis()); | 191 EXPECT_EQ(1000, subscription.ttl_millis()); |
187 EXPECT_EQ("joke", subscription.message_type().type()); | 192 EXPECT_EQ("joke", subscription.message_type().type()); |
188 copresence::BroadcastScanConfiguration strategy = | 193 copresence::BroadcastScanConfiguration broadcast_scan = |
189 subscription.token_exchange_strategy().broadcast_scan_configuration(); | 194 subscription.token_exchange_strategy().broadcast_scan_configuration(); |
190 EXPECT_EQ(BROADCAST_ONLY, strategy); | 195 EXPECT_EQ(BROADCAST_ONLY, broadcast_scan); |
| 196 EXPECT_EQ(AUDIBLE, |
| 197 subscription.token_exchange_strategy().audio_configuration()); |
191 } | 198 } |
192 | 199 |
193 TEST_F(CopresenceApiUnittest, DefaultStrategies) { | 200 TEST_F(CopresenceApiUnittest, DefaultStrategies) { |
194 scoped_ptr<Operation> publish_operation(new Operation); | 201 scoped_ptr<Operation> publish_operation(new Operation); |
195 publish_operation->publish.reset(CreatePublish("pub")); | 202 publish_operation->publish.reset(CreatePublish("pub")); |
196 | 203 |
197 scoped_ptr<Operation> subscribe_operation(new Operation); | 204 scoped_ptr<Operation> subscribe_operation(new Operation); |
198 subscribe_operation->subscribe.reset(CreateSubscribe("sub")); | 205 subscribe_operation->subscribe.reset(CreateSubscribe("sub")); |
199 | 206 |
200 ListValue* operation_list = new ListValue; | 207 ListValue* operation_list = new ListValue; |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 | 264 |
258 TEST_F(CopresenceApiUnittest, MultipleOperations) { | 265 TEST_F(CopresenceApiUnittest, MultipleOperations) { |
259 scoped_ptr<Operation> multi_operation(new Operation); | 266 scoped_ptr<Operation> multi_operation(new Operation); |
260 multi_operation->publish.reset(CreatePublish("pub")); | 267 multi_operation->publish.reset(CreatePublish("pub")); |
261 multi_operation->subscribe.reset(CreateSubscribe("sub")); | 268 multi_operation->subscribe.reset(CreateSubscribe("sub")); |
262 | 269 |
263 EXPECT_FALSE(ExecuteOperation(multi_operation.Pass())); | 270 EXPECT_FALSE(ExecuteOperation(multi_operation.Pass())); |
264 } | 271 } |
265 | 272 |
266 } // namespace extensions | 273 } // namespace extensions |
OLD | NEW |