| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | 
							- package nebula
 
- import (
 
- 	"net/netip"
 
- 	"testing"
 
- 	"github.com/miekg/dns"
 
- 	"github.com/sirupsen/logrus"
 
- 	"github.com/slackhq/nebula/config"
 
- 	"github.com/stretchr/testify/assert"
 
- )
 
- func TestParsequery(t *testing.T) {
 
- 	l := logrus.New()
 
- 	hostMap := &HostMap{}
 
- 	ds := newDnsRecords(l, &CertState{}, hostMap)
 
- 	addrs := []netip.Addr{
 
- 		netip.MustParseAddr("1.2.3.4"),
 
- 		netip.MustParseAddr("1.2.3.5"),
 
- 		netip.MustParseAddr("fd01::24"),
 
- 		netip.MustParseAddr("fd01::25"),
 
- 	}
 
- 	ds.Add("test.com.com", addrs)
 
- 	m := &dns.Msg{}
 
- 	m.SetQuestion("test.com.com", dns.TypeA)
 
- 	ds.parseQuery(m, nil)
 
- 	assert.NotNil(t, m.Answer)
 
- 	assert.Equal(t, "1.2.3.4", m.Answer[0].(*dns.A).A.String())
 
- 	m = &dns.Msg{}
 
- 	m.SetQuestion("test.com.com", dns.TypeAAAA)
 
- 	ds.parseQuery(m, nil)
 
- 	assert.NotNil(t, m.Answer)
 
- 	assert.Equal(t, "fd01::24", m.Answer[0].(*dns.AAAA).AAAA.String())
 
- }
 
- func Test_getDnsServerAddr(t *testing.T) {
 
- 	c := config.NewC(nil)
 
- 	c.Settings["lighthouse"] = map[string]any{
 
- 		"dns": map[string]any{
 
- 			"host": "0.0.0.0",
 
- 			"port": "1",
 
- 		},
 
- 	}
 
- 	assert.Equal(t, "0.0.0.0:1", getDnsServerAddr(c))
 
- 	c.Settings["lighthouse"] = map[string]any{
 
- 		"dns": map[string]any{
 
- 			"host": "::",
 
- 			"port": "1",
 
- 		},
 
- 	}
 
- 	assert.Equal(t, "[::]:1", getDnsServerAddr(c))
 
- 	c.Settings["lighthouse"] = map[string]any{
 
- 		"dns": map[string]any{
 
- 			"host": "[::]",
 
- 			"port": "1",
 
- 		},
 
- 	}
 
- 	assert.Equal(t, "[::]:1", getDnsServerAddr(c))
 
- 	// Make sure whitespace doesn't mess us up
 
- 	c.Settings["lighthouse"] = map[string]any{
 
- 		"dns": map[string]any{
 
- 			"host": "[::] ",
 
- 			"port": "1",
 
- 		},
 
- 	}
 
- 	assert.Equal(t, "[::]:1", getDnsServerAddr(c))
 
- }
 
 
  |