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

Side by Side Diff: remoting/protocol/connection_to_client_unittest.cc

Issue 902613004: Fix ConnectionToClient to connect stubs only after authentication. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@audio_pump
Patch Set: Created 5 years, 10 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 unified diff | Download patch
« no previous file with comments | « remoting/protocol/connection_to_client.cc ('k') | remoting/protocol/protocol_mock_objects.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "remoting/protocol/connection_to_client.h" 5 #include "remoting/protocol/connection_to_client.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/message_loop/message_loop_proxy.h" 9 #include "base/message_loop/message_loop_proxy.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
11 #include "remoting/base/constants.h" 11 #include "remoting/base/constants.h"
12 #include "remoting/protocol/fake_session.h" 12 #include "remoting/protocol/fake_session.h"
13 #include "remoting/protocol/protocol_mock_objects.h" 13 #include "remoting/protocol/protocol_mock_objects.h"
14 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
15 15
16 using ::testing::_; 16 using ::testing::_;
17 using ::testing::InvokeWithoutArgs;
17 using ::testing::NotNull; 18 using ::testing::NotNull;
18 using ::testing::StrictMock; 19 using ::testing::StrictMock;
19 20
20 namespace remoting { 21 namespace remoting {
21 namespace protocol { 22 namespace protocol {
22 23
23 class ConnectionToClientTest : public testing::Test { 24 class ConnectionToClientTest : public testing::Test {
24 public: 25 public:
25 ConnectionToClientTest() { 26 ConnectionToClientTest() {
26 } 27 }
27 28
28 protected: 29 protected:
29 void SetUp() override { 30 void SetUp() override {
30 session_ = new FakeSession(); 31 session_ = new FakeSession();
31 32
32 // Allocate a ClientConnection object with the mock objects. 33 // Allocate a ClientConnection object with the mock objects.
33 viewer_.reset(new ConnectionToClient(session_)); 34 viewer_.reset(new ConnectionToClient(session_));
34 viewer_->set_clipboard_stub(&clipboard_stub_);
35 viewer_->set_host_stub(&host_stub_);
36 viewer_->set_input_stub(&input_stub_);
37 viewer_->SetEventHandler(&handler_); 35 viewer_->SetEventHandler(&handler_);
38 EXPECT_CALL(handler_, OnConnectionAuthenticated(viewer_.get())); 36 EXPECT_CALL(handler_, OnConnectionAuthenticated(viewer_.get()))
37 .WillOnce(
38 InvokeWithoutArgs(this, &ConnectionToClientTest::ConnectStubs));
39 EXPECT_CALL(handler_, OnConnectionChannelsConnected(viewer_.get())); 39 EXPECT_CALL(handler_, OnConnectionChannelsConnected(viewer_.get()));
40 session_->event_handler()->OnSessionStateChange(Session::CONNECTED); 40 session_->event_handler()->OnSessionStateChange(Session::CONNECTED);
41 session_->event_handler()->OnSessionStateChange(Session::AUTHENTICATED); 41 session_->event_handler()->OnSessionStateChange(Session::AUTHENTICATED);
42 base::RunLoop().RunUntilIdle(); 42 base::RunLoop().RunUntilIdle();
43 } 43 }
44 44
45 void TearDown() override { 45 void TearDown() override {
46 viewer_.reset(); 46 viewer_.reset();
47 base::RunLoop().RunUntilIdle(); 47 base::RunLoop().RunUntilIdle();
48 } 48 }
49 49
50 void ConnectStubs() {
51 viewer_->set_clipboard_stub(&clipboard_stub_);
52 viewer_->set_host_stub(&host_stub_);
53 viewer_->set_input_stub(&input_stub_);
54 }
55
50 base::MessageLoop message_loop_; 56 base::MessageLoop message_loop_;
51 MockConnectionToClientEventHandler handler_; 57 MockConnectionToClientEventHandler handler_;
52 MockClipboardStub clipboard_stub_; 58 MockClipboardStub clipboard_stub_;
53 MockHostStub host_stub_; 59 MockHostStub host_stub_;
54 MockInputStub input_stub_; 60 MockInputStub input_stub_;
55 scoped_ptr<ConnectionToClient> viewer_; 61 scoped_ptr<ConnectionToClient> viewer_;
56 62
57 // Owned by |viewer_|. 63 // Owned by |viewer_|.
58 FakeSession* session_; 64 FakeSession* session_;
59 65
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 base::RunLoop().RunUntilIdle(); 105 base::RunLoop().RunUntilIdle();
100 106
101 EXPECT_CALL(handler_, OnConnectionClosed(viewer_.get(), SESSION_REJECTED)); 107 EXPECT_CALL(handler_, OnConnectionClosed(viewer_.get(), SESSION_REJECTED));
102 session_->set_error(SESSION_REJECTED); 108 session_->set_error(SESSION_REJECTED);
103 session_->event_handler()->OnSessionStateChange(Session::FAILED); 109 session_->event_handler()->OnSessionStateChange(Session::FAILED);
104 base::RunLoop().RunUntilIdle(); 110 base::RunLoop().RunUntilIdle();
105 } 111 }
106 112
107 } // namespace protocol 113 } // namespace protocol
108 } // namespace remoting 114 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/protocol/connection_to_client.cc ('k') | remoting/protocol/protocol_mock_objects.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698