etchosts_test.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. package etchosts
  2. import (
  3. "bytes"
  4. "io/ioutil"
  5. "os"
  6. "testing"
  7. )
  8. func TestBuildHostnameDomainname(t *testing.T) {
  9. file, err := ioutil.TempFile("", "")
  10. if err != nil {
  11. t.Fatal(err)
  12. }
  13. defer os.Remove(file.Name())
  14. err = Build(file.Name(), "10.11.12.13", "testhostname", "testdomainname", nil)
  15. if err != nil {
  16. t.Fatal(err)
  17. }
  18. content, err := ioutil.ReadFile(file.Name())
  19. if err != nil {
  20. t.Fatal(err)
  21. }
  22. if expected := "10.11.12.13\ttesthostname.testdomainname testhostname\n"; !bytes.Contains(content, []byte(expected)) {
  23. t.Fatalf("Expected to find '%s' got '%s'", expected, content)
  24. }
  25. }
  26. func TestBuildHostname(t *testing.T) {
  27. file, err := ioutil.TempFile("", "")
  28. if err != nil {
  29. t.Fatal(err)
  30. }
  31. defer os.Remove(file.Name())
  32. err = Build(file.Name(), "10.11.12.13", "testhostname", "", nil)
  33. if err != nil {
  34. t.Fatal(err)
  35. }
  36. content, err := ioutil.ReadFile(file.Name())
  37. if err != nil {
  38. t.Fatal(err)
  39. }
  40. if expected := "10.11.12.13\ttesthostname\n"; !bytes.Contains(content, []byte(expected)) {
  41. t.Fatalf("Expected to find '%s' got '%s'", expected, content)
  42. }
  43. }
  44. func TestBuildNoIP(t *testing.T) {
  45. file, err := ioutil.TempFile("", "")
  46. if err != nil {
  47. t.Fatal(err)
  48. }
  49. defer os.Remove(file.Name())
  50. err = Build(file.Name(), "", "testhostname", "", nil)
  51. if err != nil {
  52. t.Fatal(err)
  53. }
  54. content, err := ioutil.ReadFile(file.Name())
  55. if err != nil {
  56. t.Fatal(err)
  57. }
  58. if expected := ""; !bytes.Contains(content, []byte(expected)) {
  59. t.Fatalf("Expected to find '%s' got '%s'", expected, content)
  60. }
  61. }
  62. func TestUpdate(t *testing.T) {
  63. file, err := ioutil.TempFile("", "")
  64. if err != nil {
  65. t.Fatal(err)
  66. }
  67. defer os.Remove(file.Name())
  68. if err := Build(file.Name(), "10.11.12.13", "testhostname", "testdomainname", nil); err != nil {
  69. t.Fatal(err)
  70. }
  71. content, err := ioutil.ReadFile(file.Name())
  72. if err != nil {
  73. t.Fatal(err)
  74. }
  75. if expected := "10.11.12.13\ttesthostname.testdomainname testhostname\n"; !bytes.Contains(content, []byte(expected)) {
  76. t.Fatalf("Expected to find '%s' got '%s'", expected, content)
  77. }
  78. if err := Update(file.Name(), "1.1.1.1", "testhostname"); err != nil {
  79. t.Fatal(err)
  80. }
  81. content, err = ioutil.ReadFile(file.Name())
  82. if err != nil {
  83. t.Fatal(err)
  84. }
  85. if expected := "1.1.1.1\ttesthostname.testdomainname testhostname\n"; !bytes.Contains(content, []byte(expected)) {
  86. t.Fatalf("Expected to find '%s' got '%s'", expected, content)
  87. }
  88. }