mirror of
https://github.com/deepseek-ai/3FS
synced 2025-06-26 18:16:45 +00:00
Initial commit
This commit is contained in:
61
tests/mgmtd/TestNodeSelector.cc
Normal file
61
tests/mgmtd/TestNodeSelector.cc
Normal file
@@ -0,0 +1,61 @@
|
||||
#include "fbs/mgmtd/NodeInfo.h"
|
||||
#include "tests/GtestHelpers.h"
|
||||
|
||||
namespace hf3fs::test {
|
||||
namespace {
|
||||
TEST(NodeSelector, testSelectByTrifficZone) {
|
||||
auto createNode = [](const String &zone) {
|
||||
flat::NodeInfo n;
|
||||
if (!zone.empty()) {
|
||||
n.tags = {flat::TagPair(flat::kTrafficZoneTagKey, zone)};
|
||||
}
|
||||
return n;
|
||||
};
|
||||
auto n0 = createNode("");
|
||||
auto n1 = createNode("zone1");
|
||||
auto n2 = createNode("zone2");
|
||||
|
||||
{
|
||||
auto sel = flat::selectNodeByTrafficZone("");
|
||||
ASSERT_TRUE(sel(n0));
|
||||
ASSERT_TRUE(sel(n1));
|
||||
ASSERT_TRUE(sel(n2));
|
||||
}
|
||||
|
||||
{
|
||||
auto sel = flat::selectNodeByTrafficZone("zone1");
|
||||
ASSERT_TRUE(!sel(n0));
|
||||
ASSERT_TRUE(sel(n1));
|
||||
ASSERT_TRUE(!sel(n2));
|
||||
}
|
||||
|
||||
{
|
||||
auto sel = flat::selectNodeByTrafficZone(" zone1");
|
||||
ASSERT_TRUE(!sel(n0));
|
||||
ASSERT_TRUE(sel(n1));
|
||||
ASSERT_TRUE(!sel(n2));
|
||||
}
|
||||
|
||||
{
|
||||
auto sel = flat::selectNodeByTrafficZone(" zone1 ");
|
||||
ASSERT_TRUE(!sel(n0));
|
||||
ASSERT_TRUE(sel(n1));
|
||||
ASSERT_TRUE(!sel(n2));
|
||||
}
|
||||
|
||||
{
|
||||
auto sel = flat::selectNodeByTrafficZone(" zone1 ,");
|
||||
ASSERT_TRUE(!sel(n0));
|
||||
ASSERT_TRUE(sel(n1));
|
||||
ASSERT_TRUE(!sel(n2));
|
||||
}
|
||||
|
||||
{
|
||||
auto sel = flat::selectNodeByTrafficZone(" zone1 , zone2");
|
||||
ASSERT_TRUE(!sel(n0));
|
||||
ASSERT_TRUE(sel(n1));
|
||||
ASSERT_TRUE(sel(n2));
|
||||
}
|
||||
}
|
||||
} // namespace
|
||||
} // namespace hf3fs::test
|
||||
Reference in New Issue
Block a user