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

Side by Side Diff: blimp/net/blimp_message_dispatcher_unittest.cc

Issue 1429193002: Add interfaces for most major Blimp net components. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 1 month 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 // Uniitest for data encryption functions. 5 // Uniitest for data encryption functions.
6 6
7 #include "blimp/net/blimp_message_dispatcher.h" 7 #include "blimp/net/blimp_message_dispatcher.h"
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "blimp/net/test_common.h"
11 #include "net/base/net_errors.h"
12 #include "net/base/test_completion_callback.h"
10 #include "testing/gmock/include/gmock/gmock.h" 13 #include "testing/gmock/include/gmock/gmock.h"
11 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
12 15
16 using testing::_;
17 using testing::InvokeArgument;
13 using testing::Ref; 18 using testing::Ref;
14 using testing::Return; 19 using testing::Return;
20 using testing::SaveArg;
15 21
16 namespace blimp { 22 namespace blimp {
17 23
18 class MockReceiver : public BlimpMessageReceiver {
19 public:
20 MockReceiver() {}
21 ~MockReceiver() override {}
22
23 MOCK_METHOD1(OnBlimpMessage, net::Error(const BlimpMessage& message));
24 };
25
26 TEST(BlimpMessageDispatcherTest, AllInteractions) { 24 TEST(BlimpMessageDispatcherTest, AllInteractions) {
27 BlimpMessage input_msg; 25 BlimpMessage input_msg;
28 BlimpMessage compositor_msg; 26 BlimpMessage compositor_msg;
29 input_msg.set_type(BlimpMessage::INPUT); 27 input_msg.set_type(BlimpMessage::INPUT);
30 compositor_msg.set_type(BlimpMessage::COMPOSITOR); 28 compositor_msg.set_type(BlimpMessage::COMPOSITOR);
31 29
32 MockReceiver receiver1; 30 MockBlimpMessageProcessor receiver1;
33 MockReceiver receiver2; 31 MockBlimpMessageProcessor receiver2;
34 EXPECT_CALL(receiver1, OnBlimpMessage(Ref(input_msg))) 32 net::CompletionCallback captured_cb;
35 .WillOnce(Return(net::OK)); 33 EXPECT_CALL(receiver1, ProcessMessage(Ref(input_msg), _))
36 EXPECT_CALL(receiver2, OnBlimpMessage(Ref(compositor_msg))) 34 .WillOnce(SaveArg<1>(&captured_cb));
37 .WillOnce(Return(net::ERR_FAILED)); 35 EXPECT_CALL(receiver2, ProcessMessage(Ref(compositor_msg), _))
36 .WillOnce(SaveArg<1>(&captured_cb));
38 37
39 BlimpMessageDispatcher dispatcher; 38 BlimpMessageDispatcher dispatcher;
40 dispatcher.AddReceiver(BlimpMessage::INPUT, &receiver1); 39 dispatcher.AddReceiver(BlimpMessage::INPUT, &receiver1);
41 dispatcher.AddReceiver(BlimpMessage::COMPOSITOR, &receiver2); 40 dispatcher.AddReceiver(BlimpMessage::COMPOSITOR, &receiver2);
42 EXPECT_EQ(net::OK, dispatcher.OnBlimpMessage(input_msg)); 41
43 EXPECT_EQ(net::ERR_FAILED, dispatcher.OnBlimpMessage(compositor_msg)); 42 net::TestCompletionCallback cb1;
43 dispatcher.ProcessMessage(input_msg, cb1.callback());
44 captured_cb.Run(net::OK);
45 EXPECT_EQ(net::OK, cb1.WaitForResult());
46 net::TestCompletionCallback cb2;
47 dispatcher.ProcessMessage(compositor_msg, cb2.callback());
48 captured_cb.Run(net::ERR_FAILED);
49 EXPECT_EQ(net::ERR_FAILED, cb2.WaitForResult());
44 } 50 }
45 51
46 } // namespace blimp 52 } // namespace blimp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698