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

Unified Diff: trunk/src/remoting/host/client_session_unittest.cc

Issue 308743006: Revert 273652 "Host extensions" (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 7 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
« no previous file with comments | « trunk/src/remoting/host/client_session.cc ('k') | trunk/src/remoting/host/host_extension.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: trunk/src/remoting/host/client_session_unittest.cc
===================================================================
--- trunk/src/remoting/host/client_session_unittest.cc (revision 273673)
+++ trunk/src/remoting/host/client_session_unittest.cc (working copy)
@@ -2,24 +2,17 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include <algorithm>
-#include <string>
-#include <vector>
-
#include "base/message_loop/message_loop.h"
-#include "base/strings/string_util.h"
#include "base/test/test_simple_task_runner.h"
#include "remoting/base/auto_thread_task_runner.h"
#include "remoting/base/constants.h"
#include "remoting/host/audio_capturer.h"
#include "remoting/host/client_session.h"
#include "remoting/host/desktop_environment.h"
-#include "remoting/host/host_extension.h"
#include "remoting/host/host_mock_objects.h"
#include "remoting/host/screen_capturer_fake.h"
#include "remoting/protocol/protocol_mock_objects.h"
#include "testing/gmock/include/gmock/gmock-matchers.h"
-#include "testing/gmock_mutant.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_region.h"
@@ -38,11 +31,9 @@
using testing::_;
using testing::AnyNumber;
using testing::AtMost;
-using testing::CreateFunctor;
using testing::DeleteArg;
using testing::DoAll;
using testing::Expectation;
-using testing::Invoke;
using testing::Return;
using testing::ReturnRef;
using testing::Sequence;
@@ -51,8 +42,6 @@
namespace {
-const char kDefaultTestCapability[] = "default";
-
ACTION_P2(InjectClipboardEvent, connection, event) {
connection->clipboard_stub()->InjectClipboardEvent(event);
}
@@ -78,75 +67,8 @@
client_session->DeliverClientMessage(message);
}
-ACTION_P2(AddHostCapabilities, client_session, capability) {
- client_session->AddHostCapabilities(capability);
}
-// Matches a |protocol::Capabilities| argument against a list of capabilities
-// formatted as a space-separated string.
-MATCHER_P(EqCapabilities, expected_capabilities, "") {
- if (!arg.has_capabilities())
- return false;
-
- std::vector<std::string> words_args;
- std::vector<std::string> words_expected;
- Tokenize(arg.capabilities(), " ", &words_args);
- Tokenize(expected_capabilities, " ", &words_expected);
- std::sort(words_args.begin(), words_args.end());
- std::sort(words_expected.begin(), words_expected.end());
- return words_args == words_expected;
-}
-
-// |HostExtension| implementation that can handle an extension message type and
-// provide capabilities.
-class FakeExtension : public HostExtension {
- public:
- FakeExtension(const std::string& message_type,
- const std::string& capabilities);
- virtual ~FakeExtension();
-
- virtual std::string GetCapabilities() OVERRIDE;
- virtual scoped_ptr<HostExtensionSession> CreateExtensionSession(
- ClientSession* client_session) OVERRIDE;
-
- bool message_handled() {
- return message_handled_;
- }
-
- private:
- class FakeExtensionSession : public HostExtensionSession {
- public:
- FakeExtensionSession(FakeExtension* extension);
- virtual ~FakeExtensionSession();
-
- virtual bool OnExtensionMessage(
- ClientSession* client_session,
- const protocol::ExtensionMessage& message) OVERRIDE;
-
- private:
- FakeExtension* extension_;
- };
-
- std::string message_type_;
- std::string capabilities_;
- bool message_handled_;
-};
-
-typedef std::vector<HostExtension*> HostExtensionList;
-
-void CreateExtensionSessions(const HostExtensionList& extensions,
- ClientSession* client_session) {
- for (HostExtensionList::const_iterator extension = extensions.begin();
- extension != extensions.end(); ++extension) {
- scoped_ptr<HostExtensionSession> extension_session =
- (*extension)->CreateExtensionSession(client_session);
- if (extension_session)
- client_session->AddExtensionSession(extension_session.Pass());
- }
-}
-
-} // namespace
-
class ClientSessionTest : public testing::Test {
public:
ClientSessionTest() : client_jid_("user@domain/rest-of-jid") {}
@@ -178,10 +100,6 @@
// the input pipe line and starts video capturing.
void ConnectClientSession();
- // Creates expectations to send an extension message and to disconnect
- // afterwards.
- void SetSendMessageAndDisconnectExpectation(const std::string& message_type);
-
// Invoked when the last reference to the AutoThreadTaskRunner has been
// released and quits the message loop to finish the test.
void QuitMainMessageLoop();
@@ -213,41 +131,6 @@
scoped_ptr<MockDesktopEnvironmentFactory> desktop_environment_factory_;
};
-FakeExtension::FakeExtension(const std::string& message_type,
- const std::string& capabilities)
- : message_type_(message_type),
- capabilities_(capabilities),
- message_handled_(false) {
-}
-
-FakeExtension::~FakeExtension() {}
-
-std::string FakeExtension::GetCapabilities() {
- return capabilities_;
-}
-
-scoped_ptr<HostExtensionSession> FakeExtension::CreateExtensionSession(
- ClientSession* client_session) {
- return scoped_ptr<HostExtensionSession>(new FakeExtensionSession(this));
-}
-
-FakeExtension::FakeExtensionSession::FakeExtensionSession(
- FakeExtension* extension)
- : extension_(extension) {
-}
-
-FakeExtension::FakeExtensionSession::~FakeExtensionSession() {}
-
-bool FakeExtension::FakeExtensionSession::OnExtensionMessage(
- ClientSession* client_session,
- const protocol::ExtensionMessage& message) {
- if (message.type() == extension_->message_type_) {
- extension_->message_handled_ = true;
- return true;
- }
- return false;
-}
-
void ClientSessionTest::SetUp() {
// Arrange to run |message_loop_| until no components depend on it.
scoped_refptr<AutoThreadTaskRunner> ui_task_runner = new AutoThreadTaskRunner(
@@ -297,11 +180,6 @@
desktop_environment_factory_.get(),
base::TimeDelta(),
NULL));
-
- // By default, client will report the same capabilities as the host.
- EXPECT_CALL(client_stub_, SetCapabilities(_))
- .Times(AtMost(1))
- .WillOnce(Invoke(client_session_.get(), &ClientSession::SetCapabilities));
}
void ClientSessionTest::TearDown() {
@@ -333,8 +211,7 @@
EXPECT_CALL(*desktop_environment, CreateVideoCapturerPtr())
.WillOnce(Invoke(this, &ClientSessionTest::CreateVideoCapturer));
EXPECT_CALL(*desktop_environment, GetCapabilities())
- .Times(AtMost(1))
- .WillOnce(Return(kDefaultTestCapability));
+ .Times(AtMost(1));
EXPECT_CALL(*desktop_environment, SetCapabilities(_))
.Times(AtMost(1));
@@ -355,23 +232,6 @@
client_session_->OnConnectionChannelsConnected(client_session_->connection());
}
-void ClientSessionTest::SetSendMessageAndDisconnectExpectation(
- const std::string& message_type) {
- protocol::ExtensionMessage message;
- message.set_type(message_type);
- message.set_data("data");
-
- Expectation authenticated =
- EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_))
- .WillOnce(Return(true));
- EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_))
- .After(authenticated)
- .WillOnce(DoAll(
- DeliverClientMessage(client_session_.get(), message),
- InvokeWithoutArgs(this, &ClientSessionTest::DisconnectClientSession),
- InvokeWithoutArgs(this, &ClientSessionTest::StopClientSession)));
-}
-
void ClientSessionTest::QuitMainMessageLoop() {
message_loop_.PostTask(FROM_HERE, base::MessageLoop::QuitClosure());
}
@@ -739,63 +599,4 @@
message_loop_.Run();
}
-// Verifies that messages can be handled by extensions.
-TEST_F(ClientSessionTest, ExtensionMessages_MessageHandled) {
- FakeExtension extension1("ext1", "cap1");
- FakeExtension extension2("ext2", "cap2");
- FakeExtension extension3("ext3", "cap3");
- HostExtensionList extensions;
- extensions.push_back(&extension1);
- extensions.push_back(&extension2);
- extensions.push_back(&extension3);
-
- EXPECT_CALL(session_event_handler_, OnSessionClientCapabilities(_))
- .WillOnce(Invoke(CreateFunctor(&CreateExtensionSessions, extensions)));
-
- SetSendMessageAndDisconnectExpectation("ext2");
- ConnectClientSession();
- message_loop_.Run();
-
- EXPECT_FALSE(extension1.message_handled());
- EXPECT_TRUE(extension2.message_handled());
- EXPECT_FALSE(extension3.message_handled());
-}
-
-// Verifies that extension messages not handled by extensions don't result in a
-// crash.
-TEST_F(ClientSessionTest, ExtensionMessages_MessageNotHandled) {
- FakeExtension extension1("ext1", "cap1");
- HostExtensionList extensions;
- extensions.push_back(&extension1);
-
- EXPECT_CALL(session_event_handler_, OnSessionClientCapabilities(_))
- .WillOnce(Invoke(CreateFunctor(&CreateExtensionSessions, extensions)));
-
- SetSendMessageAndDisconnectExpectation("extX");
- ConnectClientSession();
- message_loop_.Run();
-
- EXPECT_FALSE(extension1.message_handled());
-}
-
-TEST_F(ClientSessionTest, ReportCapabilities) {
- Expectation authenticated =
- EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_))
- .WillOnce(DoAll(
- AddHostCapabilities(client_session_.get(), "capX capZ"),
- AddHostCapabilities(client_session_.get(), ""),
- AddHostCapabilities(client_session_.get(), "capY"),
- Return(true)));
- EXPECT_CALL(client_stub_,
- SetCapabilities(EqCapabilities("capX capY capZ default")));
- EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_))
- .After(authenticated)
- .WillOnce(DoAll(
- InvokeWithoutArgs(this, &ClientSessionTest::DisconnectClientSession),
- InvokeWithoutArgs(this, &ClientSessionTest::StopClientSession)));
-
- ConnectClientSession();
- message_loop_.Run();
-}
-
} // namespace remoting
« no previous file with comments | « trunk/src/remoting/host/client_session.cc ('k') | trunk/src/remoting/host/host_extension.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698