Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4b21cd5 authored by Pinyao Ting's avatar Pinyao Ting
Browse files

include unit test for enhanced error handling

Bug: 121144871
Test: SliceClientPermissionsTest
Change-Id: Icdc30c95828d10c4506c20b7877c41211987e170
parent 410ddb91
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -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());