blob: 6feb7fcd2f720704c4950421899c68b3da82f7d9 [file] [log] [blame]
// Copyright 2019 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SMBFS_TEST_FILESYSTEM_H_
#define SMBFS_TEST_FILESYSTEM_H_
#include <sys/types.h>
#include <memory>
#include <string>
#include <base/callback.h>
#include <base/macros.h>
#include "smbfs/filesystem.h"
namespace smbfs {
// Test/fake filesystem for integration testing.
class TestFilesystem : public Filesystem {
public:
TestFilesystem(uid_t uid, gid_t gid);
TestFilesystem(const TestFilesystem&) = delete;
TestFilesystem& operator=(const TestFilesystem&) = delete;
void Lookup(std::unique_ptr<EntryRequest> request,
fuse_ino_t parent_inode,
const std::string& name) override;
void GetAttr(std::unique_ptr<AttrRequest> request, fuse_ino_t inode) override;
private:
const uid_t uid_;
const gid_t gid_;
};
} // namespace smbfs
#endif // SMBFS_TEST_FILESYSTEM_H_