github.com/zhuohuang-hust/src-cbuild@v0.0.0-20230105071821-c7aab3e7c840/mergeCode/libnetwork/drivers/bridge/resolvconf_test.go (about)

     1  package bridge
     2  
     3  import (
     4  	"bytes"
     5  	"testing"
     6  )
     7  
     8  func TestResolveConfRead(t *testing.T) {
     9  	b, err := readResolvConf()
    10  	if err != nil {
    11  		t.Fatalf("Failed to read resolv.conf: %v", err)
    12  	}
    13  
    14  	if b == nil {
    15  		t.Fatal("Reading resolv.conf returned no content")
    16  	}
    17  }
    18  
    19  func TestResolveConfReadLines(t *testing.T) {
    20  	commentChar := []byte("#")
    21  
    22  	b, _ := readResolvConf()
    23  	lines := getLines(b, commentChar)
    24  	if lines == nil {
    25  		t.Fatal("Failed to read resolv.conf lines")
    26  	}
    27  
    28  	for _, line := range lines {
    29  		if bytes.Index(line, commentChar) != -1 {
    30  			t.Fatal("Returned comment content from resolv.conf")
    31  		}
    32  	}
    33  }
    34  
    35  func TestResolvConfNameserversAsCIDR(t *testing.T) {
    36  	resolvConf := `# Commented line
    37  nameserver 1.2.3.4
    38  
    39  nameserver 5.6.7.8 # Test
    40  `
    41  
    42  	cidrs := getNameserversAsCIDR([]byte(resolvConf))
    43  	if expected := 2; len(cidrs) != expected {
    44  		t.Fatalf("Expected %d nameservers, got %d", expected, len(cidrs))
    45  	}
    46  
    47  	expected := []string{"1.2.3.4/32", "5.6.7.8/32"}
    48  	for i, exp := range expected {
    49  		if cidrs[i] != exp {
    50  			t.Fatalf("Expected nameservers %s, got %s", exp, cidrs[i])
    51  		}
    52  	}
    53  }