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