summaryrefslogtreecommitdiffstats
path: root/remoting/host/win/rdp_client_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'remoting/host/win/rdp_client_unittest.cc')
-rw-r--r--remoting/host/win/rdp_client_unittest.cc20
1 files changed, 19 insertions, 1 deletions
diff --git a/remoting/host/win/rdp_client_unittest.cc b/remoting/host/win/rdp_client_unittest.cc
index f906829..229bc06c 100644
--- a/remoting/host/win/rdp_client_unittest.cc
+++ b/remoting/host/win/rdp_client_unittest.cc
@@ -7,12 +7,15 @@
#include <atlhost.h>
#include "base/basictypes.h"
+#include "base/bind.h"
+#include "base/bind_helpers.h"
#include "base/message_loop.h"
#include "base/run_loop.h"
#include "base/win/scoped_com_initializer.h"
#include "net/base/ip_endpoint.h"
#include "remoting/base/auto_thread_task_runner.h"
#include "remoting/host/win/rdp_client.h"
+#include "remoting/host/win/wts_terminal_monitor.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gmock_mutant.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -79,6 +82,9 @@ class RdpClientTest : public testing::Test {
virtual void SetUp() OVERRIDE;
virtual void TearDown() OVERRIDE;
+ // Caaled when an RDP connection is established.
+ void OnRdpConnected(const net::IPEndPoint& endpoint);
+
// Tears down |rdp_client_|.
void CloseRdpClient();
@@ -119,6 +125,18 @@ void RdpClientTest::TearDown() {
module_.reset();
}
+void RdpClientTest::OnRdpConnected(const net::IPEndPoint& endpoint) {
+ uint32 session_id = WtsTerminalMonitor::GetSessionIdForEndpoint(endpoint);
+
+ net::IPEndPoint session_endpoint;
+ EXPECT_TRUE(WtsTerminalMonitor::GetEndpointForSessionId(session_id,
+ &session_endpoint));
+ EXPECT_EQ(endpoint, session_endpoint);
+
+ message_loop_.PostTask(FROM_HERE, base::Bind(&RdpClientTest::CloseRdpClient,
+ base::Unretained(this)));
+}
+
void RdpClientTest::CloseRdpClient() {
EXPECT_TRUE(rdp_client_);
@@ -132,7 +150,7 @@ TEST_F(RdpClientTest, Basic) {
// and a connection error as a successful outcome.
EXPECT_CALL(event_handler_, OnRdpConnected(_))
.Times(AtMost(1))
- .WillOnce(InvokeWithoutArgs(this, &RdpClientTest::CloseRdpClient));
+ .WillOnce(Invoke(this, &RdpClientTest::OnRdpConnected));
EXPECT_CALL(event_handler_, OnRdpClosed())
.Times(AtMost(1))
.WillOnce(InvokeWithoutArgs(this, &RdpClientTest::CloseRdpClient));