summaryrefslogtreecommitdiff
path: root/src/mongo/db/namespace_string_test.cpp
diff options
context:
space:
mode:
authorDaniel Gomez Ferro <daniel.gomezferro@mongodb.com>2021-11-17 16:00:22 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-11-17 17:42:04 +0000
commit3969d6d83bf0199a9a03215d24fe9d8ae585eff3 (patch)
treeb5589b5b67d107875690f86ac27f100cb270dd08 /src/mongo/db/namespace_string_test.cpp
parent1bdff76322b144ef27060fe79324fe3cce4bb17a (diff)
downloadmongo-3969d6d83bf0199a9a03215d24fe9d8ae585eff3.tar.gz
SERVER-60572 Validate collection name for system.buckets.* namespaces
Diffstat (limited to 'src/mongo/db/namespace_string_test.cpp')
-rw-r--r--src/mongo/db/namespace_string_test.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mongo/db/namespace_string_test.cpp b/src/mongo/db/namespace_string_test.cpp
index bc8b68e2c64..1a81e856e5f 100644
--- a/src/mongo/db/namespace_string_test.cpp
+++ b/src/mongo/db/namespace_string_test.cpp
@@ -127,6 +127,15 @@ TEST(NamespaceStringTest, IsCollectionlessCursorNamespace) {
ASSERT_FALSE(NamespaceString{"$cmd.listCollections"}.isCollectionlessCursorNamespace());
}
+TEST(NamespaceStringTest, IsLegalClientSystemNamespace) {
+ const auto& currentFCV = serverGlobalParams.featureCompatibility;
+ ASSERT_TRUE(NamespaceString{"test.system.buckets.1234"}.isLegalClientSystemNS(currentFCV));
+ ASSERT_TRUE(NamespaceString{"test.system.buckets.abcde"}.isLegalClientSystemNS(currentFCV));
+ ASSERT_FALSE(NamespaceString{"test.system.buckets..1234"}.isLegalClientSystemNS(currentFCV));
+ ASSERT_FALSE(NamespaceString{"test.system.buckets.a234$"}.isLegalClientSystemNS(currentFCV));
+ ASSERT_FALSE(NamespaceString{"test.system.buckets."}.isLegalClientSystemNS(currentFCV));
+}
+
TEST(NamespaceStringTest, IsDropPendingNamespace) {
ASSERT_TRUE(NamespaceString{"test.system.drop.0i0t-1.foo"}.isDropPendingNamespace());
ASSERT_TRUE(NamespaceString{"test.system.drop.1234567i8t9.foo"}.isDropPendingNamespace());