1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef NET_TOOLS_FLIP_SERVER_FLIP_TEST_UTILS_H_
6#define NET_TOOLS_FLIP_SERVER_FLIP_TEST_UTILS_H_
7
8#include <string>
9
10#include "net/tools/flip_server/sm_interface.h"
11#include "testing/gmock/include/gmock/gmock.h"
12#include "testing/gtest/include/gtest/gtest.h"
13
14namespace net {
15
16class MockSMInterface : public SMInterface {
17 public:
18  MockSMInterface();
19  virtual ~MockSMInterface();
20
21  MOCK_METHOD2(InitSMInterface, void(SMInterface*, int32));
22  MOCK_METHOD8(InitSMConnection,
23               void(SMConnectionPoolInterface*,
24                    SMInterface*,
25                    EpollServer*,
26                    int,
27                    std::string,
28                    std::string,
29                    std::string,
30                    bool));
31  MOCK_METHOD2(ProcessReadInput, size_t(const char*, size_t));
32  MOCK_METHOD2(ProcessWriteInput, size_t(const char*, size_t));
33  MOCK_METHOD1(SetStreamID, void(uint32 stream_id));
34  MOCK_CONST_METHOD0(MessageFullyRead, bool());
35  MOCK_CONST_METHOD0(Error, bool());
36  MOCK_CONST_METHOD0(ErrorAsString, const char*());
37  MOCK_METHOD0(Reset, void());
38  MOCK_METHOD1(ResetForNewInterface, void(int32 server_idx));
39  MOCK_METHOD0(ResetForNewConnection, void());
40  MOCK_METHOD0(Cleanup, void());
41  MOCK_METHOD0(PostAcceptHook, int());
42  MOCK_METHOD3(NewStream, void(uint32, uint32, const std::string&));
43  MOCK_METHOD1(SendEOF, void(uint32 stream_id));
44  MOCK_METHOD1(SendErrorNotFound, void(uint32 stream_id));
45  MOCK_METHOD2(SendSynStream, size_t(uint32, const BalsaHeaders&));
46  MOCK_METHOD2(SendSynReply, size_t(uint32, const BalsaHeaders&));
47  MOCK_METHOD5(SendDataFrame, void(uint32, const char*, int64, uint32, bool));
48  MOCK_METHOD0(GetOutput, void());
49  MOCK_METHOD0(set_is_request, void());
50};
51
52}  // namespace net
53
54#endif  // NET_TOOLS_FLIP_SERVER_FLIP_TEST_UTILS_H_
55