package gre import "testing" func TestValidateGRE(t *testing.T) { cfg, err := New().Validate(map[string]interface{}{ "local_endpoint": "198.51.100.10", "remote_endpoint": "203.0.113.20", "local_tunnel_ip": "10.255.0.1/30", "remote_tunnel_ip": "10.255.0.2/30", "remote_subnet": "192.168.10.0/24", }) if err != nil { t.Fatal(err) } if cfg["ttl"] != 255 || cfg["mtu"] != 1476 { t.Fatalf("defaults not applied: %#v", cfg) } } func TestValidateGRERejectsDifferentTunnelNetworks(t *testing.T) { _, err := New().Validate(map[string]interface{}{ "local_endpoint": "198.51.100.10", "remote_endpoint": "203.0.113.20", "local_tunnel_ip": "10.255.0.1/30", "remote_tunnel_ip": "10.255.1.2/30", }) if err == nil { t.Fatal("expected tunnel subnet validation error") } }