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

Commit 39cf42c9 authored by Robert Berry's avatar Robert Berry
Browse files

Add autobackup XML support for test BackupTransport flag

We need this to be able to write a CTS test.

Bug: 73710054
Test: runtest frameworks-core -p android.app.backup
Change-Id: I37d4b64d40426c5de47308394e21baebd542ad52
parent 08a75e0e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -84,6 +84,8 @@ public class FullBackup {

    public static final String FLAG_REQUIRED_CLIENT_SIDE_ENCRYPTION = "clientSideEncryption";
    public static final String FLAG_REQUIRED_DEVICE_TO_DEVICE_TRANSFER = "deviceToDeviceTransfer";
    public static final String FLAG_REQUIRED_FAKE_CLIENT_SIDE_ENCRYPTION =
            "fakeClientSideEncryption";

    /**
     * @hide
@@ -600,6 +602,8 @@ public class FullBackup {
                    case FLAG_REQUIRED_DEVICE_TO_DEVICE_TRANSFER:
                        flags |= BackupAgent.FLAG_DEVICE_TO_DEVICE_TRANSFER;
                        break;
                    case FLAG_REQUIRED_FAKE_CLIENT_SIDE_ENCRYPTION:
                        flags |= BackupAgent.FLAG_FAKE_CLIENT_SIDE_ENCRYPTION_ENABLED;
                    default:
                        Log.w(TAG, "Unrecognized requiredFlag provided, value: \"" + f + "\"");
                }
+22 −3
Original line number Diff line number Diff line
@@ -16,9 +16,6 @@

package android.app.backup;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

import android.app.backup.FullBackup.BackupScheme.PathWithRequiredFlags;
import android.content.Context;
import android.support.test.filters.LargeTest;
@@ -102,6 +99,28 @@ public class FullBackupTest extends AndroidTestCase {
                include.getRequiredFlags());
    }

    public void testParseBackupSchemeFromXml_onlyIncludeRequireFakeEncryptionFlag()
            throws Exception {
        mXpp.setInput(new StringReader(
                "<full-backup-content>"
                        + "<include path=\"onlyInclude.txt\" domain=\"file\""
                        + " requireFlags=\"fakeClientSideEncryption\"/>"
                        + "</full-backup-content>"));

        FullBackup.BackupScheme bs = FullBackup.getBackupSchemeForTest(mContext);
        bs.parseBackupSchemeFromXmlLocked(mXpp, excludesSet, includeMap);

        Set<PathWithRequiredFlags> fileDomainIncludes = includeMap.get(FullBackup.FILES_TREE_TOKEN);
        assertEquals("Didn't find expected file domain include.", 1, fileDomainIncludes.size());
        PathWithRequiredFlags include = fileDomainIncludes.iterator().next();
        assertEquals("Invalid path parsed for <include/>",
                new File(mContext.getFilesDir(), "onlyInclude.txt").getCanonicalPath(),
                include.getPath());
        assertEquals("Invalid requireFlags parsed for <include/>",
                BackupAgent.FLAG_FAKE_CLIENT_SIDE_ENCRYPTION_ENABLED,
                include.getRequiredFlags());
    }

    public void testparseBackupSchemeFromXml_onlyIncludeRequireD2DFlag() throws Exception {
        mXpp.setInput(new StringReader(
                "<full-backup-content>" +