Pull request: all: imp dhcp client hostname normalization

Updates #2952.
Updates #2978.

Squashed commit of the following:

commit 20e379b94ccf8140fd9056429315945c17f711a5
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Apr 19 15:58:37 2021 +0300

    all: imp naming

commit ed300e0563fa37e161406a97991b26a89e23903a
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Apr 19 15:43:09 2021 +0300

    all: imp dhcp client hostname normalization
This commit is contained in:
Ainar Garipov
2021-04-19 16:04:40 +03:00
parent 91304663b7
commit d707f8b1d1
6 changed files with 127 additions and 73 deletions

View File

@@ -290,7 +290,7 @@ func TestV4DynamicLease_Get(t *testing.T) {
})
}
func TestV4Server_normalizeHostname(t *testing.T) {
func TestNormalizeHostname(t *testing.T) {
testCases := []struct {
name string
hostname string
@@ -312,24 +312,35 @@ func TestV4Server_normalizeHostname(t *testing.T) {
wantErrMsg: "",
want: "my-device-01",
}, {
name: "error",
hostname: "!!!",
wantErrMsg: `validating non-normalized hostname: ` +
`invalid domain name label at index 0: ` +
`invalid char '!' at index 0 in "!!!"`,
want: "",
name: "success_underscores",
hostname: "my_device_01",
wantErrMsg: "",
want: "my-device-01",
}, {
name: "error_spaces",
hostname: "! ! !",
wantErrMsg: `validating normalized hostname: ` +
`invalid domain name label at index 0: ` +
`invalid char '!' at index 0 in "!-!-!"`,
want: "",
name: "error_part",
hostname: "device !!!",
wantErrMsg: "",
want: "device",
}, {
name: "error_part_spaces",
hostname: "device ! ! !",
wantErrMsg: "",
want: "device",
}, {
name: "error",
hostname: "!!!",
wantErrMsg: `normalizing hostname "!!!": no valid parts`,
want: "",
}, {
name: "error_spaces",
hostname: "! ! !",
wantErrMsg: `normalizing hostname "! ! !": no valid parts`,
want: "",
}}
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
got, err := (&v4Server{}).normalizeHostname(tc.hostname)
got, err := normalizeHostname(tc.hostname)
if tc.wantErrMsg == "" {
assert.NoError(t, err)
} else {