mirror of https://github.com/k3s-io/k3s
Add test for `isValidResolvConf` (#10302)
Signed-off-by: Francisco <francisco.moral@suse.com>pull/10334/head
parent
013ec43b02
commit
12864fb665
|
@ -0,0 +1,40 @@
|
|||
package config
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func Test_isValidResolvConf(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
fileContent string
|
||||
expectedResult bool
|
||||
}{
|
||||
{name: "Valid ResolvConf", fileContent: "nameserver 8.8.8.8\nnameserver 2001:4860:4860::8888\n", expectedResult: true},
|
||||
{name: "Invalid ResolvConf", fileContent: "nameserver 999.999.999.999\nnameserver not.an.ip\n", expectedResult: false},
|
||||
{name: "Wrong Nameserver", fileContent: "search example.com\n", expectedResult: false},
|
||||
{name: "One valid nameserver", fileContent: "test test.com\nnameserver 8.8.8.8", expectedResult: true},
|
||||
{name: "Non GlobalUnicast", fileContent: "nameserver ::1\nnameserver 169.254.0.1\nnameserver fe80::1\n", expectedResult: false},
|
||||
{name: "Empty File", fileContent: "", expectedResult: false},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
tmpfile, err := os.CreateTemp("", "resolv.conf")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer os.Remove(tmpfile.Name())
|
||||
|
||||
if _, err := tmpfile.WriteString(tt.fileContent); err != nil {
|
||||
t.Errorf("error writing to file: %v with content: %v", tmpfile.Name(), tt.fileContent)
|
||||
}
|
||||
|
||||
res := isValidResolvConf(tmpfile.Name())
|
||||
if res != tt.expectedResult {
|
||||
t.Errorf("isValidResolvConf(%s) = %v; want %v", tt.name, res, tt.expectedResult)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue