xds: Move test only utility method to testutils. (#3715)
diff --git a/xds/internal/balancer/lrs/lrs_test.go b/xds/internal/balancer/lrs/lrs_test.go
index 09b22ac..b18c3d7 100644
--- a/xds/internal/balancer/lrs/lrs_test.go
+++ b/xds/internal/balancer/lrs/lrs_test.go
@@ -39,6 +39,7 @@
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
"google.golang.org/grpc/xds/internal"
+ "google.golang.org/grpc/xds/internal/testutils"
)
const (
@@ -286,7 +287,7 @@
)
}
upstreamLocalityStats = append(upstreamLocalityStats, &endpointpb.UpstreamLocalityStats{
- Locality: l.ToProto(),
+ Locality: testutils.LocalityIDToProto(l),
TotalSuccessfulRequests: count.success,
TotalRequestsInProgress: tempInProgress,
TotalErrorRequests: count.failure,
@@ -298,7 +299,7 @@
for l, c := range inProgressCounts {
if _, ok := counts[l]; !ok {
upstreamLocalityStats = append(upstreamLocalityStats, &endpointpb.UpstreamLocalityStats{
- Locality: l.ToProto(),
+ Locality: testutils.LocalityIDToProto(l),
TotalRequestsInProgress: c,
})
}
diff --git a/xds/internal/internal.go b/xds/internal/internal.go
index b2c9800..8b17cf9 100644
--- a/xds/internal/internal.go
+++ b/xds/internal/internal.go
@@ -21,8 +21,6 @@
import (
"fmt"
-
- corepb "github.com/envoyproxy/go-control-plane/envoy/api/v2/core"
)
type clientID string
@@ -49,12 +47,3 @@
func (l LocalityID) String() string {
return fmt.Sprintf("%s-%s-%s", l.Region, l.Zone, l.SubZone)
}
-
-// ToProto convert Locality to the proto representation.
-func (l LocalityID) ToProto() *corepb.Locality {
- return &corepb.Locality{
- Region: l.Region,
- Zone: l.Zone,
- SubZone: l.SubZone,
- }
-}
diff --git a/xds/internal/testutils/locality.go b/xds/internal/testutils/locality.go
new file mode 100644
index 0000000..a4e4cc5
--- /dev/null
+++ b/xds/internal/testutils/locality.go
@@ -0,0 +1,32 @@
+/*
+ *
+ * Copyright 2020 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package testutils
+
+import (
+ corepb "github.com/envoyproxy/go-control-plane/envoy/api/v2/core"
+ "google.golang.org/grpc/xds/internal"
+)
+
+// LocalityIDToProto converts a LocalityID to its proto representation.
+func LocalityIDToProto(l internal.LocalityID) *corepb.Locality {
+ return &corepb.Locality{
+ Region: l.Region,
+ Zone: l.Zone,
+ SubZone: l.SubZone,
+ }
+}