@@ -205,6 +205,44 @@ func TestTranslateProxy(t *testing.T) {
205205 }
206206}
207207
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+
208246func (m * ResourceMapList ) getByType (t string ) (* ResourceMap , bool ) {
209247 for _ , m := range * m {
210248 if m .Type == t {
@@ -236,6 +274,7 @@ func TestResourceMappingsOrder(t *testing.T) {
236274 {"k8s_pod" , "k8s_node" },
237275 {"k8s_node" , "gce_instance" },
238276 {"k8s_node" , "aws_ec2_instance" },
277+ {"apigee.googleapis.com/ProxyV2" , "k8s_container" },
239278 {"apigee.googleapis.com/Proxy" , "k8s_container" },
240279 {"apigee.googleapis.com/Devapp" , "k8s_container" },
241280 }
0 commit comments