iface_windows_test.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. // +build windows
  2. // Copyright 2017 flannel authors
  3. //
  4. // Licensed under the Apache License, Version 2.0 (the "License");
  5. // you may not use this file except in compliance with the License.
  6. // You may obtain a copy of the License at
  7. //
  8. // http://www.apache.org/licenses/LICENSE-2.0
  9. //
  10. // Unless required by applicable law or agreed to in writing, software
  11. // distributed under the License is distributed on an "AS IS" BASIS,
  12. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. // See the License for the specific language governing permissions and
  14. // limitations under the License.
  15. package ip
  16. import (
  17. "testing"
  18. )
  19. func TestGetInterfaceIP4Addr(t *testing.T) {
  20. iface, err := GetDefaultGatewayInterface()
  21. if err != nil {
  22. t.Fatal(err)
  23. }
  24. _, err = GetInterfaceIP4Addr(iface)
  25. if err != nil {
  26. t.Fatal(err)
  27. }
  28. }
  29. func TestGetDefaultGatewayInterface(t *testing.T) {
  30. _, err := GetDefaultGatewayInterface()
  31. if err != nil {
  32. t.Fatal(err)
  33. }
  34. }
  35. func TestGetInterfaceByIP(t *testing.T) {
  36. defaultIface, err := GetDefaultGatewayInterface() // use default gateway interface for test
  37. if err != nil {
  38. t.Fatal(err)
  39. }
  40. defaultIpv4Addr, err := GetInterfaceIP4Addr(defaultIface)
  41. if err != nil {
  42. t.Fatal(err)
  43. }
  44. iface, err := GetInterfaceByIP(defaultIpv4Addr)
  45. if err != nil {
  46. t.Fatal(err)
  47. }
  48. if iface.Index != defaultIface.Index {
  49. t.Fatalf("iface.Index(%d) != defaultIface.Index(%d)", iface.Index, defaultIface.Index)
  50. }
  51. }
  52. func TestEnableForwardingForInterface(t *testing.T) {
  53. iface, err := GetDefaultGatewayInterface() // use default gateway interface for test
  54. if err != nil {
  55. t.Fatal(err)
  56. }
  57. err = EnableForwardingForInterface(iface)
  58. if err != nil {
  59. t.Fatal(err)
  60. }
  61. defer func() { _ = DisableForwardingForInterface(iface) }() // try to reset forwarding
  62. enabled, err := IsForwardingEnabledForInterface(iface)
  63. if err != nil {
  64. t.Fatal(err)
  65. }
  66. if !enabled {
  67. t.Fatal("enabled == false")
  68. }
  69. }