summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
author Shubhi Saxena <shubhisaxena@google.com> 2025-02-14 01:57:32 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2025-02-14 01:57:32 -0800
commitf9a154805de4c5e07a02f211e2ac419ace0910d4 (patch)
tree59172446a8557f76fa004c9b12ff53b33e9fa884 /tests
parentcb8511a996513b2ab7b0380b9d9df9110bc27c6e (diff)
parent36b75ed3dcd834271d45f4743cfeb25581d0bd3a (diff)
Merge "Fix the uri for local copies of cloud album cover" into main
Diffstat (limited to 'tests')
-rw-r--r--tests/src/com/android/providers/media/photopicker/v2/sqlite/MediaGroupCursorUtilsTest.java50
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/src/com/android/providers/media/photopicker/v2/sqlite/MediaGroupCursorUtilsTest.java b/tests/src/com/android/providers/media/photopicker/v2/sqlite/MediaGroupCursorUtilsTest.java
index 238e1f72a..5a8920674 100644
--- a/tests/src/com/android/providers/media/photopicker/v2/sqlite/MediaGroupCursorUtilsTest.java
+++ b/tests/src/com/android/providers/media/photopicker/v2/sqlite/MediaGroupCursorUtilsTest.java
@@ -30,8 +30,11 @@ import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.MockitoAnnotations.initMocks;
+import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
+import android.net.Uri;
+import android.os.UserHandle;
import androidx.test.InstrumentationRegistry;
@@ -177,4 +180,51 @@ public class MediaGroupCursorUtilsTest {
.that(result.size())
.isEqualTo(0);
}
+
+ @Test
+ public void testGetLocalUri() {
+ final String cloudAuthority = "cloud.authority";
+ final String cloudMediaId = "cloud-id";
+ final String localMediaId = "local-id";
+ final Uri cloudUri = new Uri.Builder()
+ .scheme(ContentResolver.SCHEME_CONTENT)
+ .encodedAuthority(cloudAuthority)
+ .appendPath("media")
+ .appendPath(cloudMediaId)
+ .build();
+
+ final String localAuthority = PickerSyncController.getInstanceOrThrow().getLocalProvider();
+ final Uri expectedLocalUri = new Uri.Builder()
+ .scheme(ContentResolver.SCHEME_CONTENT)
+ .encodedAuthority(UserHandle.myUserId() + "@" + localAuthority)
+ .appendPath("media")
+ .appendPath(localMediaId)
+ .build();
+
+ final String actualLocalUri = MediaGroupCursorUtils.maybeGetLocalUri(
+ cloudUri.toString(), Map.of(cloudMediaId, localMediaId));
+
+ assertWithMessage("Mapped local uri is not as expected.")
+ .that(actualLocalUri)
+ .isEqualTo(expectedLocalUri.toString());
+ }
+
+ @Test
+ public void testGetLocalUriWithNoMapping() {
+ final String cloudAuthority = "cloud.authority";
+ final String cloudMediaId = "cloud-id";
+ final Uri cloudUri = new Uri.Builder()
+ .scheme(ContentResolver.SCHEME_CONTENT)
+ .encodedAuthority(cloudAuthority)
+ .appendPath("media")
+ .appendPath(cloudMediaId)
+ .build();
+
+ final String actualUri = MediaGroupCursorUtils.maybeGetLocalUri(
+ cloudUri.toString(), Map.of());
+
+ assertWithMessage("Returned uri is not as expected.")
+ .that(actualUri)
+ .isEqualTo(cloudUri.toString());
+ }
}