iceberg-cpp
Loading...
Searching...
No Matches
mock_io.h
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20#pragma once
21
22#include <gmock/gmock.h>
23#include <gtest/gtest.h>
24
25#include "iceberg/file_io.h"
26
27namespace iceberg {
28
29class MockFileIO : public FileIO {
30 public:
31 MockFileIO() = default;
32 ~MockFileIO() override = default;
33
34 MOCK_METHOD((Result<std::string>), ReadFile,
35 (const std::string&, std::optional<size_t>), (override));
36
37 MOCK_METHOD(Status, WriteFile, (const std::string&, std::string_view), (override));
38
39 MOCK_METHOD(Status, DeleteFile, (const std::string&), (override));
40};
41
42} // namespace iceberg
Pluggable module for reading, writing, and deleting files.
Definition file_io.h:115
virtual Result< std::string > ReadFile(const std::string &file_location, std::optional< size_t > length)
Read the content of the file at the given location.
Definition file_io.cc:58
virtual Status WriteFile(const std::string &file_location, std::string_view content)
Write the given content to the file at the given location.
Definition file_io.cc:89
virtual Status DeleteFile(const std::string &file_location)
Delete a file at the given location.
Definition file_io.h:154
Definition mock_io.h:29