mirror of
https://github.com/juanfont/headscale.git
synced 2024-11-30 02:43:05 +00:00
Integration tests for MagicDNS working
This commit is contained in:
parent
e60ceefea9
commit
ef0f7c0c09
3 changed files with 41 additions and 15 deletions
1
app.go
1
app.go
|
@ -116,7 +116,6 @@ func NewHeadscale(cfg Config) (*Headscale, error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Printf("dns: %+v\n", h.cfg.DNSConfig)
|
|
||||||
return &h, nil
|
return &h, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -589,7 +589,7 @@ func (s *IntegrationTestSuite) TestTailDrop() {
|
||||||
_, err = executeCommand(
|
_, err = executeCommand(
|
||||||
&tailscale,
|
&tailscale,
|
||||||
command,
|
command,
|
||||||
[]string{"ALL_PROXY=socks5://localhost:1055/"},
|
[]string{"ALL_PROXY=socks5://localhost:1055"},
|
||||||
)
|
)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
break
|
break
|
||||||
|
@ -642,18 +642,37 @@ func (s *IntegrationTestSuite) TestTailDrop() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// func (s *IntegrationTestSuite) TestMagicDNS() {
|
func (s *IntegrationTestSuite) TestMagicDNS() {
|
||||||
// for _, scales := range s.namespaces {
|
for namespace, scales := range s.namespaces {
|
||||||
// ips, err := getIPs(scales.tailscales)
|
ips, err := getIPs(scales.tailscales)
|
||||||
// assert.Nil(s.T(), err)
|
assert.Nil(s.T(), err)
|
||||||
// apiURLs, err := getAPIURLs(scales.tailscales)
|
for hostname, tailscale := range scales.tailscales {
|
||||||
// assert.Nil(s.T(), err)
|
for peername, ip := range ips {
|
||||||
|
s.T().Run(fmt.Sprintf("%s-%s", hostname, peername), func(t *testing.T) {
|
||||||
|
if peername != hostname {
|
||||||
|
command := []string{
|
||||||
|
"tailscale", "ping",
|
||||||
|
"--timeout=10s",
|
||||||
|
"--c=20",
|
||||||
|
"--until-direct=true",
|
||||||
|
fmt.Sprintf("%s.%s.headscale.net", peername, namespace),
|
||||||
|
}
|
||||||
|
|
||||||
// for hostname, tailscale := range scales.tailscales {
|
fmt.Printf("Pinging using Hostname (magicdns) from %s (%s) to %s (%s)\n", hostname, ips[hostname], peername, ip)
|
||||||
|
result, err := executeCommand(
|
||||||
// }
|
&tailscale,
|
||||||
// }
|
command,
|
||||||
// }
|
[]string{},
|
||||||
|
)
|
||||||
|
assert.Nil(t, err)
|
||||||
|
fmt.Printf("Result for %s: %s\n", hostname, result)
|
||||||
|
assert.Contains(t, result, "pong")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func getIPs(tailscales map[string]dockertest.Resource) (map[string]netaddr.IP, error) {
|
func getIPs(tailscales map[string]dockertest.Resource) (map[string]netaddr.IP, error) {
|
||||||
ips := make(map[string]netaddr.IP)
|
ips := make(map[string]netaddr.IP)
|
||||||
|
|
|
@ -7,5 +7,13 @@
|
||||||
"db_type": "sqlite3",
|
"db_type": "sqlite3",
|
||||||
"db_path": "/tmp/integration_test_db.sqlite3",
|
"db_path": "/tmp/integration_test_db.sqlite3",
|
||||||
"acl_policy_path": "",
|
"acl_policy_path": "",
|
||||||
"log_level": "debug"
|
"log_level": "debug",
|
||||||
|
"dns_config": {
|
||||||
|
"nameservers": [
|
||||||
|
"1.1.1.1"
|
||||||
|
],
|
||||||
|
"domains": [],
|
||||||
|
"magic_dns": true,
|
||||||
|
"base_domain": "headscale.net"
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue