diff options
author | 2025-02-14 01:57:32 -0800 | |
---|---|---|
committer | 2025-02-14 01:57:32 -0800 | |
commit | f9a154805de4c5e07a02f211e2ac419ace0910d4 (patch) | |
tree | 59172446a8557f76fa004c9b12ff53b33e9fa884 /tests | |
parent | cb8511a996513b2ab7b0380b9d9df9110bc27c6e (diff) | |
parent | 36b75ed3dcd834271d45f4743cfeb25581d0bd3a (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.java | 50 |
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()); + } } |