From e4b21cd5eb1a637d1e0ab3ef7cbdae2abed502bd Mon Sep 17 00:00:00 2001 From: Pinyao Ting Date: Thu, 11 Jun 2020 17:32:56 -0700 Subject: [PATCH] include unit test for enhanced error handling Bug: 121144871 Test: SliceClientPermissionsTest Change-Id: Icdc30c95828d10c4506c20b7877c41211987e170 --- .../slice/SliceClientPermissionsTest.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/services/tests/uiservicestests/src/com/android/server/slice/SliceClientPermissionsTest.java b/services/tests/uiservicestests/src/com/android/server/slice/SliceClientPermissionsTest.java index ff2236d25e28d..4f092b91220f8 100644 --- a/services/tests/uiservicestests/src/com/android/server/slice/SliceClientPermissionsTest.java +++ b/services/tests/uiservicestests/src/com/android/server/slice/SliceClientPermissionsTest.java @@ -227,6 +227,23 @@ public class SliceClientPermissionsTest extends UiServiceTestCase { assertEquivalent(client, deser); } + @Test(expected = XmlPullParserException.class) + public void testReadEmptyFile_ThrowException() throws XmlPullParserException, IOException { + ByteArrayOutputStream output = new ByteArrayOutputStream(); + XmlSerializer serializer = XmlPullParserFactory.newInstance().newSerializer(); + serializer.setOutput(output, Encoding.UTF_8.name()); + // create empty xml document + serializer.startDocument(null, true); + serializer.endDocument(); + serializer.flush(); + + ByteArrayInputStream input = new ByteArrayInputStream(output.toByteArray()); + XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser(); + parser.setInput(input, Encoding.UTF_8.name()); + SliceClientPermissions.createFrom(parser, mock(DirtyTracker.class)); + // Should throw exception since the xml is empty + } + private void assertEquivalent(SliceClientPermissions o1, SliceClientPermissions o2) { assertEquals(o1.getPkg(), o2.getPkg()); ArrayList a1 = new ArrayList<>(o1.getAuthorities());