Repository navigation
test(profiles): store inventory and scope guard - #1469
Merged
Merged
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
feat(profiles): Profiles settings and profile editor
feat(profiles): profile avatar and colors
refactor(ui): shared color swatch
refactor(main): move the root content out of MainActivity
…ions fix(downloads): playlist collections remember their profile
fix(discord): one Discord link per profile
fix(intents): links arriving during a switch open in the new profile
feat(sync): sync only while Default is active
feat(profiles): profile slices for copying and restoring
fix(identity): WebView data and request cache per profile
fix(media): media sessions and Android Auto follow a switch
fix(widgets): widgets redraw for the active profile
fix(notifications): old notifications never open another profile
fix(work): background work stays with the profile that queued it
feat(profiles): switch by restarting the process
feat(profiles): create, rename and delete in the registry
feat(backup): profile folders in Auto Backup rules
refactor(identity): profile-named identity and cache prefs
…ndles refactor(db): profile and device database handles
feat(settings): device-wide settings store
refactor(neuro): engine stores take their file from the profile
refactor(data): every preferences store states its scope
feat(profiles): profile registry read at process start
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
First PR of the profiles stack. Test only, no app change.
app/src/test/resources/profiles/store_inventory.tsv: every store, file, folder, Room table and DAO the app keeps, with its owner (DEVICE, PROFILE, CACHE or DEFAULT_ONLY) and, for profile data, its backup class.StoreScopeGuardTest: a plain JVM source scan of main, github and foss. It fails when code adds a store without a row, or a row no longer matches any code. No Robolectric.Related issue
Part of #372, #602, #883 and #1039 (profiles).
Change type
Validation
./gradlew :app:assembleGithubDebug./gradlew :app:testGithubDebugUnitTestI ran any additional flavor-specific build or test tasks affected by this change.
I manually tested the affected behavior on an Android device or emulator.
./gradlew :app:testGithubDebugUnitTest: 4452 tests, 0 failures../gradlew ktlintCheck spotlessCheck: passed.Checked the guard fails on a removed row, a renamed row and a new
noBackupFilesDirfile in code.Test device and Android version: Not applicable (test only)
Screenshots or recordings
Risk and compatibility
No app code changes.