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

Unified Diff: chrome/browser/extensions/api/copresence/copresence_api_unittest.cc

Issue 2130803002: Deleting the copresence API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/copresence/copresence_api_unittest.cc
diff --git a/chrome/browser/extensions/api/copresence/copresence_api_unittest.cc b/chrome/browser/extensions/api/copresence/copresence_api_unittest.cc
deleted file mode 100644
index eacfe7a6fc53502ab0acbe7b37c3b6caaf9bb3ff..0000000000000000000000000000000000000000
--- a/chrome/browser/extensions/api/copresence/copresence_api_unittest.cc
+++ /dev/null
@@ -1,301 +0,0 @@
-// Copyright 2014 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 "chrome/browser/extensions/api/copresence/copresence_api.h"
-
-#include <utility>
-
-#include "base/json/json_writer.h"
-#include "base/memory/ptr_util.h"
-#include "base/values.h"
-#include "chrome/browser/extensions/extension_api_unittest.h"
-#include "chrome/browser/extensions/extension_function_test_utils.h"
-#include "components/copresence/proto/data.pb.h"
-#include "components/copresence/proto/rpcs.pb.h"
-#include "components/copresence/public/copresence_manager.h"
-
-using base::ListValue;
-using copresence::AUDIO_CONFIGURATION_AUDIBLE;
-using copresence::AUDIO_CONFIGURATION_UNKNOWN;
-using copresence::BROADCAST_ONLY;
-using copresence::CopresenceDelegate;
-using copresence::CopresenceManager;
-using copresence::FAIL;
-using copresence::PublishedMessage;
-using copresence::ReportRequest;
-using copresence::SCAN_ONLY;
-using copresence::Subscription;
-using google::protobuf::RepeatedPtrField;
-
-namespace test_utils = extension_function_test_utils;
-
-namespace extensions {
-
-using api::copresence::Message;
-using api::copresence::Operation;
-using api::copresence::PublishOperation;
-using api::copresence::Strategy;
-using api::copresence::SubscribeOperation;
-using api::copresence::UnpublishOperation;
-using api::copresence::UnsubscribeOperation;
-
-
-PublishOperation* CreatePublish(const std::string& id) {
- PublishOperation* publish = new PublishOperation;
-
- publish->id = id;
- publish->time_to_live_millis.reset(new int(1000));
- publish->message.type = "joke";
- std::string payload("Knock Knock!");
- publish->message.payload.assign(payload.begin(), payload.end());
-
- return publish;
-}
-
-SubscribeOperation* CreateSubscribe(const std::string& id) {
- SubscribeOperation* subscribe = new SubscribeOperation;
-
- subscribe->id = id;
- subscribe->time_to_live_millis.reset(new int(1000));
- subscribe->filter.type = "joke";
-
- return subscribe;
-}
-
-template <typename T>
-bool GetOnly(const RepeatedPtrField<T>& things, T* out) {
- if (things.size() != 1)
- return false;
-
- *out = things.Get(0);
- return true;
-}
-
-class FakeCopresenceManager : public CopresenceManager {
- public:
- explicit FakeCopresenceManager(CopresenceDelegate* delegate)
- : delegate_(delegate) {}
- ~FakeCopresenceManager() override {}
-
- // CopresenceManager overrides.
- copresence::CopresenceState* state() override {
- NOTREACHED();
- return nullptr;
- }
- void ExecuteReportRequest(
- const ReportRequest& request,
- const std::string& app_id,
- const std::string& /* auth_token */,
- const copresence::StatusCallback& status_callback) override {
- request_ = request;
- app_id_ = app_id;
- status_callback.Run(copresence::SUCCESS);
- }
-
- CopresenceDelegate* delegate_;
-
- ReportRequest request_;
- std::string app_id_;
-};
-
-class CopresenceApiUnittest : public ExtensionApiUnittest {
- public:
- CopresenceApiUnittest() {}
- ~CopresenceApiUnittest() override {}
-
- void SetUp() override {
- ExtensionApiUnittest::SetUp();
-
- CopresenceService* service =
- CopresenceService::GetFactoryInstance()->Get(profile());
- copresence_manager_ = new FakeCopresenceManager(service);
- service->set_manager_for_testing(
- base::WrapUnique<CopresenceManager>(copresence_manager_));
- }
-
- // Takes ownership of the operation_list.
- bool ExecuteOperations(ListValue* operation_list) {
- std::unique_ptr<ListValue> args_list(new ListValue);
- args_list->Append(operation_list);
-
- scoped_refptr<UIThreadExtensionFunction> function =
- new CopresenceExecuteFunction;
- function->set_extension(extension());
- function->set_browser_context(profile());
- function->set_has_callback(true);
- test_utils::RunFunction(function.get(), std::move(args_list), browser(),
- test_utils::NONE);
- return function->GetResultList();
- }
-
- bool ExecuteOperation(std::unique_ptr<Operation> operation) {
- ListValue* operation_list = new ListValue;
- operation_list->Append(operation->ToValue());
- return ExecuteOperations(operation_list);
- }
-
- const ReportRequest& request_sent() const {
- return copresence_manager_->request_;
- }
-
- const std::string& app_id_sent() const {
- return copresence_manager_->app_id_;
- }
-
- void clear_app_id() {
- copresence_manager_->app_id_.clear();
- }
-
- CopresenceDelegate* delegate() {
- return copresence_manager_->delegate_;
- }
-
- protected:
- FakeCopresenceManager* copresence_manager_;
-};
-
-TEST_F(CopresenceApiUnittest, Publish) {
- std::unique_ptr<PublishOperation> publish(CreatePublish("pub"));
- publish->strategies.reset(new Strategy);
- publish->strategies->only_broadcast.reset(new bool(true)); // Default
-
- std::unique_ptr<Operation> operation(new Operation);
- operation->publish = std::move(publish);
-
- clear_app_id();
- EXPECT_TRUE(ExecuteOperation(std::move(operation)));
- EXPECT_EQ(extension()->id(), app_id_sent());
-
- PublishedMessage message;
- ASSERT_TRUE(GetOnly(
- request_sent().manage_messages_request().message_to_publish(), &message));
- EXPECT_EQ("pub", message.id());
- EXPECT_EQ(1000, message.access_policy().ttl_millis());
- EXPECT_EQ(copresence::NO_ACL_CHECK, message.access_policy().acl().acl_type());
- EXPECT_EQ("joke", message.message().type().type());
- EXPECT_EQ("Knock Knock!", message.message().payload());
- EXPECT_EQ(BROADCAST_ONLY,
- message.token_exchange_strategy().broadcast_scan_configuration());
- EXPECT_EQ(AUDIO_CONFIGURATION_UNKNOWN,
- message.token_exchange_strategy().audio_configuration());
-}
-
-TEST_F(CopresenceApiUnittest, Subscribe) {
- std::unique_ptr<SubscribeOperation> subscribe(CreateSubscribe("sub"));
- subscribe->strategies.reset(new Strategy);
- subscribe->strategies->only_broadcast.reset(new bool(true)); // Not default
- subscribe->strategies->audible.reset(new bool(true)); // Not default
-
- std::unique_ptr<Operation> operation(new Operation);
- operation->subscribe = std::move(subscribe);
-
- clear_app_id();
- EXPECT_TRUE(ExecuteOperation(std::move(operation)));
- EXPECT_EQ(extension()->id(), app_id_sent());
-
- Subscription subscription;
- ASSERT_TRUE(GetOnly(
- request_sent().manage_subscriptions_request().subscription(),
- &subscription));
- EXPECT_EQ("sub", subscription.id());
- EXPECT_EQ(1000, subscription.ttl_millis());
- EXPECT_EQ("joke", subscription.message_type().type());
- copresence::BroadcastScanConfiguration broadcast_scan =
- subscription.token_exchange_strategy().broadcast_scan_configuration();
- EXPECT_EQ(BROADCAST_ONLY, broadcast_scan);
- EXPECT_EQ(AUDIO_CONFIGURATION_AUDIBLE,
- subscription.token_exchange_strategy().audio_configuration());
-}
-
-TEST_F(CopresenceApiUnittest, DefaultStrategies) {
- std::unique_ptr<Operation> publish_operation(new Operation);
- publish_operation->publish.reset(CreatePublish("pub"));
-
- std::unique_ptr<Operation> subscribe_operation(new Operation);
- subscribe_operation->subscribe.reset(CreateSubscribe("sub"));
-
- ListValue* operation_list = new ListValue;
- operation_list->Append(publish_operation->ToValue());
- operation_list->Append(subscribe_operation->ToValue());
- EXPECT_TRUE(ExecuteOperations(operation_list));
-
- EXPECT_EQ(BROADCAST_ONLY,
- request_sent().manage_messages_request().message_to_publish(0)
- .token_exchange_strategy().broadcast_scan_configuration());
- EXPECT_EQ(SCAN_ONLY,
- request_sent().manage_subscriptions_request().subscription(0)
- .token_exchange_strategy().broadcast_scan_configuration());
-}
-
-TEST_F(CopresenceApiUnittest, LowPowerStrategy) {
- std::unique_ptr<Operation> subscribe_operation(new Operation);
- subscribe_operation->subscribe.reset(CreateSubscribe("sub"));
- subscribe_operation->subscribe->strategies.reset(new Strategy);
- subscribe_operation->subscribe->strategies->low_power.reset(new bool(true));
-
- ListValue* operation_list = new ListValue;
- operation_list->Append(subscribe_operation->ToValue());
- EXPECT_TRUE(ExecuteOperations(operation_list));
-
- EXPECT_EQ(copresence::BROADCAST_SCAN_CONFIGURATION_UNKNOWN,
- request_sent().manage_subscriptions_request().subscription(0)
- .token_exchange_strategy().broadcast_scan_configuration());
-}
-
-TEST_F(CopresenceApiUnittest, UnPubSub) {
- // First we need to create a publish and a subscribe to cancel.
- std::unique_ptr<Operation> publish_operation(new Operation);
- std::unique_ptr<Operation> subscribe_operation(new Operation);
- publish_operation->publish.reset(CreatePublish("pub"));
- subscribe_operation->subscribe.reset(CreateSubscribe("sub"));
- ListValue* operation_list = new ListValue;
- operation_list->Append(publish_operation->ToValue());
- operation_list->Append(subscribe_operation->ToValue());
- EXPECT_TRUE(ExecuteOperations(operation_list));
-
- std::unique_ptr<Operation> unpublish_operation(new Operation);
- unpublish_operation->unpublish.reset(new UnpublishOperation);
- unpublish_operation->unpublish->unpublish_id = "pub";
-
- std::unique_ptr<Operation> unsubscribe_operation(new Operation);
- unsubscribe_operation->unsubscribe.reset(new UnsubscribeOperation);
- unsubscribe_operation->unsubscribe->unsubscribe_id = "sub";
-
- operation_list = new ListValue;
- operation_list->Append(unpublish_operation->ToValue());
- operation_list->Append(unsubscribe_operation->ToValue());
- EXPECT_TRUE(ExecuteOperations(operation_list));
-
- std::string unpublish_id;
- ASSERT_TRUE(GetOnly(
- request_sent().manage_messages_request().id_to_unpublish(),
- &unpublish_id));
- EXPECT_EQ("pub", unpublish_id);
-
- std::string unsubscribe_id;
- ASSERT_TRUE(GetOnly(
- request_sent().manage_subscriptions_request().id_to_unsubscribe(),
- &unsubscribe_id));
- EXPECT_EQ("sub", unsubscribe_id);
-}
-
-TEST_F(CopresenceApiUnittest, BadId) {
- std::unique_ptr<Operation> unsubscribe_operation(new Operation);
- unsubscribe_operation->unsubscribe.reset(new UnsubscribeOperation);
- unsubscribe_operation->unsubscribe->unsubscribe_id = "invalid id";
-
- EXPECT_FALSE(ExecuteOperation(std::move(unsubscribe_operation)));
-}
-
-TEST_F(CopresenceApiUnittest, MultipleOperations) {
- std::unique_ptr<Operation> multi_operation(new Operation);
- multi_operation->publish.reset(CreatePublish("pub"));
- multi_operation->subscribe.reset(CreateSubscribe("sub"));
-
- EXPECT_FALSE(ExecuteOperation(std::move(multi_operation)));
-}
-
-} // namespace extensions
-
-// TODO(ckehoe): add tests for auth tokens and api key functionality

Powered by Google App Engine
This is Rietveld 408576698