mirror of
https://github.com/deepseek-ai/3FS
synced 2025-06-26 18:16:45 +00:00
41 lines
1009 B
C++
41 lines
1009 B
C++
#include <folly/Random.h>
|
|
|
|
#include "core/user/UserToken.h"
|
|
#include "tests/GtestHelpers.h"
|
|
|
|
namespace hf3fs::meta::server::test {
|
|
namespace {
|
|
class UserTokenTest : public ::testing::Test {
|
|
protected:
|
|
void test(uint32_t uid, uint64_t randomv) {
|
|
auto token = core::encodeUserToken(uid, randomv);
|
|
XLOGF(DBG, "encode({}, {}) -> {}", uid, randomv, token);
|
|
|
|
auto decodeRes = core::decodeUserToken(token);
|
|
ASSERT_OK(decodeRes);
|
|
|
|
auto [duid, dts] = *decodeRes;
|
|
ASSERT_EQ(uid, duid);
|
|
ASSERT_EQ(randomv, dts);
|
|
|
|
auto decodeRes2 = core::decodeUidFromUserToken(token);
|
|
ASSERT_OK(decodeRes2);
|
|
ASSERT_EQ(uid, *decodeRes2);
|
|
}
|
|
};
|
|
|
|
TEST_F(UserTokenTest, test) {
|
|
for (uint32_t i = 0; i < 100; ++i) {
|
|
for (uint64_t j = 0; j < 100; ++j) {
|
|
test(i, j);
|
|
}
|
|
}
|
|
for (size_t i = 0; i < 10000; ++i) {
|
|
auto uid = folly::Random::rand32();
|
|
auto randomv = folly::Random::rand64();
|
|
test(uid, randomv);
|
|
}
|
|
}
|
|
} // namespace
|
|
} // namespace hf3fs::meta::server::test
|