@Test public void setResourceForBuilder_K8sInstanceType() { MonitoredResource.Builder monitoredResourceBuilder = DEFAULT_RESOURCE_WITH_PROJECT_ID.clone(); Map<String, String> resourceLabels = new HashMap<String, String>(); resourceLabels.put(GcpGceInstanceResource.ZONE_KEY, "zone1"); resourceLabels.put(GcpGceInstanceResource.INSTANCE_ID_KEY, "instance1"); resourceLabels.put(K8sContainerResource.CLUSTER_NAME_KEY, "cluster1"); resourceLabels.put(K8sContainerResource.CONTAINER_NAME_KEY, "container1"); resourceLabels.put(K8sContainerResource.NAMESPACE_NAME_KEY, "namespace1"); resourceLabels.put(K8sContainerResource.POD_NAME_KEY, "pod1"); resourceLabels.put("extra_key", "must be ignored"); Map<String, String> expectedResourceLabels = new HashMap<String, String>(); expectedResourceLabels.put("project_id", "proj1"); expectedResourceLabels.put("location", "zone1"); expectedResourceLabels.put("instance_id", "instance1"); expectedResourceLabels.put("cluster_name", "cluster1"); expectedResourceLabels.put("namespace_name", "namespace1"); expectedResourceLabels.put("pod_name", "pod1"); expectedResourceLabels.put("container_name", "container1"); Resource resource = Resource.create(K8sContainerResource.TYPE, resourceLabels); StackdriverExportUtils.setResourceForBuilder(monitoredResourceBuilder, resource); assertThat(monitoredResourceBuilder.getType()).isNotNull(); assertThat(monitoredResourceBuilder.getLabelsMap()).isNotEmpty(); assertThat(monitoredResourceBuilder.getType()).isEqualTo("k8s_container"); assertThat(monitoredResourceBuilder.getLabelsMap().size()).isEqualTo(7); assertThat(monitoredResourceBuilder.getLabelsMap()) .containsExactlyEntriesIn(expectedResourceLabels); }
@Test public void setResourceForBuilder_AwsInstanceType() { MonitoredResource.Builder monitoredResourceBuilder = DEFAULT_RESOURCE_WITH_PROJECT_ID.clone(); Map<String, String> resourceLabels = new HashMap<String, String>(); resourceLabels.put(AwsEc2InstanceResource.REGION_KEY, "region1"); resourceLabels.put(AwsEc2InstanceResource.ACCOUNT_ID_KEY, "account1"); resourceLabels.put(AwsEc2InstanceResource.INSTANCE_ID_KEY, "instance1"); resourceLabels.put("extra_key", "must be ignored"); Map<String, String> expectedResourceLabels = new HashMap<String, String>(); expectedResourceLabels.put("project_id", "proj1"); expectedResourceLabels.put("instance_id", "instance1"); expectedResourceLabels.put("region", "region1"); expectedResourceLabels.put("aws_account", "account1"); Resource resource = Resource.create(AwsEc2InstanceResource.TYPE, resourceLabels); StackdriverExportUtils.setResourceForBuilder(monitoredResourceBuilder, resource); assertThat(monitoredResourceBuilder.getType()).isNotNull(); assertThat(monitoredResourceBuilder.getLabelsMap()).isNotEmpty(); assertThat(monitoredResourceBuilder.getType()).isEqualTo("aws_ec2_instance"); assertThat(monitoredResourceBuilder.getLabelsMap().size()).isEqualTo(4); assertThat(monitoredResourceBuilder.getLabelsMap()) .containsExactlyEntriesIn(expectedResourceLabels); }
@Test public void setResourceForBuilder_GcpInstanceType() { MonitoredResource.Builder monitoredResourceBuilder = DEFAULT_RESOURCE_WITH_PROJECT_ID.clone(); Map<String, String> resourceLabels = new HashMap<String, String>(); resourceLabels.put(GcpGceInstanceResource.PROJECT_ID_KEY, "proj1"); resourceLabels.put(GcpGceInstanceResource.INSTANCE_ID_KEY, "inst1"); resourceLabels.put(GcpGceInstanceResource.ZONE_KEY, "zone1"); resourceLabels.put("extra_key", "must be ignored"); Map<String, String> expectedResourceLabels = new HashMap<String, String>(); expectedResourceLabels.put("project_id", "proj1"); expectedResourceLabels.put("instance_id", "inst1"); expectedResourceLabels.put("zone", "zone1"); Resource resource = Resource.create(GcpGceInstanceResource.TYPE, resourceLabels); StackdriverExportUtils.setResourceForBuilder(monitoredResourceBuilder, resource); assertThat(monitoredResourceBuilder.getType()).isNotNull(); assertThat(monitoredResourceBuilder.getLabelsMap()).isNotEmpty(); assertThat(monitoredResourceBuilder.getType()).isEqualTo("gce_instance"); assertThat(monitoredResourceBuilder.getLabelsMap().size()).isEqualTo(3); assertThat(monitoredResourceBuilder.getLabelsMap()) .containsExactlyEntriesIn(expectedResourceLabels); }