-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Pull request 2014: 4923 gopacket dhcp vol.3
Merge in DNS/adguard-home from 4923-gopacket-dhcp-vol.3 to master Updates #4923. Squashed commit of the following: commit 1a09c43 Merge: 95bcf07 c3f141a Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Thu Sep 28 19:38:57 2023 +0300 Merge branch 'master' into 4923-gopacket-dhcp-vol.3 commit 95bcf07 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Thu Sep 28 13:19:42 2023 +0300 dhcpsvc: fix interface to match legacy version commit 5da513c Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Thu Sep 28 12:32:21 2023 +0300 dhcpsvc: make it build on 32bit commit 37a9355 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Wed Sep 27 19:39:35 2023 +0300 dhcpd: fix v6 as well commit 03b5454 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Wed Sep 27 19:34:17 2023 +0300 dhcpsvc: imp code, docs commit 91a0e45 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Fri Sep 22 15:25:58 2023 +0300 dhcpsvc: imp filing commit 57c91e1 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Fri Sep 22 15:23:02 2023 +0300 dhcpsvc: imp code commit d86be56 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Thu Sep 14 12:24:39 2023 +0300 dhcpsvc: imp code, docs commit c9ef290 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Wed Sep 13 17:53:55 2023 +0300 dhcpsvc: add constructor, validations, tests commit f2533ed Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Tue Sep 12 23:05:42 2023 +0500 WIP
- Loading branch information
1 parent
c3f141a
commit 39aeaf8
Showing
12 changed files
with
863 additions
and
61 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
package dhcpsvc_test | ||
|
||
import ( | ||
"testing" | ||
|
||
"github.com/AdguardTeam/AdGuardHome/internal/dhcpsvc" | ||
"github.com/AdguardTeam/golibs/testutil" | ||
) | ||
|
||
func TestConfig_Validate(t *testing.T) { | ||
testCases := []struct { | ||
name string | ||
conf *dhcpsvc.Config | ||
wantErrMsg string | ||
}{{ | ||
name: "nil_config", | ||
conf: nil, | ||
wantErrMsg: "config is nil", | ||
}, { | ||
name: "disabled", | ||
conf: &dhcpsvc.Config{}, | ||
wantErrMsg: "", | ||
}, { | ||
name: "empty", | ||
conf: &dhcpsvc.Config{ | ||
Enabled: true, | ||
}, | ||
wantErrMsg: `bad domain name "": domain name is empty`, | ||
}, { | ||
conf: &dhcpsvc.Config{ | ||
Enabled: true, | ||
LocalDomainName: testLocalTLD, | ||
Interfaces: nil, | ||
}, | ||
name: "no_interfaces", | ||
wantErrMsg: "no interfaces specified", | ||
}, { | ||
conf: &dhcpsvc.Config{ | ||
Enabled: true, | ||
LocalDomainName: testLocalTLD, | ||
Interfaces: nil, | ||
}, | ||
name: "no_interfaces", | ||
wantErrMsg: "no interfaces specified", | ||
}, { | ||
conf: &dhcpsvc.Config{ | ||
Enabled: true, | ||
LocalDomainName: testLocalTLD, | ||
Interfaces: map[string]*dhcpsvc.InterfaceConfig{ | ||
"eth0": nil, | ||
}, | ||
}, | ||
name: "nil_interface", | ||
wantErrMsg: `interface "eth0": config is nil`, | ||
}, { | ||
conf: &dhcpsvc.Config{ | ||
Enabled: true, | ||
LocalDomainName: testLocalTLD, | ||
Interfaces: map[string]*dhcpsvc.InterfaceConfig{ | ||
"eth0": { | ||
IPv4: nil, | ||
IPv6: &dhcpsvc.IPv6Config{Enabled: false}, | ||
}, | ||
}, | ||
}, | ||
name: "nil_ipv4", | ||
wantErrMsg: `interface "eth0": ipv4: config is nil`, | ||
}, { | ||
conf: &dhcpsvc.Config{ | ||
Enabled: true, | ||
LocalDomainName: testLocalTLD, | ||
Interfaces: map[string]*dhcpsvc.InterfaceConfig{ | ||
"eth0": { | ||
IPv4: &dhcpsvc.IPv4Config{Enabled: false}, | ||
IPv6: nil, | ||
}, | ||
}, | ||
}, | ||
name: "nil_ipv6", | ||
wantErrMsg: `interface "eth0": ipv6: config is nil`, | ||
}} | ||
|
||
for _, tc := range testCases { | ||
t.Run(tc.name, func(t *testing.T) { | ||
testutil.AssertErrorMsg(t, tc.wantErrMsg, tc.conf.Validate()) | ||
}) | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package dhcpsvc | ||
|
||
import "github.com/AdguardTeam/golibs/errors" | ||
|
||
const ( | ||
// errNilConfig is returned when a nil config met. | ||
errNilConfig errors.Error = "config is nil" | ||
|
||
// errNoInterfaces is returned when no interfaces found in configuration. | ||
errNoInterfaces errors.Error = "no interfaces specified" | ||
) |
Oops, something went wrong.