@@ -205,6 +205,44 @@ func TestTranslateProxy(t *testing.T) {
205
205
}
206
206
}
207
207
208
+ func TestTranslateProxyV2 (t * testing.T ) {
209
+ discoveredLabels := labels.Labels {
210
+ {"__meta_kubernetes_pod_label_type_proxy_v2" , "true" },
211
+ {ProjectIDLabel , "my-project" },
212
+ {KubernetesLocationLabel , "us-central1-a" },
213
+ }
214
+ metricLabels := labels.Labels {
215
+ {"proxy_name" , "my-name" },
216
+ {"org" , "my-org" },
217
+ {"env" , "my-env" },
218
+ {"runtime_version" , "my-revision" },
219
+ {"instance_id" , "my-instance" },
220
+ {"extra_label" , "my-label" },
221
+ }
222
+ expectedLabels := map [string ]string {
223
+ "resource_container" : "my-project" ,
224
+ "location" : "us-central1-a" ,
225
+ "org" : "my-org" ,
226
+ "env" : "my-env" ,
227
+ "proxy_name" : "my-name" ,
228
+ "runtime_version" : "my-revision" ,
229
+ "instance_id" : "my-instance" ,
230
+ }
231
+ expectedFinalLabels := labels.Labels {
232
+ {"extra_label" , "my-label" },
233
+ }
234
+ if labels , finalLabels := ProxyV2ResourceMap .Translate (discoveredLabels , metricLabels ); labels == nil {
235
+ t .Errorf ("Expected %v, actual nil" , expectedLabels )
236
+ } else {
237
+ if diff := cmp .Diff (expectedLabels , labels ); len (diff ) > 0 {
238
+ t .Error (diff )
239
+ }
240
+ if diff := cmp .Diff (expectedFinalLabels , finalLabels ); len (diff ) > 0 {
241
+ t .Error (diff )
242
+ }
243
+ }
244
+ }
245
+
208
246
func (m * ResourceMapList ) getByType (t string ) (* ResourceMap , bool ) {
209
247
for _ , m := range * m {
210
248
if m .Type == t {
@@ -236,6 +274,7 @@ func TestResourceMappingsOrder(t *testing.T) {
236
274
{"k8s_pod" , "k8s_node" },
237
275
{"k8s_node" , "gce_instance" },
238
276
{"k8s_node" , "aws_ec2_instance" },
277
+ {"apigee.googleapis.com/ProxyV2" , "k8s_container" },
239
278
{"apigee.googleapis.com/Proxy" , "k8s_container" },
240
279
{"apigee.googleapis.com/Devapp" , "k8s_container" },
241
280
}
0 commit comments