mirror of
https://github.com/qdm12/ddns-updater.git
synced 2026-08-02 18:48:49 -04:00
@@ -8,7 +8,6 @@ import (
|
||||
"net/http"
|
||||
"net/netip"
|
||||
"net/url"
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
"github.com/qdm12/ddns-updater/internal/models"
|
||||
@@ -55,13 +54,10 @@ func New(data json.RawMessage, domain, host string,
|
||||
return p, nil
|
||||
}
|
||||
|
||||
var regexUsername = regexp.MustCompile(`^[a-zA-Z0-9+@._-]{3,25}$`)
|
||||
|
||||
func (p *Provider) isValid() error {
|
||||
switch {
|
||||
case !regexUsername.MatchString(p.username):
|
||||
return fmt.Errorf("%w: username %q does not match regex %q",
|
||||
errors.ErrUsernameNotValid, p.username, regexUsername)
|
||||
case p.username == "":
|
||||
return fmt.Errorf("%w", errors.ErrUsernameNotSet)
|
||||
case p.password == "":
|
||||
return fmt.Errorf("%w", errors.ErrPasswordNotSet)
|
||||
}
|
||||
|
||||
@@ -19,35 +19,8 @@ func Test_Provider_isValid(t *testing.T) {
|
||||
provider: Provider{
|
||||
password: "password",
|
||||
},
|
||||
errWrapped: errors.ErrUsernameNotValid,
|
||||
errMessage: `username is not valid: username "" does not match regex "^[a-zA-Z0-9+@._-]{3,25}$"`,
|
||||
},
|
||||
"email_username": {
|
||||
provider: Provider{
|
||||
username: "a@a.ca",
|
||||
password: "password",
|
||||
},
|
||||
},
|
||||
"email_alias_username": {
|
||||
provider: Provider{
|
||||
username: "a+b@a.ca",
|
||||
password: "password",
|
||||
},
|
||||
},
|
||||
"dashes_username": {
|
||||
provider: Provider{
|
||||
username: "a-b-c",
|
||||
password: "password",
|
||||
},
|
||||
},
|
||||
"oversized_username": {
|
||||
provider: Provider{
|
||||
username: "aaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
password: "password",
|
||||
},
|
||||
errWrapped: errors.ErrUsernameNotValid,
|
||||
errMessage: `username is not valid: username ` +
|
||||
`"aaaaaaaaaaaaaaaaaaaaaaaaaa" does not match regex "^[a-zA-Z0-9+@._-]{3,25}$"`,
|
||||
errWrapped: errors.ErrUsernameNotSet,
|
||||
errMessage: `username is not set`,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user