resolvconf_test.go 1.1 KB

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