dnsbl_test.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package dnsbl
  2. import (
  3. "fmt"
  4. "net"
  5. "os"
  6. "testing"
  7. )
  8. func TestReverse4(t *testing.T) {
  9. cases := []struct {
  10. inp, out string
  11. }{
  12. {"1.2.3.4", "4.3.2.1"},
  13. }
  14. for _, cs := range cases {
  15. t.Run(fmt.Sprintf("%s->%s", cs.inp, cs.out), func(t *testing.T) {
  16. out := reverse4(net.ParseIP(cs.inp))
  17. if out != cs.out {
  18. t.Errorf("wanted %s\ngot: %s", cs.out, out)
  19. }
  20. })
  21. }
  22. }
  23. func TestReverse6(t *testing.T) {
  24. cases := []struct {
  25. inp, out string
  26. }{
  27. {
  28. inp: "1234:5678:9ABC:DEF0:1234:5678:9ABC:DEF0",
  29. out: "0.f.e.d.c.b.a.9.8.7.6.5.4.3.2.1.0.f.e.d.c.b.a.9.8.7.6.5.4.3.2.1",
  30. },
  31. }
  32. for _, cs := range cases {
  33. t.Run(fmt.Sprintf("%s->%s", cs.inp, cs.out), func(t *testing.T) {
  34. out := reverse6(net.ParseIP(cs.inp))
  35. if out != cs.out {
  36. t.Errorf("wanted %s, got: %s", cs.out, out)
  37. }
  38. })
  39. }
  40. }
  41. func TestLookup(t *testing.T) {
  42. if os.Getenv("DONT_USE_NETWORK") != "" {
  43. t.Skip("test requires network egress")
  44. return
  45. }
  46. resp, err := Lookup("27.65.243.194")
  47. if err != nil {
  48. t.Fatalf("it broked: %v", err)
  49. }
  50. t.Logf("response: %d", resp)
  51. }