Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
lima-vm
GitHub Repository: lima-vm/lima
Path: blob/master/pkg/networks/usernet/gvproxy_test.go
2621 views
1
// SPDX-FileCopyrightText: Copyright The Lima Authors
2
// SPDX-License-Identifier: Apache-2.0
3
4
package usernet
5
6
import (
7
"bufio"
8
"os"
9
"path"
10
"testing"
11
12
"gotest.tools/v3/assert"
13
)
14
15
func TestSearchDomain(t *testing.T) {
16
t.Run("search domain", func(t *testing.T) {
17
resolvFile := path.Join(t.TempDir(), "resolv.conf")
18
createResolveFile(t, resolvFile, `
19
search test.com lima.net
20
nameserver 192.168.0.100
21
nameserver 8.8.8.8`)
22
23
dns := resolveSearchDomain(resolvFile)
24
assert.DeepEqual(t, dns, []string{"test.com", "lima.net"})
25
})
26
27
t.Run("empty search domain", func(t *testing.T) {
28
resolvFile := path.Join(t.TempDir(), "resolv.conf")
29
createResolveFile(t, resolvFile, `
30
nameserver 192.168.0.100
31
nameserver 8.8.8.8`)
32
33
dns := resolveSearchDomain(resolvFile)
34
var expected []string
35
assert.DeepEqual(t, dns, expected)
36
})
37
}
38
39
func createResolveFile(t *testing.T, file, content string) {
40
f, err := os.Create(file)
41
assert.NilError(t, err)
42
t.Cleanup(func() { _ = f.Close() })
43
writer := bufio.NewWriter(f)
44
_, err = writer.WriteString(content)
45
assert.NilError(t, err)
46
err = writer.Flush()
47
assert.NilError(t, err)
48
}
49
50