mirror of
https://github.com/AdguardTeam/AdGuardHome.git
synced 2024-11-26 06:55:48 +03:00
a7f9e0122b
Updates #2393. Squashed commit of the following: commit 87034134e240480938cdeec14d6b44294bf6442c Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Thu Mar 25 15:48:46 2021 +0300 dnsforward: fix commit abf3a1ce8ed7a148d1cc631007fb0422f6da4ae6 Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Thu Mar 25 15:21:11 2021 +0300 dnsforward: imp code, validation commit fac389bdafc093ce17a7e0831166b89293b550be Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Thu Mar 25 14:54:45 2021 +0300 all: add validation, imp docs, tests commit 21b4532afe59f3b89383cb330c9a7d49ec124b6e Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Wed Mar 24 19:09:43 2021 +0300 all: custom autohost tlds
45 lines
1.1 KiB
Go
45 lines
1.1 KiB
Go
package home
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/AdguardTeam/AdGuardHome/internal/dnsforward"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func prepareTestDNSServer(t *testing.T) {
|
|
t.Helper()
|
|
|
|
config.DNS.Port = 1234
|
|
|
|
var err error
|
|
Context.dnsServer, err = dnsforward.NewServer(dnsforward.DNSCreateParams{})
|
|
require.NoError(t, err)
|
|
|
|
conf := &dnsforward.ServerConfig{}
|
|
conf.UpstreamDNS = []string{"8.8.8.8"}
|
|
|
|
err = Context.dnsServer.Prepare(conf)
|
|
require.NoError(t, err)
|
|
}
|
|
|
|
// TODO(e.burkov): It's kind of complicated to get rid of network access in this
|
|
// test. The thing is that *Whois creates new *net.Dialer each time it requests
|
|
// the server, so it becomes hard to simulate handling of request from test even
|
|
// with substituted upstream. However, it must be done.
|
|
func TestWhois(t *testing.T) {
|
|
prepareTestDNSServer(t)
|
|
|
|
w := Whois{timeoutMsec: 5000}
|
|
resp, err := w.queryAll(context.Background(), "8.8.8.8")
|
|
assert.NoError(t, err)
|
|
|
|
m := whoisParse(resp)
|
|
require.NotEmpty(t, m)
|
|
|
|
assert.Equal(t, "Google LLC", m["orgname"])
|
|
assert.Equal(t, "US", m["country"])
|
|
assert.Equal(t, "Mountain View", m["city"])
|
|
}
|