build: Add unit tests for regex (ref: #578)
This commit is contained in:
parent
b83b7a4c42
commit
fcfa007cec
|
|
@ -95,3 +95,40 @@ func TestTypeSafetyCheckUrl(t *testing.T) {
|
||||||
assert.NotNil(t, TypeSafetyCheck("test5", "12345", "url"), "Test a badly formed URL")
|
assert.NotNil(t, TypeSafetyCheck("test5", "12345", "url"), "Test a badly formed URL")
|
||||||
assert.NotNil(t, TypeSafetyCheck("test6", "_!23;", "url"), "Test a badly formed URL")
|
assert.NotNil(t, TypeSafetyCheck("test6", "_!23;", "url"), "Test a badly formed URL")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestTypeSafetyCheckRegex(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
field string
|
||||||
|
pattern string
|
||||||
|
value string
|
||||||
|
hasError bool
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "Issue #578 - Domain",
|
||||||
|
field: "domain",
|
||||||
|
pattern: "regex:^(?:[a-zA-Z0-9-]{1,63}.)+[a-zA-Z]{2,63}$",
|
||||||
|
value: "immich.example.dev",
|
||||||
|
hasError: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Don't allow numbers in username",
|
||||||
|
field: "Username",
|
||||||
|
pattern: "regex:^[a-zA-Z]$",
|
||||||
|
value: "James1234",
|
||||||
|
hasError: true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
err := typeSafetyCheckRegex(tt.field, tt.value, tt.pattern)
|
||||||
|
|
||||||
|
if tt.hasError {
|
||||||
|
assert.NotNil(t, err, "Expected error for value %s with pattern %s, but got no error", tt.value, tt.pattern)
|
||||||
|
} else {
|
||||||
|
assert.Nil(t, err, "Expected no error for value %s with pattern %s, but got error: %v", tt.value, tt.pattern, err)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue