blob: 1bb39842576ef02f567b61f15cfd293107f2fd61 [file] [log] [blame]
hbosd565b732016-08-30 14:04:35 -07001/*
2 * Copyright 2016 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#ifndef WEBRTC_API_TEST_MOCK_DATACHANNEL_H_
12#define WEBRTC_API_TEST_MOCK_DATACHANNEL_H_
13
14#include "webrtc/api/datachannel.h"
kwiberg77eab702016-09-28 17:42:01 -070015#include "webrtc/test/gmock.h"
hbosd565b732016-08-30 14:04:35 -070016
17namespace webrtc {
18
19class MockDataChannel : public rtc::RefCountedObject<DataChannel> {
20 public:
hboscc555c52016-10-18 12:48:31 -070021 MockDataChannel(int id, DataState state)
22 : MockDataChannel(id, state, 0, 0, 0, 0) {
23 }
24 MockDataChannel(
25 int id,
26 DataState state,
27 uint32_t messages_sent,
28 uint64_t bytes_sent,
29 uint32_t messages_received,
30 uint64_t bytes_received)
hbosd565b732016-08-30 14:04:35 -070031 : rtc::RefCountedObject<DataChannel>(
32 nullptr, cricket::DCT_NONE, "MockDataChannel") {
hboscc555c52016-10-18 12:48:31 -070033 EXPECT_CALL(*this, id()).WillRepeatedly(testing::Return(id));
hbosd565b732016-08-30 14:04:35 -070034 EXPECT_CALL(*this, state()).WillRepeatedly(testing::Return(state));
hboscc555c52016-10-18 12:48:31 -070035 EXPECT_CALL(*this, messages_sent()).WillRepeatedly(
36 testing::Return(messages_sent));
37 EXPECT_CALL(*this, bytes_sent()).WillRepeatedly(
38 testing::Return(bytes_sent));
39 EXPECT_CALL(*this, messages_received()).WillRepeatedly(
40 testing::Return(messages_received));
41 EXPECT_CALL(*this, bytes_received()).WillRepeatedly(
42 testing::Return(bytes_received));
hbosd565b732016-08-30 14:04:35 -070043 }
hboscc555c52016-10-18 12:48:31 -070044 MOCK_CONST_METHOD0(id, int());
hbosd565b732016-08-30 14:04:35 -070045 MOCK_CONST_METHOD0(state, DataState());
hboscc555c52016-10-18 12:48:31 -070046 MOCK_CONST_METHOD0(messages_sent, uint32_t());
47 MOCK_CONST_METHOD0(bytes_sent, uint64_t());
48 MOCK_CONST_METHOD0(messages_received, uint32_t());
49 MOCK_CONST_METHOD0(bytes_received, uint64_t());
hbosd565b732016-08-30 14:04:35 -070050};
51
52} // namespace webrtc
53
54#endif // WEBRTC_API_TEST_MOCK_DATACHANNEL_H_