discovery/xds: make each test use separate HTTP resource config

So tests can run in parallel without races.

Signed-off-by: Mateusz Gozdek <mgozdekof@gmail.com>
This commit is contained in:
Mateusz Gozdek 2021-10-25 09:20:05 +02:00 committed by Julien Pivotto
parent fedcb8999b
commit 4ef8c7c1d8

View file

@ -26,15 +26,17 @@ import (
"google.golang.org/protobuf/types/known/anypb" "google.golang.org/protobuf/types/known/anypb"
) )
var httpResourceConf = &HTTPResourceClientConfig{ func testHTTPResourceConfig() *HTTPResourceClientConfig {
HTTPClientConfig: config.HTTPClientConfig{ return &HTTPResourceClientConfig{
TLSConfig: config.TLSConfig{InsecureSkipVerify: true}, HTTPClientConfig: config.HTTPClientConfig{
}, TLSConfig: config.TLSConfig{InsecureSkipVerify: true},
ResourceType: "monitoring", },
// Some known type. ResourceType: "monitoring",
ResourceTypeURL: "type.googleapis.com/envoy.service.discovery.v3.DiscoveryRequest", // Some known type.
Server: "http://localhost", ResourceTypeURL: "type.googleapis.com/envoy.service.discovery.v3.DiscoveryRequest",
ClientID: "test-id", Server: "http://localhost",
ClientID: "test-id",
}
} }
func urlMustParse(str string) *url.URL { func urlMustParse(str string) *url.URL {
@ -106,7 +108,7 @@ func createTestHTTPResourceClient(t *testing.T, conf *HTTPResourceClientConfig,
} }
func TestHTTPResourceClientFetchEmptyResponse(t *testing.T) { func TestHTTPResourceClientFetchEmptyResponse(t *testing.T) {
client, cleanup := createTestHTTPResourceClient(t, httpResourceConf, ProtocolV3, func(request *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) { client, cleanup := createTestHTTPResourceClient(t, testHTTPResourceConfig(), ProtocolV3, func(request *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) {
return nil, nil return nil, nil
}) })
defer cleanup() defer cleanup()
@ -117,7 +119,7 @@ func TestHTTPResourceClientFetchEmptyResponse(t *testing.T) {
} }
func TestHTTPResourceClientFetchFullResponse(t *testing.T) { func TestHTTPResourceClientFetchFullResponse(t *testing.T) {
client, cleanup := createTestHTTPResourceClient(t, httpResourceConf, ProtocolV3, func(request *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) { client, cleanup := createTestHTTPResourceClient(t, testHTTPResourceConfig(), ProtocolV3, func(request *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) {
if request.VersionInfo == "1" { if request.VersionInfo == "1" {
return nil, nil return nil, nil
} }
@ -146,7 +148,7 @@ func TestHTTPResourceClientFetchFullResponse(t *testing.T) {
} }
func TestHTTPResourceClientServerError(t *testing.T) { func TestHTTPResourceClientServerError(t *testing.T) {
client, cleanup := createTestHTTPResourceClient(t, httpResourceConf, ProtocolV3, func(request *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) { client, cleanup := createTestHTTPResourceClient(t, testHTTPResourceConfig(), ProtocolV3, func(request *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) {
return nil, errors.New("server error") return nil, errors.New("server error")
}) })
defer cleanup() defer cleanup()