Skip to content

Commit

Permalink
Internal change
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 730339756
  • Loading branch information
DeviceInfra authored and copybara-github committed Feb 24, 2025
1 parent f87f298 commit 992b919
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 199 deletions.
13 changes: 2 additions & 11 deletions src/devtools/mobileharness/api/query/proto/lab_query.proto
Original file line number Diff line number Diff line change
Expand Up @@ -83,17 +83,6 @@ message LabQuery {
// If field_mask is not empty, returns result with trimmed DeviceInfo.
google.protobuf.FieldMask field_mask = 1;

// Optional. Returns only those dimensions with the given names
// (case-insensitive).
//
// If not present, returns all dimensions in DeviceInfo.
//
// If `device_feature.composite_dimension.required_dimension` and
// `device_feature.composite_dimension.supported_dimension` are not in
// `field_mask`, `selected_dimension_names` is ignored as there are no
// dimensions to return.
repeated string selected_dimension_names = 2 [deprecated = true];

message DimensionsMask {
repeated string dimension_names = 1;
}
Expand All @@ -117,6 +106,8 @@ message LabQuery {
// `field_mask`, `required_dimensions_mask` is ignored as there are no
// required dimensions to return.
DimensionsMask required_dimensions_mask = 4;

reserved 2;
}

// Optional.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,52 +190,7 @@ private static DeviceInfo trimDeviceInfo(DeviceInfo deviceInfo, DeviceInfoMask d
deviceInfoMask.getRequiredDimensionsMask().getDimensionNamesList()));
}

return trim(
fieldMask,
trimDeviceDimension(
deviceInfoBuilder.build(), deviceInfoMask.getSelectedDimensionNamesList()));
}

private static DeviceInfo trimDeviceDimension(
DeviceInfo deviceInfo, List<String> dimensionNames) {
if (dimensionNames.isEmpty()) {
return deviceInfo;
}

ImmutableSet<String> dimensionNamesLowerCase =
dimensionNames.stream().map(String::toLowerCase).collect(toImmutableSet());

DeviceInfo.Builder deviceInfoBuilder = deviceInfo.toBuilder();

deviceInfoBuilder
.getDeviceFeatureBuilder()
.getCompositeDimensionBuilder()
.clearSupportedDimension()
.addAllSupportedDimension(
deviceInfo
.getDeviceFeature()
.getCompositeDimension()
.getSupportedDimensionList()
.stream()
.filter(
dimension -> dimensionNamesLowerCase.contains(toLowerCase(dimension.getName())))
.collect(toImmutableList()));

deviceInfoBuilder
.getDeviceFeatureBuilder()
.getCompositeDimensionBuilder()
.clearRequiredDimension()
.addAllRequiredDimension(
deviceInfo
.getDeviceFeature()
.getCompositeDimension()
.getRequiredDimensionList()
.stream()
.filter(
dimension -> dimensionNamesLowerCase.contains(toLowerCase(dimension.getName())))
.collect(toImmutableList()));

return deviceInfoBuilder.build();
return trim(fieldMask, deviceInfoBuilder.build());
}

private static List<DeviceDimension> trimDimension(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -411,148 +411,6 @@ public void trimLabQueryResult_withLabView_withEmptyMask_returnsOriginalResult()
assertThat(resultToTrim.build()).isEqualTo(expectedResult);
}

@Test
public void trimLabQueryResult_withSelectedDimensionNames() {
LabQueryResult.Builder resultToTrim = LAB_QUERY_RESULT_WITH_LAB_VIEW.toBuilder();
Mask mask =
Mask.newBuilder()
.setLabInfoMask(LabInfoMask.newBuilder().setFieldMask(FieldMask.getDefaultInstance()))
.setDeviceInfoMask(
DeviceInfoMask.newBuilder()
.setFieldMask(FieldMask.newBuilder().addPaths("device_feature"))
.addSelectedDimensionNames("pool"))
.build();

LabQueryResult expectedResult =
LabQueryResult.newBuilder()
.setLabView(
LabView.newBuilder()
.addLabData(
LabData.newBuilder()
.setDeviceList(
DeviceList.newBuilder()
.setDeviceTotalCount(2)
.addDeviceInfo(
DeviceInfo.newBuilder()
.setDeviceFeature(
DeviceFeature.newBuilder()
.addOwner("owner1")
.setCompositeDimension(
DeviceCompositeDimension.newBuilder()
.addSupportedDimension(
DeviceDimension.newBuilder()
.setName("pool")
.setValue("supported_pool"))
.addRequiredDimension(
DeviceDimension.newBuilder()
.setName("pool")
.setValue("required_pool")))
.build()))
.addDeviceInfo(
DeviceInfo.newBuilder()
.setDeviceFeature(DEVICE_FEATURE_2))))
.addLabData(LabData.getDefaultInstance()))
.build();

MaskUtils.trimLabQueryResult(resultToTrim, mask);
assertThat(resultToTrim.build()).isEqualTo(expectedResult);
}

