Merge "Add autobackup XML support for test BackupTransport flag" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-03-28 21:10:54 +00:00
committed by Android (Google) Code Review
2 changed files with 26 additions and 3 deletions

View File

@@ -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 + "\"");
}

View File

@@ -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>" +