Simplify plugin/pkg/fall (#1358)

* Simplify plugin/pkg/fall

* Remove unused import

* Fix fall_test

* Get fall coverage to 100% just because

* gofmt. sigh.
This commit is contained in:
John Belamaric
2018-01-07 14:51:32 -05:00
committed by GitHub
parent c6febe6250
commit c59f5f6e86
13 changed files with 117 additions and 142 deletions

View File

@@ -17,7 +17,7 @@ type Hosts struct {
Next plugin.Handler
*Hostsfile
Fall *fall.F
Fall fall.F
}
// ServeDNS implements the plugin.Handle interface.

View File

@@ -9,7 +9,6 @@ import (
"github.com/coredns/coredns/core/dnsserver"
"github.com/coredns/coredns/plugin"
"github.com/coredns/coredns/plugin/pkg/fall"
"github.com/mholt/caddy"
)
@@ -106,10 +105,9 @@ func hostsParse(c *caddy.Controller) (Hosts, error) {
for c.NextBlock() {
switch c.Val() {
case "fallthrough":
h.Fall = fall.New()
h.Fall.SetZones(c.RemainingArgs())
h.Fall.SetZonesFromArgs(c.RemainingArgs())
default:
if h.Fall.IsNil() {
if len(h.Fall.Zones) == 0 {
line := strings.Join(append([]string{c.Val()}, c.RemainingArgs()...), " ")
inline = append(inline, line)
continue

View File

@@ -14,48 +14,48 @@ func TestHostsParse(t *testing.T) {
shouldErr bool
expectedPath string
expectedOrigins []string
expectedFallthrough *fall.F
expectedFallthrough fall.F
}{
{
`hosts
`,
false, "/etc/hosts", nil, nil,
false, "/etc/hosts", nil, fall.Zero(),
},
{
`hosts /tmp`,
false, "/tmp", nil, nil,
false, "/tmp", nil, fall.Zero(),
},
{
`hosts /etc/hosts miek.nl.`,
false, "/etc/hosts", []string{"miek.nl."}, nil,
false, "/etc/hosts", []string{"miek.nl."}, fall.Zero(),
},
{
`hosts /etc/hosts miek.nl. pun.gent.`,
false, "/etc/hosts", []string{"miek.nl.", "pun.gent."}, nil,
false, "/etc/hosts", []string{"miek.nl.", "pun.gent."}, fall.Zero(),
},
{
`hosts {
fallthrough
}`,
false, "/etc/hosts", nil, fall.Zero(),
false, "/etc/hosts", nil, fall.Root(),
},
{
`hosts /tmp {
fallthrough
}`,
false, "/tmp", nil, fall.Zero(),
false, "/tmp", nil, fall.Root(),
},
{
`hosts /etc/hosts miek.nl. {
fallthrough
}`,
false, "/etc/hosts", []string{"miek.nl."}, fall.Zero(),
false, "/etc/hosts", []string{"miek.nl."}, fall.Root(),
},
{
`hosts /etc/hosts miek.nl 10.0.0.9/8 {
fallthrough
}`,
false, "/etc/hosts", []string{"miek.nl.", "10.in-addr.arpa."}, fall.Zero(),
false, "/etc/hosts", []string{"miek.nl.", "10.in-addr.arpa."}, fall.Root(),
},
}
@@ -92,7 +92,7 @@ func TestHostsInlineParse(t *testing.T) {
inputFileRules string
shouldErr bool
expectedbyAddr map[string][]string
expectedFallthrough *fall.F
expectedFallthrough fall.F
}{
{
`hosts highly_unlikely_to_exist_hosts_file example.org {
@@ -105,7 +105,7 @@ func TestHostsInlineParse(t *testing.T) {
`example.org.`,
},
},
fall.Zero(),
fall.Root(),
},
{
`hosts highly_unlikely_to_exist_hosts_file example.org {
@@ -117,7 +117,7 @@ func TestHostsInlineParse(t *testing.T) {
`example.org.`,
},
},
nil,
fall.Zero(),
},
{
`hosts highly_unlikely_to_exist_hosts_file example.org {
@@ -126,14 +126,13 @@ func TestHostsInlineParse(t *testing.T) {
}`,
true,
map[string][]string{},
fall.Zero(),
fall.Root(),
},
}
for i, test := range tests {
c := caddy.NewTestController("dns", test.inputFileRules)
h, err := hostsParse(c)
if err == nil && test.shouldErr {
t.Fatalf("Test %d expected errors, but got no error", i)
} else if err != nil && !test.shouldErr {