diff --git a/api/src/main/java/marquez/common/models/NamespaceName.java b/api/src/main/java/marquez/common/models/NamespaceName.java index 95896321bc..538572cf1d 100644 --- a/api/src/main/java/marquez/common/models/NamespaceName.java +++ b/api/src/main/java/marquez/common/models/NamespaceName.java @@ -24,7 +24,7 @@ public final class NamespaceName { private static final int MIN_SIZE = 1; private static final int MAX_SIZE = 1024; private static final Pattern PATTERN = - Pattern.compile(String.format("^[a-zA-Z:;=/0-9_\\-\\.@+]{%d,%d}$", MIN_SIZE, MAX_SIZE)); + Pattern.compile(String.format("^[a-zA-Z:;=/0-9_\\-\\.@+,]{%d,%d}$", MIN_SIZE, MAX_SIZE)); @Getter private final String value; @@ -32,8 +32,8 @@ public NamespaceName(@NonNull final String value) { checkArgument( PATTERN.matcher(value).matches(), "namespace '%s' must contain only letters (a-z, A-Z), numbers (0-9), " - + "underscores (_), at (@), plus (+), dashes (-), colons (:), equals (=), semicolons (;), slashes (/) " - + "or dots (.) with a maximum length of %s characters.", + + "underscores (_), at (@), plus (+), dashes (-), colons (:), equals (=), semicolons (;), slashes (/), " + + "commas (,) or dots (.) with a maximum length of %s characters.", value, MAX_SIZE); this.value = value; diff --git a/api/src/test/java/marquez/common/models/NamespaceNameTest.java b/api/src/test/java/marquez/common/models/NamespaceNameTest.java index 5ceac8e92b..7baad0667d 100644 --- a/api/src/test/java/marquez/common/models/NamespaceNameTest.java +++ b/api/src/test/java/marquez/common/models/NamespaceNameTest.java @@ -25,7 +25,10 @@ public class NamespaceNameTest { "\u003D", "@", "abfss://something@.something-else.core.windows.net", - "databricks+connector://asdf-123456-7890.cloud.databricks.com" + "databricks+connector://asdf-123456-7890.cloud.databricks.com", + "sqlserver://synapse-test-test001.sql.azuresynapse.net;databaseName=TESTPOOL1,SCHEMA1", + "my,namespace", + "," }) void testValidNamespaceName(String name) { assertThat(NamespaceName.of(name).getValue()).isEqualTo(name);