@Test
public void trimLabQueryResult_withRequiredDimensionPathsAndNames() {
LabQueryResult.Builder resultToTrim = LAB_QUERY_RESULT_WITH_LAB_VIEW.toBuilder();
Mask mask =
Mask.newBuilder()
.setLabInfoMask(LabInfoMask.newBuilder().setFieldMask(FieldMask.getDefaultInstance()))
.setDeviceInfoMask(
DeviceInfoMask.newBuilder()
.setFieldMask(
FieldMask.newBuilder()
.addPaths("device_feature.composite_dimension.required_dimension"))
.addSelectedDimensionNames("pool"))
.build();

LabQueryResult expectedResult =
LabQueryResult.newBuilder()
.setLabView(
LabView.newBuilder()
.addLabData(
LabData.newBuilder()
.setDeviceList(
DeviceList.newBuilder()
.setDeviceTotalCount(2)
.addDeviceInfo(
DeviceInfo.newBuilder()
.setDeviceFeature(
DeviceFeature.newBuilder()
.setCompositeDimension(
DeviceCompositeDimension.newBuilder()
.addRequiredDimension(
DeviceDimension.newBuilder()
.setName("pool")
.setValue("required_pool")))
.build()))
.addDeviceInfo(
DeviceInfo.newBuilder()
.setDeviceFeature(
DeviceFeature.newBuilder()
.setCompositeDimension(
DeviceCompositeDimension.newBuilder()
.addRequiredDimension(
DeviceDimension.newBuilder()
.setName("pool")
.setValue("fake_pool_1")))))))
.addLabData(LabData.getDefaultInstance()))
.build();

MaskUtils.trimLabQueryResult(resultToTrim, mask);
assertThat(resultToTrim.build()).isEqualTo(expectedResult);
}

@Test
public void trimLabQueryResult_withDimensionNameNotMatch_returnsEmptyDimension() {
LabQueryResult.Builder resultToTrim = LAB_QUERY_RESULT_WITH_LAB_VIEW.toBuilder();
Mask mask =
Mask.newBuilder()
.setLabInfoMask(LabInfoMask.newBuilder().setFieldMask(FieldMask.getDefaultInstance()))
.setDeviceInfoMask(
DeviceInfoMask.newBuilder()
.setFieldMask(FieldMask.newBuilder().addPaths("device_feature"))
.addSelectedDimensionNames("fake_dimension"))
.build();

LabQueryResult expectedResult =
LabQueryResult.newBuilder()
.setLabView(
LabView.newBuilder()
.addLabData(
LabData.newBuilder()
.setDeviceList(
DeviceList.newBuilder()
.setDeviceTotalCount(2)
.addDeviceInfo(
DeviceInfo.newBuilder()
.setDeviceFeature(
DeviceFeature.newBuilder()
.addOwner("owner1")
.setCompositeDimension(
DeviceCompositeDimension
.getDefaultInstance())))
.addDeviceInfo(
DeviceInfo.newBuilder()
.setDeviceFeature(
DeviceFeature.newBuilder()
.addOwner("owner2")
.setCompositeDimension(
DeviceCompositeDimension
.getDefaultInstance())))))
.addLabData(LabData.getDefaultInstance()))
.build();

MaskUtils.trimLabQueryResult(resultToTrim, mask);
assertThat(resultToTrim.build()).isEqualTo(expectedResult);
}

@Test
public void trimLabQueryResult_withSupportedDimensionMask() {
LabQueryResult.Builder resultToTrim = LAB_QUERY_RESULT_WITH_LAB_VIEW.toBuilder();
Expand Down

0 comments on commit 992b919

Please sign in to comment.