websvc: add test; imp names, docs
This commit is contained in:
61
internal/v1/websvc/settings_test.go
Normal file
61
internal/v1/websvc/settings_test.go
Normal file
@@ -0,0 +1,61 @@
|
||||
package websvc_test
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
"net/netip"
|
||||
"net/url"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/AdguardTeam/AdGuardHome/internal/v1/dnssvc"
|
||||
"github.com/AdguardTeam/AdGuardHome/internal/v1/websvc"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestService_HandleGetSettingsAll(t *testing.T) {
|
||||
// TODO(a.garipov): Add all currently supported parameters.
|
||||
|
||||
dnsAddrs := []netip.AddrPort{netip.MustParseAddrPort("127.0.0.1:53")}
|
||||
upsSrvs := []string{"94.140.14.14", "1.1.1.1"}
|
||||
|
||||
webAddrs := []netip.AddrPort{netip.MustParseAddrPort("127.0.0.1:80")}
|
||||
const webTimeout = 5 * time.Second
|
||||
|
||||
confMgr := newConfigManager()
|
||||
confMgr.onDNS = func() (c *dnssvc.Service) {
|
||||
c, err := dnssvc.New(&dnssvc.Config{
|
||||
Addresses: dnsAddrs,
|
||||
UpstreamServers: upsSrvs,
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
return c
|
||||
}
|
||||
|
||||
confMgr.onWeb = func() (c *websvc.Service) {
|
||||
return websvc.New(&websvc.Config{
|
||||
Addresses: webAddrs,
|
||||
Timeout: webTimeout,
|
||||
})
|
||||
}
|
||||
|
||||
_, addr := newTestServer(t, confMgr)
|
||||
u := &url.URL{
|
||||
Scheme: "http",
|
||||
Host: addr.String(),
|
||||
Path: websvc.PathV1SettingsAll,
|
||||
}
|
||||
|
||||
body := httpGet(t, u, http.StatusOK)
|
||||
resp := &websvc.RespGetV1SettingsAll{}
|
||||
err := json.Unmarshal(body, resp)
|
||||
require.NoError(t, err)
|
||||
|
||||
assert.Equal(t, dnsAddrs, resp.DNS.Addresses)
|
||||
assert.Equal(t, upsSrvs, resp.DNS.UpstreamServers)
|
||||
|
||||
assert.Equal(t, webAddrs, resp.HTTP.Addresses)
|
||||
assert.Equal(t, webTimeout, resp.HTTP.Timeout.Duration)
|
||||
}
|
||||
Reference in New Issue
Block a user