package reverseproxy import "testing" func TestResolveIpVersion(t *testing.T) { falseBool := false trueBool := true tests := []struct { Versions *IPVersions expectedIpVersion string }{ { Versions: &IPVersions{IPv4: &trueBool}, expectedIpVersion: "ip4", }, { Versions: &IPVersions{IPv4: &falseBool}, expectedIpVersion: "ip", }, { Versions: &IPVersions{IPv4: &trueBool, IPv6: &falseBool}, expectedIpVersion: "ip4", }, { Versions: &IPVersions{IPv6: &trueBool}, expectedIpVersion: "ip6", }, { Versions: &IPVersions{IPv6: &falseBool}, expectedIpVersion: "ip", }, { Versions: &IPVersions{IPv6: &trueBool, IPv4: &falseBool}, expectedIpVersion: "ip6", }, { Versions: &IPVersions{}, expectedIpVersion: "ip", }, { Versions: &IPVersions{IPv4: &trueBool, IPv6: &trueBool}, expectedIpVersion: "ip", }, { Versions: &IPVersions{IPv4: &falseBool, IPv6: &falseBool}, expectedIpVersion: "ip", }, } for _, test := range tests { ipVersion := resolveIpVersion(test.Versions) if ipVersion != test.expectedIpVersion { t.Errorf("resolveIpVersion(): Expected %s got %s", test.expectedIpVersion, ipVersion) } } }