| 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 |