blob: 1cb1948f6eb59f823bf2e7b3459b829da2134040 [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)
hbosdbb64d82016-12-21 01:57:46 -080022 : MockDataChannel(id, "MockDataChannel", state, "udp", 0, 0, 0, 0) {
hboscc555c52016-10-18 12:48:31 -070023 }
24 MockDataChannel(
25 int id,
hbosdbb64d82016-12-21 01:57:46 -080026 const std::string& label,
hboscc555c52016-10-18 12:48:31 -070027 DataState state,
hbosdbb64d82016-12-21 01:57:46 -080028 const std::string& protocol,
hboscc555c52016-10-18 12:48:31 -070029 uint32_t messages_sent,
30 uint64_t bytes_sent,
31 uint32_t messages_received,
32 uint64_t bytes_received)
hbosd565b732016-08-30 14:04:35 -070033 : rtc::RefCountedObject<DataChannel>(
hbosdbb64d82016-12-21 01:57:46 -080034 nullptr, cricket::DCT_NONE, label) {
hboscc555c52016-10-18 12:48:31 -070035 EXPECT_CALL(*this, id()).WillRepeatedly(testing::Return(id));
hbosd565b732016-08-30 14:04:35 -070036 EXPECT_CALL(*this, state()).WillRepeatedly(testing::Return(state));
hbosdbb64d82016-12-21 01:57:46 -080037 EXPECT_CALL(*this, protocol()).WillRepeatedly(testing::Return(protocol));
hboscc555c52016-10-18 12:48:31 -070038 EXPECT_CALL(*this, messages_sent()).WillRepeatedly(
39 testing::Return(messages_sent));
40 EXPECT_CALL(*this, bytes_sent()).WillRepeatedly(
41 testing::Return(bytes_sent));
42 EXPECT_CALL(*this, messages_received()).WillRepeatedly(
43 testing::Return(messages_received));
44 EXPECT_CALL(*this, bytes_received()).WillRepeatedly(
45 testing::Return(bytes_received));
hbosd565b732016-08-30 14:04:35 -070046 }
hboscc555c52016-10-18 12:48:31 -070047 MOCK_CONST_METHOD0(id, int());
hbosd565b732016-08-30 14:04:35 -070048 MOCK_CONST_METHOD0(state, DataState());
hbosdbb64d82016-12-21 01:57:46 -080049 MOCK_CONST_METHOD0(protocol, std::string());
hboscc555c52016-10-18 12:48:31 -070050 MOCK_CONST_METHOD0(messages_sent, uint32_t());
51 MOCK_CONST_METHOD0(bytes_sent, uint64_t());
52 MOCK_CONST_METHOD0(messages_received, uint32_t());
53 MOCK_CONST_METHOD0(bytes_received, uint64_t());
hbosd565b732016-08-30 14:04:35 -070054};
55
56} // namespace webrtc
57
58#endif // WEBRTC_API_TEST_MOCK_DATACHANNEL_H_