Code example for Account

0
        assertEquals(0, engine.getIsSyncable(account2, 0, authority2));
    } 
 
    @MediumTest 
    public void testAuthorityParsing() throws Exception { 
        final Account account = new Account("account1", "type1");
        final String authority1 = "auth1";
        final String authority2 = "auth2";
        final String authority3 = "auth3";
        final Bundle extras = new Bundle();
        PeriodicSync sync1 = new PeriodicSync(account, authority1, extras, (long) (60 * 60 * 24));
        PeriodicSync sync2 = new PeriodicSync(account, authority2, extras, (long) (60 * 60 * 24));
        PeriodicSync sync3 = new PeriodicSync(account, authority3, extras, (long) (60 * 60 * 24));
        PeriodicSync sync1s = new PeriodicSync(account, authority1, extras, 1000);
        PeriodicSync sync2s = new PeriodicSync(account, authority2, extras, 1000);
        PeriodicSync sync3s = new PeriodicSync(account, authority3, extras, 1000);
 
        MockContentResolver mockResolver = new MockContentResolver();
 
        final TestContext testContext = new TestContext(mockResolver, getContext());
 
        byte[] accountsFileData = ("<?xml version='1.0' encoding='utf-8' standalone='yes' ?>\n"
                + "<accounts>\n" 
                + "<authority id=\"0\" user=\"0\" account=\"account1\" type=\"type1\" authority=\"auth1\" />\n" 
                + "<authority id=\"1\" user=\"0\" account=\"account1\" type=\"type1\" authority=\"auth2\" />\n" 
                + "<authority id=\"2\"            account=\"account1\" type=\"type1\" authority=\"auth3\" />\n" 
                + "<authority id=\"3\" user=\"1\" account=\"account1\" type=\"type1\" authority=\"auth3\" />\n" 
                + "</accounts>\n").getBytes();
 
        File syncDir = getSyncDir();
        syncDir.mkdirs();
        AtomicFile accountInfoFile = new AtomicFile(new File(syncDir, "accounts.xml"));
        FileOutputStream fos = accountInfoFile.startWrite();
        fos.write(accountsFileData);
        accountInfoFile.finishWrite(fos);
 
        SyncStorageEngine engine = SyncStorageEngine.newTestInstance(testContext);
 
        List<PeriodicSync> syncs = engine.getPeriodicSyncs(account, 0, authority1);
        assertEquals(1, syncs.size());
        assertEquals(sync1, syncs.get(0));
 
        syncs = engine.getPeriodicSyncs(account, 0, authority2);
        assertEquals(1, syncs.size());
        assertEquals(sync2, syncs.get(0));
 
        syncs = engine.getPeriodicSyncs(account, 0, authority3);
        assertEquals(1, syncs.size());
        assertEquals(sync3, syncs.get(0));
 
        syncs = engine.getPeriodicSyncs(account, 1, authority3);
        assertEquals(1, syncs.size());
        assertEquals(sync3, syncs.get(0));
 
        accountsFileData = ("<?xml version='1.0' encoding='utf-8' standalone='yes' ?>\n"
                + "<accounts version=\"2\">\n" 
                + "<authority id=\"0\" account=\"account1\" type=\"type1\" authority=\"auth1\" />\n" 
                + "<authority id=\"1\" account=\"account1\" type=\"type1\" authority=\"auth2\" />\n" 
                + "<authority id=\"2\" account=\"account1\" type=\"type1\" authority=\"auth3\" />\n" 
                + "</accounts>\n").getBytes();
 
        accountInfoFile = new AtomicFile(new File(syncDir, "accounts.xml"));
        fos = accountInfoFile.startWrite();
        fos.write(accountsFileData);
        accountInfoFile.finishWrite(fos);
 
        engine.clearAndReadState();
 
        syncs = engine.getPeriodicSyncs(account, 0, authority1);
        assertEquals(0, syncs.size());
 
        syncs = engine.getPeriodicSyncs(account, 0, authority2);
        assertEquals(0, syncs.size());
 
        syncs = engine.getPeriodicSyncs(account, 0, authority3);
        assertEquals(0, syncs.size());
 
        accountsFileData = ("<?xml version='1.0' encoding='utf-8' standalone='yes' ?>\n"
                + "<accounts version=\"2\">\n" 
                + "<authority id=\"0\" account=\"account1\" type=\"type1\" authority=\"auth1\">\n" 
                + "<periodicSync period=\"1000\" />\n" 
                + "</authority>" 
                + "<authority id=\"1\" account=\"account1\" type=\"type1\" authority=\"auth2\">\n" 
                + "<periodicSync period=\"1000\" />\n" 
                + "</authority>" 
                + "<authority id=\"2\" account=\"account1\" type=\"type1\" authority=\"auth3\">\n" 
                + "<periodicSync period=\"1000\" />\n" 
                + "</authority>" 
                + "</accounts>\n").getBytes();
 
        accountInfoFile = new AtomicFile(new File(syncDir, "accounts.xml"));
        fos = accountInfoFile.startWrite();
        fos.write(accountsFileData);
        accountInfoFile.finishWrite(fos);
 
        engine.clearAndReadState();
 
        syncs = engine.getPeriodicSyncs(account, 0, authority1);
        assertEquals(1, syncs.size());
        assertEquals(sync1s, syncs.get(0));
 
        syncs = engine.getPeriodicSyncs(account, 0, authority2);
        assertEquals(1, syncs.size());
        assertEquals(sync2s, syncs.get(0));
 
        syncs = engine.getPeriodicSyncs(account, 0, authority3);
        assertEquals(1, syncs.size());
        assertEquals(sync3s, syncs.get(0));
    } 
 
    @MediumTest