Fix ValueMetric CTS Test
The new NO_DATA causes skipped buckets to be uploaded.
Bug: 157155330
Test: atest CtsStatsdHostTestCases:android.cts.statsd.metric.ValueMetricsTests#testPullerAcrossBucketsWithActivation
Change-Id: Iab27486bc88e4eb71fba9084c61b402e3d94bb92
diff --git a/tests/src/android/cts/statsd/metric/ValueMetricsTests.java b/tests/src/android/cts/statsd/metric/ValueMetricsTests.java
index 2b2eee7..475feda 100644
--- a/tests/src/android/cts/statsd/metric/ValueMetricsTests.java
+++ b/tests/src/android/cts/statsd/metric/ValueMetricsTests.java
@@ -37,6 +37,7 @@
import com.android.os.AtomsProto.Atom;
import com.android.os.AtomsProto.SystemElapsedRealtime;
import com.android.os.StatsLog.StatsLogReport;
+import com.android.os.StatsLog.StatsLogReport.BucketDropReason;
import com.android.os.StatsLog.ValueBucketInfo;
import com.android.os.StatsLog.ValueMetricData;
@@ -330,7 +331,12 @@
StatsLogReport metricReport = getStatsLogReport();
LogUtil.CLog.d("Got the following value metric data: " + metricReport.toString());
assertThat(metricReport.getMetricId()).isEqualTo(MetricsUtils.VALUE_METRIC_ID);
- assertThat(metricReport.hasValueMetrics()).isFalse();
+ assertThat(metricReport.getValueMetrics().getDataList()).isEmpty();
+ // Bucket is skipped because metric is not activated.
+ assertThat(metricReport.getValueMetrics().getSkippedList()).isNotEmpty();
+ assertThat(metricReport.getValueMetrics().getSkipped(0).getDropEventList()).isNotEmpty();
+ assertThat(metricReport.getValueMetrics().getSkipped(0).getDropEvent(0).getDropReason())
+ .isEqualTo(BucketDropReason.NO_DATA);
}
public void testValueMetricWithConditionAndActivation() throws Exception {