github.com/sl1pm4t/consul@v1.4.5-0.20190325224627-74c31c540f9c/agent/structs/testing_connect_proxy_config.go (about) 1 package structs 2 3 import "github.com/mitchellh/go-testing-interface" 4 5 // TestConnectProxyConfig returns a ConnectProxyConfig representing a valid 6 // Connect proxy. 7 func TestConnectProxyConfig(t testing.T) ConnectProxyConfig { 8 return ConnectProxyConfig{ 9 DestinationServiceName: "web", 10 Upstreams: TestUpstreams(t), 11 } 12 } 13 14 // TestUpstreams returns a set of upstreams to be used in tests exercising most 15 // important configuration patterns. 16 func TestUpstreams(t testing.T) Upstreams { 17 return Upstreams{ 18 { 19 // We rely on this one having default type in a few tests... 20 DestinationName: "db", 21 LocalBindPort: 9191, 22 Config: map[string]interface{}{ 23 // Float because this is how it is decoded by JSON decoder so this 24 // enables the value returned to be compared directly to a decoded JSON 25 // response without spurios type loss. 26 "connect_timeout_ms": float64(1000), 27 }, 28 }, 29 { 30 DestinationType: UpstreamDestTypePreparedQuery, 31 DestinationName: "geo-cache", 32 LocalBindPort: 8181, 33 LocalBindAddress: "127.10.10.10", 34 }, 35 } 36 } 37 38 // TestAddDefaultsToUpstreams takes an array of upstreams (such as that from 39 // TestUpstreams) and adds default values that are populated during 40 // refigistration. Use this for generating the expected Upstreams value after 41 // registration. 42 func TestAddDefaultsToUpstreams(t testing.T, upstreams []Upstream) Upstreams { 43 ups := make([]Upstream, len(upstreams)) 44 for i := range upstreams { 45 ups[i] = upstreams[i] 46 // Fill in default fields we expect to have back explicitly in a response 47 if ups[i].DestinationType == "" { 48 ups[i].DestinationType = UpstreamDestTypeService 49 } 50 } 51 return ups 52 }