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