From 1d2ffdc8c44a9ce7d67804cd3e0bd677257f15ca Mon Sep 17 00:00:00 2001 From: darshilshah Date: Mon, 24 Mar 2025 15:49:31 +0000 Subject: Correct path for back and restore test There is a mismatch in path of backup folder in test and in that of executor Bug: 400684086 Test: com.android.providers.media.backupandrestore.BackupExecutorTest Test: com.android.providers.media.backupandrestore.MediaBackupAgentTest Test: com.android.providers.media.backupandrestore.RestoreExecutorTest Flag: com.android.providers.media.flags.enable_backup_and_restore Change-Id: I15e6721ca3cdfbce318b3d56196d500ed0285ffc --- .../media/backupandrestore/BackupExecutorTest.java | 15 ++++++---- .../backupandrestore/MediaBackupAgentTest.java | 5 +++- .../backupandrestore/RestoreExecutorTest.java | 35 ++++++++++------------ 3 files changed, 28 insertions(+), 27 deletions(-) diff --git a/tests/src/com/android/providers/media/backupandrestore/BackupExecutorTest.java b/tests/src/com/android/providers/media/backupandrestore/BackupExecutorTest.java index 70c7eb373..83a132c62 100644 --- a/tests/src/com/android/providers/media/backupandrestore/BackupExecutorTest.java +++ b/tests/src/com/android/providers/media/backupandrestore/BackupExecutorTest.java @@ -18,12 +18,15 @@ package com.android.providers.media.backupandrestore; import static com.android.providers.media.backupandrestore.BackupAndRestoreTestUtils.deSerialiseValueString; import static com.android.providers.media.backupandrestore.BackupAndRestoreUtils.BACKUP_COLUMNS; +import static com.android.providers.media.backupandrestore.BackupAndRestoreUtils.isBackupAndRestoreSupported; import static com.android.providers.media.scan.MediaScanner.REASON_UNKNOWN; import static com.android.providers.media.scan.MediaScannerTest.stage; import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertWithMessage; +import static org.junit.Assume.assumeTrue; + import android.Manifest; import android.content.ContentResolver; import android.content.Context; @@ -32,9 +35,8 @@ import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.os.SystemClock; -import android.platform.test.annotations.RequiresFlagsEnabled; -import android.platform.test.flag.junit.CheckFlagsRule; -import android.platform.test.flag.junit.DeviceFlagsValueProvider; +import android.platform.test.annotations.EnableFlags; +import android.platform.test.flag.junit.SetFlagsRule; import android.provider.MediaStore; import androidx.test.InstrumentationRegistry; @@ -68,12 +70,12 @@ import java.util.Optional; import java.util.Set; @RunWith(AndroidJUnit4.class) -@RequiresFlagsEnabled(com.android.providers.media.flags.Flags.FLAG_ENABLE_BACKUP_AND_RESTORE) +@EnableFlags(com.android.providers.media.flags.Flags.FLAG_ENABLE_BACKUP_AND_RESTORE) @SdkSuppress(minSdkVersion = Build.VERSION_CODES.S) public final class BackupExecutorTest { @Rule - public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); + public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); private Set mStagedFiles = new HashSet<>(); @@ -103,7 +105,7 @@ public final class BackupExecutorTest { mDownloadsDir = new File(Environment.getExternalStorageDirectory(), Environment.DIRECTORY_DOWNLOADS); mLevelDbPath = - mIsolatedContext.getFilesDir().getAbsolutePath() + "/backup/external_primary/"; + mIsolatedContext.getFilesDir().getAbsolutePath() + "/backup/external_primary"; FileUtils.deleteContents(mDownloadsDir); } @@ -121,6 +123,7 @@ public final class BackupExecutorTest { @Test public void testBackup() throws Exception { + assumeTrue(isBackupAndRestoreSupported(mIsolatedContext)); try { // Add all files in Downloads directory File file = new File(mDownloadsDir, "a_" + SystemClock.elapsedRealtimeNanos() + ".jpg"); diff --git a/tests/src/com/android/providers/media/backupandrestore/MediaBackupAgentTest.java b/tests/src/com/android/providers/media/backupandrestore/MediaBackupAgentTest.java index 5f892f126..e072f35bc 100644 --- a/tests/src/com/android/providers/media/backupandrestore/MediaBackupAgentTest.java +++ b/tests/src/com/android/providers/media/backupandrestore/MediaBackupAgentTest.java @@ -18,6 +18,7 @@ package com.android.providers.media.backupandrestore; import static com.android.providers.media.backupandrestore.BackupAndRestoreTestUtils.deSerialiseValueString; import static com.android.providers.media.backupandrestore.BackupAndRestoreTestUtils.getSharedPreferenceValue; +import static com.android.providers.media.backupandrestore.BackupAndRestoreUtils.isBackupAndRestoreSupported; import static com.android.providers.media.scan.MediaScanner.REASON_UNKNOWN; import static com.android.providers.media.scan.MediaScannerTest.stage; @@ -25,6 +26,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeTrue; import android.Manifest; import android.content.ContentResolver; @@ -99,7 +101,7 @@ public class MediaBackupAgentTest { mDownloadsDir = new File(Environment.getExternalStorageDirectory(), Environment.DIRECTORY_DOWNLOADS); mLevelDbPath = - mIsolatedContext.getFilesDir().getAbsolutePath() + "/backup/external_primary/"; + mIsolatedContext.getFilesDir().getAbsolutePath() + "/backup/external_primary"; FileUtils.deleteContents(mDownloadsDir); mMediaBackupAgent = new MediaBackupAgent(); @@ -108,6 +110,7 @@ public class MediaBackupAgentTest { @Test public void testCompleteFlow() throws Exception { + assumeTrue(isBackupAndRestoreSupported(mIsolatedContext)); //create new test file & stage it File file = new File(mDownloadsDir, "testImage_" + SystemClock.elapsedRealtimeNanos() + ".jpg"); diff --git a/tests/src/com/android/providers/media/backupandrestore/RestoreExecutorTest.java b/tests/src/com/android/providers/media/backupandrestore/RestoreExecutorTest.java index 9f0b41a21..cf333b205 100644 --- a/tests/src/com/android/providers/media/backupandrestore/RestoreExecutorTest.java +++ b/tests/src/com/android/providers/media/backupandrestore/RestoreExecutorTest.java @@ -18,11 +18,14 @@ package com.android.providers.media.backupandrestore; import static com.android.providers.media.backupandrestore.BackupAndRestoreTestUtils.createSerialisedValue; import static com.android.providers.media.backupandrestore.BackupAndRestoreUtils.RESTORE_COMPLETED; +import static com.android.providers.media.backupandrestore.BackupAndRestoreUtils.isBackupAndRestoreSupported; import static com.android.providers.media.scan.MediaScanner.REASON_UNKNOWN; import static com.android.providers.media.scan.MediaScannerTest.stage; import static com.google.common.truth.Truth.assertThat; +import static org.junit.Assume.assumeTrue; + import android.Manifest; import android.content.ContentResolver; import android.content.Context; @@ -32,9 +35,8 @@ import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.os.SystemClock; -import android.platform.test.annotations.RequiresFlagsEnabled; -import android.platform.test.flag.junit.CheckFlagsRule; -import android.platform.test.flag.junit.DeviceFlagsValueProvider; +import android.platform.test.annotations.EnableFlags; +import android.platform.test.flag.junit.SetFlagsRule; import android.provider.MediaStore; import androidx.test.InstrumentationRegistry; @@ -58,18 +60,16 @@ import org.junit.runner.RunWith; import java.io.File; import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; import java.util.HashMap; import java.util.Map; @RunWith(AndroidJUnit4.class) -@RequiresFlagsEnabled(com.android.providers.media.flags.Flags.FLAG_ENABLE_BACKUP_AND_RESTORE) +@EnableFlags(com.android.providers.media.flags.Flags.FLAG_ENABLE_BACKUP_AND_RESTORE) @SdkSuppress(minSdkVersion = Build.VERSION_CODES.S) public final class RestoreExecutorTest { @Rule - public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); + public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); private Context mIsolatedContext; @@ -105,8 +105,9 @@ public final class RestoreExecutorTest { @Test public void testMetadataRestoreForImageFile() throws Exception { + assumeTrue(isBackupAndRestoreSupported(mIsolatedContext)); String levelDbPath = - mIsolatedContext.getFilesDir().getAbsolutePath() + "/restore/external_primary/"; + mIsolatedContext.getFilesDir().getAbsolutePath() + "/restore/external_primary"; if (!new File(levelDbPath).exists()) { new File(levelDbPath).mkdirs(); } @@ -277,12 +278,10 @@ public final class RestoreExecutorTest { } } - private void seedAudioDataIntoLevelDb(File testAudioFile, LevelDBInstance levelDBInstance) - throws IOException { + private void seedAudioDataIntoLevelDb(File testAudioFile, LevelDBInstance levelDBInstance) { Map values = new HashMap<>(); values.put(MediaStore.Files.FileColumns.OWNER_PACKAGE_NAME, "com.hello.audio"); - values.put(MediaStore.Files.FileColumns.SIZE, - String.valueOf(Files.size(Path.of(testAudioFile.getAbsolutePath())))); + values.put(MediaStore.Files.FileColumns.SIZE, String.valueOf(testAudioFile.length())); values.put(MediaStore.Files.FileColumns.TITLE, "MyAudio"); values.put(MediaStore.Audio.AudioColumns.TRACK, "Forever"); values.put(MediaStore.Files.FileColumns.DURATION, "120"); @@ -294,12 +293,10 @@ public final class RestoreExecutorTest { createSerialisedValue(values))).isSuccess()).isTrue(); } - private void seedVideoDataIntoLevelDb(File testVideoFile, LevelDBInstance levelDBInstance) - throws IOException { + private void seedVideoDataIntoLevelDb(File testVideoFile, LevelDBInstance levelDBInstance) { Map values = new HashMap<>(); values.put(MediaStore.Files.FileColumns.OWNER_PACKAGE_NAME, "com.hello.video"); - values.put(MediaStore.Files.FileColumns.SIZE, - String.valueOf(Files.size(Path.of(testVideoFile.getAbsolutePath())))); + values.put(MediaStore.Files.FileColumns.SIZE, String.valueOf(testVideoFile.length())); values.put(MediaStore.Files.FileColumns.TITLE, "MyVideo"); values.put(MediaStore.Video.VideoColumns.COLOR_STANDARD, "1"); values.put(MediaStore.Video.VideoColumns.COLOR_RANGE, "5"); @@ -311,12 +308,10 @@ public final class RestoreExecutorTest { createSerialisedValue(values))).isSuccess()).isTrue(); } - private void seedImageDataIntoLevelDb(File testFile, LevelDBInstance levelDBInstance) - throws IOException { + private void seedImageDataIntoLevelDb(File testFile, LevelDBInstance levelDBInstance) { Map values = new HashMap<>(); values.put(MediaStore.Files.FileColumns.OWNER_PACKAGE_NAME, "com.hello.image"); - values.put(MediaStore.Files.FileColumns.SIZE, - String.valueOf(Files.size(Path.of(testFile.getAbsolutePath())))); + values.put(MediaStore.Files.FileColumns.SIZE, String.valueOf(testFile.length())); values.put(MediaStore.Files.FileColumns.TITLE, "MyImage"); values.put(MediaStore.Files.FileColumns.HEIGHT, "1600"); values.put(MediaStore.Files.FileColumns.WIDTH, "3200"); -- cgit v1.2.3-59-g8ed1b