mirror of
https://github.com/falk-werner/webfuse
synced 2026-03-02 03:40:24 +00:00
implemented some provider operations
This commit is contained in:
37
test-src/webfuse/test_request_type.cpp
Normal file
37
test-src/webfuse/test_request_type.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
#include "webfuse/request_type.hpp"
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
using webfuse::request_type;
|
||||
|
||||
class request_type_test: public testing::TestWithParam<request_type> { };
|
||||
|
||||
TEST_P(request_type_test, conversion)
|
||||
{
|
||||
auto const expected = GetParam();
|
||||
auto const actual = webfuse::get_request_type(static_cast<uint8_t>(expected));
|
||||
|
||||
ASSERT_EQ(expected, actual);
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(request_type_values, request_type_test,
|
||||
testing::Values(
|
||||
request_type::access, request_type::getattr, request_type::readlink,
|
||||
request_type::symlink, request_type::link, request_type::link,
|
||||
request_type::rename, request_type::chmod, request_type::chown,
|
||||
request_type::truncate, request_type::fsync, request_type::open,
|
||||
request_type::mknod, request_type::create, request_type::release,
|
||||
request_type::unlink, request_type::read, request_type::write,
|
||||
request_type::mkdir, request_type::readdir, request_type::rmdir,
|
||||
request_type::statfs, request_type::utimens, request_type::unknown)
|
||||
);
|
||||
|
||||
TEST(request_type, unknown_values)
|
||||
{
|
||||
auto const expected = request_type::unknown;
|
||||
|
||||
ASSERT_EQ(expected, webfuse::get_request_type(0x20));
|
||||
ASSERT_EQ(expected, webfuse::get_request_type(0x30));
|
||||
ASSERT_EQ(expected, webfuse::get_request_type(0x80));
|
||||
ASSERT_EQ(expected, webfuse::get_request_type(0x42));
|
||||
ASSERT_EQ(expected, webfuse::get_request_type(0xff));
|
||||
}
|
||||
38
test-src/webfuse/test_response_type.cpp
Normal file
38
test-src/webfuse/test_response_type.cpp
Normal file
@@ -0,0 +1,38 @@
|
||||
#include "webfuse/response_type.hpp"
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
using webfuse::request_type;
|
||||
|
||||
class response_type_test: public testing::TestWithParam<request_type> { };
|
||||
|
||||
TEST_P(response_type_test, conversion)
|
||||
{
|
||||
auto const value = GetParam();
|
||||
auto const actual = webfuse::get_response_type(value);
|
||||
auto const expected = static_cast<webfuse::response_type>(static_cast<uint8_t>(value) | 0x80);
|
||||
|
||||
ASSERT_EQ(expected, actual);
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(response_type_values, response_type_test,
|
||||
testing::Values(
|
||||
request_type::access, request_type::getattr, request_type::readlink,
|
||||
request_type::symlink, request_type::link, request_type::link,
|
||||
request_type::rename, request_type::chmod, request_type::chown,
|
||||
request_type::truncate, request_type::fsync, request_type::open,
|
||||
request_type::mknod, request_type::create, request_type::release,
|
||||
request_type::unlink, request_type::read, request_type::write,
|
||||
request_type::mkdir, request_type::readdir, request_type::rmdir,
|
||||
request_type::statfs, request_type::utimens, request_type::unknown)
|
||||
);
|
||||
|
||||
TEST(respones_type, unknown_values)
|
||||
{
|
||||
auto const expected = webfuse::response_type::unknown;
|
||||
|
||||
ASSERT_EQ(expected, webfuse::get_response_type(static_cast<request_type>(0x20)));
|
||||
ASSERT_EQ(expected, webfuse::get_response_type(static_cast<request_type>(0x30)));
|
||||
ASSERT_EQ(expected, webfuse::get_response_type(static_cast<request_type>(80)));
|
||||
ASSERT_EQ(expected, webfuse::get_response_type(static_cast<request_type>(0x42)));
|
||||
ASSERT_EQ(expected, webfuse::get_response_type(static_cast<request_type>(0xff)));
|
||||
}
|
||||
Reference in New Issue
Block a user