include unit test for enhanced error handling

Bug: 121144871
Test: SliceClientPermissionsTest
Change-Id: Icdc30c95828d10c4506c20b7877c41211987e170
This commit is contained in:
Pinyao Ting
2020-06-11 17:32:56 -07:00
parent 410ddb9100
commit e4b21cd5eb

View File

@@ -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<SliceAuthority> a1 = new ArrayList<>(o1.getAuthorities());