xref: /aosp_15_r20/external/libbrillo/brillo/streams/mock_stream.h (revision 1a96fba65179ea7d3f56207137718607415c5953)
1*1a96fba6SXin Li // Copyright 2015 The Chromium OS Authors. All rights reserved.
2*1a96fba6SXin Li // Use of this source code is governed by a BSD-style license that can be
3*1a96fba6SXin Li // found in the LICENSE file.
4*1a96fba6SXin Li 
5*1a96fba6SXin Li #ifndef LIBBRILLO_BRILLO_STREAMS_MOCK_STREAM_H_
6*1a96fba6SXin Li #define LIBBRILLO_BRILLO_STREAMS_MOCK_STREAM_H_
7*1a96fba6SXin Li 
8*1a96fba6SXin Li #include <gmock/gmock.h>
9*1a96fba6SXin Li 
10*1a96fba6SXin Li #include <brillo/streams/stream.h>
11*1a96fba6SXin Li 
12*1a96fba6SXin Li namespace brillo {
13*1a96fba6SXin Li 
14*1a96fba6SXin Li // Mock Stream implementation for testing.
15*1a96fba6SXin Li class MockStream : public Stream {
16*1a96fba6SXin Li  public:
17*1a96fba6SXin Li   MockStream() = default;
18*1a96fba6SXin Li 
19*1a96fba6SXin Li   MOCK_METHOD(bool, IsOpen, (), (const, override));
20*1a96fba6SXin Li   MOCK_METHOD(bool, CanRead, (), (const, override));
21*1a96fba6SXin Li   MOCK_METHOD(bool, CanWrite, (), (const, override));
22*1a96fba6SXin Li   MOCK_METHOD(bool, CanSeek, (), (const, override));
23*1a96fba6SXin Li   MOCK_METHOD(bool, CanGetSize, (), (const, override));
24*1a96fba6SXin Li 
25*1a96fba6SXin Li   MOCK_METHOD(uint64_t, GetSize, (), (const, override));
26*1a96fba6SXin Li   MOCK_METHOD(bool, SetSizeBlocking, (uint64_t, ErrorPtr*), (override));
27*1a96fba6SXin Li   MOCK_METHOD(uint64_t, GetRemainingSize, (), (const, override));
28*1a96fba6SXin Li 
29*1a96fba6SXin Li   MOCK_METHOD(uint64_t, GetPosition, (), (const, override));
30*1a96fba6SXin Li   MOCK_METHOD(bool, Seek, (int64_t, Whence, uint64_t*, ErrorPtr*), (override));
31*1a96fba6SXin Li 
32*1a96fba6SXin Li   MOCK_METHOD(bool,
33*1a96fba6SXin Li               ReadAsync,
34*1a96fba6SXin Li               (void*,
35*1a96fba6SXin Li                size_t,
36*1a96fba6SXin Li                const base::Callback<void(size_t)>&,
37*1a96fba6SXin Li                const ErrorCallback&,
38*1a96fba6SXin Li                ErrorPtr*),
39*1a96fba6SXin Li               (override));
40*1a96fba6SXin Li   MOCK_METHOD(
41*1a96fba6SXin Li       bool,
42*1a96fba6SXin Li       ReadAllAsync,
43*1a96fba6SXin Li       (void*, size_t, const base::Closure&, const ErrorCallback&, ErrorPtr*),
44*1a96fba6SXin Li       (override));
45*1a96fba6SXin Li   MOCK_METHOD(bool,
46*1a96fba6SXin Li               ReadNonBlocking,
47*1a96fba6SXin Li               (void*, size_t, size_t*, bool*, ErrorPtr*),
48*1a96fba6SXin Li               (override));
49*1a96fba6SXin Li   MOCK_METHOD(bool,
50*1a96fba6SXin Li               ReadBlocking,
51*1a96fba6SXin Li               (void*, size_t, size_t*, ErrorPtr*),
52*1a96fba6SXin Li               (override));
53*1a96fba6SXin Li   MOCK_METHOD(bool, ReadAllBlocking, (void*, size_t, ErrorPtr*), (override));
54*1a96fba6SXin Li 
55*1a96fba6SXin Li   MOCK_METHOD(bool,
56*1a96fba6SXin Li               WriteAsync,
57*1a96fba6SXin Li               (const void*,
58*1a96fba6SXin Li                size_t,
59*1a96fba6SXin Li                const base::Callback<void(size_t)>&,
60*1a96fba6SXin Li                const ErrorCallback&,
61*1a96fba6SXin Li                ErrorPtr*),
62*1a96fba6SXin Li               (override));
63*1a96fba6SXin Li   MOCK_METHOD(bool,
64*1a96fba6SXin Li               WriteAllAsync,
65*1a96fba6SXin Li               (const void*,
66*1a96fba6SXin Li                size_t,
67*1a96fba6SXin Li                const base::Closure&,
68*1a96fba6SXin Li                const ErrorCallback&,
69*1a96fba6SXin Li                ErrorPtr*),
70*1a96fba6SXin Li               (override));
71*1a96fba6SXin Li   MOCK_METHOD(bool,
72*1a96fba6SXin Li               WriteNonBlocking,
73*1a96fba6SXin Li               (const void*, size_t, size_t*, ErrorPtr*),
74*1a96fba6SXin Li               (override));
75*1a96fba6SXin Li   MOCK_METHOD(bool,
76*1a96fba6SXin Li               WriteBlocking,
77*1a96fba6SXin Li               (const void*, size_t, size_t*, ErrorPtr*),
78*1a96fba6SXin Li               (override));
79*1a96fba6SXin Li   MOCK_METHOD(bool,
80*1a96fba6SXin Li               WriteAllBlocking,
81*1a96fba6SXin Li               (const void*, size_t, ErrorPtr*),
82*1a96fba6SXin Li               (override));
83*1a96fba6SXin Li 
84*1a96fba6SXin Li   MOCK_METHOD(bool, FlushBlocking, (ErrorPtr*), (override));
85*1a96fba6SXin Li   MOCK_METHOD(bool, CloseBlocking, (ErrorPtr*), (override));
86*1a96fba6SXin Li 
87*1a96fba6SXin Li   MOCK_METHOD(bool,
88*1a96fba6SXin Li               WaitForData,
89*1a96fba6SXin Li               (AccessMode, const base::Callback<void(AccessMode)>&, ErrorPtr*),
90*1a96fba6SXin Li               (override));
91*1a96fba6SXin Li   MOCK_METHOD(bool,
92*1a96fba6SXin Li               WaitForDataBlocking,
93*1a96fba6SXin Li               (AccessMode, base::TimeDelta, AccessMode*, ErrorPtr*),
94*1a96fba6SXin Li               (override));
95*1a96fba6SXin Li 
96*1a96fba6SXin Li  private:
97*1a96fba6SXin Li   DISALLOW_COPY_AND_ASSIGN(MockStream);
98*1a96fba6SXin Li };
99*1a96fba6SXin Li 
100*1a96fba6SXin Li }  // namespace brillo
101*1a96fba6SXin Li 
102*1a96fba6SXin Li #endif  // LIBBRILLO_BRILLO_STREAMS_MOCK_STREAM_H_
103