diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-11-24 00:28:28 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-11-24 00:28:28 +0000 |
commit | 74155c9cc3035d0cee2a79b464a9fca3d9047f78 (patch) | |
tree | 34af73598d769ed09921916c902881c517c09989 /tests/carservice_unit_test/src | |
parent | 84a2fed63d01c676ccbd7f684463810c3cb4c20c (diff) | |
parent | 1950b88ffd1a8259af5e054a199aeee286d1cd73 (diff) | |
download | Car-74155c9cc3035d0cee2a79b464a9fca3d9047f78.tar.gz |
Snap for 9325733 from 1950b88ffd1a8259af5e054a199aeee286d1cd73 to tm-d4-release
Change-Id: Ie685a2ff2425ca19a3a4e52f3a29bf1848b8396c
Diffstat (limited to 'tests/carservice_unit_test/src')
-rw-r--r-- | tests/carservice_unit_test/src/com/android/car/telemetry/publisher/ConnectivityPublisherTest.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/carservice_unit_test/src/com/android/car/telemetry/publisher/ConnectivityPublisherTest.java b/tests/carservice_unit_test/src/com/android/car/telemetry/publisher/ConnectivityPublisherTest.java index 93ebc907cb..e10dd1a876 100644 --- a/tests/carservice_unit_test/src/com/android/car/telemetry/publisher/ConnectivityPublisherTest.java +++ b/tests/carservice_unit_test/src/com/android/car/telemetry/publisher/ConnectivityPublisherTest.java @@ -527,6 +527,21 @@ public class ConnectivityPublisherTest { .asList().containsExactly(1000L); } + @Test + public void testWhenQueryThrowsNullPointerExceptionIsCaught() { + mFakeManager.setSimulateFailedQuery(true); + mSessionControllerCallbackArgumentCaptor.getValue().onSessionStateChanged( + SESSION_ANNOTATION_BEGIN_1); + + // querySummary gets called for each QueryParam combination, but throws + // NullPointerException each time, which is caught + assertThat(mFakeManager.getMethodCallCount("querySummary")) + .isEqualTo(BASELINE_PULL_COUNT); + // queryTaggedSummary not reached because of previous NullPointerException in querySummary + assertThat(mFakeManager.getMethodCallCount("queryTaggedSummary")) + .isEqualTo(0); + } + private static class FakeDataSubscriber extends DataSubscriber { private final ArrayList<PushedData> mPushedData = new ArrayList<>(); @@ -569,6 +584,8 @@ public class ConnectivityPublisherTest { private final ArrayList<FakeNetworkStats.CustomBucket> mBuckets = new ArrayList<>(); private final HashMap<String, Integer> mMethodCallCount = new HashMap<>(); + private boolean mSimulateFailedQuery = false; + private FakeNetworkStatsManager() { super(/* networkStatsManager= */ null); } @@ -623,10 +640,17 @@ public class ConnectivityPublisherTest { return mMethodCallCount.getOrDefault(name, 0); } + public void setSimulateFailedQuery(boolean simulateFailedQuery) { + mSimulateFailedQuery = simulateFailedQuery; + } + @Override @NonNull public NetworkStatsWrapper querySummary(NetworkTemplate template, long start, long end) { increaseMethodCall("querySummary", 1); + if (mSimulateFailedQuery) { + throw new NullPointerException(); + } return commonQuerySummary(false, template, start, end); } @@ -635,6 +659,9 @@ public class ConnectivityPublisherTest { public NetworkStatsWrapper queryTaggedSummary( NetworkTemplate template, long start, long end) { increaseMethodCall("queryTaggedSummary", 1); + if (mSimulateFailedQuery) { + throw new NullPointerException(); + } return commonQuerySummary(true, template, start, end); } |