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