Commit graph

129 commits

Author SHA1 Message Date
tobiasKaminsky
b78e991d54 use localID everywhere
Co-authored-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2023-01-18 12:23:37 +01:00
Álvaro Brey
cdf048945f Reset search when browsing to a folder from the favorites list
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-16 08:22:46 +00:00
Álvaro Brey
07d2a0c91b
Move test runner back to com.nextcloud.client package
For some reason, Dexopener uses the package of the runner to determine which packages to open.
Which means with the new location, mockk can't work on android < P

Ref: https://github.com/tmurakami/dexopener/issues/24

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-12 17:14:26 +01:00
Álvaro Brey
7ea6283af4
Add testing utilities to override injections in classes injected with AndroidInjection
This includes Activities, Fragments, Services, etc. Other classes should use constructor injection,
and as such shouldn't need this.

This works by overriding the androidInjector method in the Application class (new TestMainApp added)
and allowing to use custom injectors there.

A InjectionOverrideRule is included for ease of use, but for more complicated cases, injection can be
controlled by accessing TestMainApp directly.

A sample is included in InjectionTestActivityTest.

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-12 12:58:31 +01:00
Álvaro Brey
443e6984f6
Move test helper classes to a consistent package (com.nextcloud.test)
Avoids having them mixed up with the tests

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-12 09:36:27 +01:00
Álvaro Brey
81db4f7b54
PasscodeManagerIT: use actual actitivy for test
Can't mock PowerManager on Android < 9

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-11 15:37:48 +01:00
Álvaro Brey
df0089ed1d
PassCodeManager: add some logic to avoid counting the same activity twice
This is very specific to the case where an activity extending from AuthenticatorActivity _and_ running as `singleTask`
gets restarted, in which case it calls `PassCodeManager.onActivityResumed` twice (once on `onResume` and once on `onNewIntent`).

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-10 14:38:16 +01:00
tobiasKaminsky
5b52b440d4
Fix test
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2023-01-05 15:31:14 +01:00
Álvaro Brey
66e19849cb
Use RSAPublicKey interface instead of OpenSSLRsaPublicKey to avoid conscrypt version conflicts
OpenSSLRsaPublicKey has a different package when using the open-source conscrypt vs. the one inserted
by Play Services.

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-05 09:04:25 +01:00
tobiasKaminsky
7abef86169
Check CSR
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2023-01-05 09:04:23 +01:00
tobiasKaminsky
1d62ee7835
Encrypted folder cannot be deleted, must first unset encryption
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-12-05 09:43:40 +01:00
Álvaro Brey
ec4067c199 ArbitraryDataProvider: distinguish between null value and nonexisting entities
Not the same thing!

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-18 10:39:41 +01:00
Álvaro Brey
f490823e4e Extract interface from ArbitraryDataProvider for better decoupling and testing
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-18 10:39:41 +01:00
Álvaro Brey
c71ce3a3ee
Add screenshot test for FileActionsBottomSheet
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-17 09:13:59 +01:00
Álvaro Brey
829c10f9de
Fix FileMenuFilterIT for real
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-17 09:13:59 +01:00
Álvaro Brey
6b470f86bb
Fix mock order for FileMenuFilter
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-17 09:13:58 +01:00
Álvaro Brey
263d139fe2
FileMenuFilter: simplify and remove unneeded stuff for new approach
We're always starting from the full list and removing stuff now, so toShow makes no sense

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-17 09:13:57 +01:00
Álvaro Brey
689a4bda6a
Extract responsibilities from FileMenuFilter static methods to utility classes.
God class count -= 1

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-17 09:13:56 +01:00
Álvaro Brey
4118cd69c1 Cache walled check for 10 minutes
Tentative cache time, accepting other proposals. My rationale for 10 minutes was that 6 checks an hour seems like not too much,
while not locking the app for too long in case there's an error and the cache is not cleared on network change.

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-16 14:17:56 +01:00
tobiasKaminsky
e7ce821465 Only show "set encrypted" if folder is empty and has no empty files/folder in it
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-11-16 09:34:04 +00:00
Álvaro Brey
ea4a8a35a7
Merge pull request #10977 from nextcloud/enter-the-room
Setup Room database
2022-11-15 16:24:23 +01:00
Álvaro Brey
ebe35c9f49 DocumentsStorageProviderIT: suppress part of a test
See added comment for explanation

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-15 10:02:46 +00:00
Dariusz Olszewski
8faf600057 Proposed fix for "jumping" file list
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-11-15 09:16:16 +00:00
Álvaro Brey
3469ebfbe5
FileUploadWorkerIT: ensure to reset fileuploader testing property after test
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-10-27 15:59:47 +02:00
Álvaro Brey
606e3d7ce5 Add screenshot test for storage permission dialog
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-10-24 09:10:50 +02:00
Álvaro Brey
f88c4330c8
SslUntrustedCertDialog: fix inflation to avoid NPE and add test to ensure it doesn't happen again
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-10-21 10:24:58 +02:00
tobiasKaminsky
54c6d519ff
Upload in background with WorkManager
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-10-17 17:22:52 +02:00
Álvaro Brey
53e091fc68
Fix for m3 after rebase
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-10-14 21:02:15 +02:00
Tobias Kaminsky
140c6a43dc
Update app/src/androidTest/java/com/owncloud/android/ui/fragment/GalleryFragmentIT.kt
Co-authored-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Signed-off-by: Tobias Kaminsky <tobias@nextcloud.com>
2022-10-14 20:59:12 +02:00
Tobias Kaminsky
051fef89e4
Update app/src/androidTest/java/com/owncloud/android/ui/fragment/GalleryFragmentIT.kt
Co-authored-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Signed-off-by: Tobias Kaminsky <tobias@nextcloud.com>
2022-10-14 20:59:12 +02:00
tobiasKaminsky
66d8756bec
Add tile view to media view
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-10-14 20:58:34 +02:00
Álvaro Brey
cb6a832afb
DialogFragmentIT: expand bottomsheet before taking screenshot, and update screenshot
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-10-14 11:30:09 +02:00
Álvaro Brey
4574667e16
Fix screenshot test for FolderPickerActivity
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-10-14 11:30:08 +02:00
Álvaro Brey
131bd9e62c
ProfileBottomSheetDialog: fix icon colors and detekt issues
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-10-14 11:27:58 +02:00
tobiasKaminsky
efa886b455
Add dashboard widgets
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-10-14 10:25:35 +02:00
Álvaro Brey
41a3a06a53
Fix previously undetected ktlint issues
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-10-07 17:49:23 +02:00
Álvaro Brey
98bf8f26b8
Add RetryTestRule to FileDisplayActivityIT
showShares is flaky

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-22 12:55:53 +02:00
Álvaro Brey
6923ba396d FileDisplayActivityIT: convert to Kotlin, since we're here
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-11 11:19:07 +02:00
Álvaro Brey
bdf075ac48 FileDisplayActivityIT.showShares: open share view through menu
This is more correct, and also seems to prevent random recyclerview crashes in CI

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-11 11:19:07 +02:00
tobiasKaminsky
7c9941ac0c Only allow "unset encryption" when folder is empty
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-08-08 13:57:57 +02:00
Álvaro Brey
8f8274cab2
Cleanup UriUploader a bit, and add tests for private paths
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-04 15:56:11 +02:00
Álvaro Brey
bf0db5fea5 LoginIT: fix for new accessibility changes in server master
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-04 11:33:17 +02:00
tobiasKaminsky
0fffcda1af
Change video icon
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-07-27 09:14:13 +02:00
Tobias Kaminsky
a36699d7df
Merge pull request #10556 from nextcloud/fixReceiveFile
Fix receive file
2022-07-25 12:01:46 +02:00
tobiasKaminsky
35635f9039
Add test
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-07-25 11:22:47 +02:00
tobiasKaminsky
6e02f6e2b8 Log to Log_OC
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-07-22 06:03:16 +00:00
Álvaro Brey
aa6bef6b54
RetryTestRule: reduce log level of "normal" log
Shouldn't be an error

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-18 12:02:36 +02:00
tobiasKaminsky
82fcf2e3a0
Fix missing update of storage path, so that files/folders were only locally changed, but update not reflected in UI
add IT test

update search lists after renaming

extract string to variable

Remove local/storageManager files after each test run

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-07-11 15:19:56 +02:00
Álvaro Brey
c1f53e65de
EndToEndRandomIT: create keys before all tests
Fixes inconsistencies due to keys created at wrong time

Co-authored-by: Tobias Kaminsky <tobias@kaminsky.me>

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-11 11:16:23 +02:00
tobiasKaminsky
bcfa832309
find out why reInit fails
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-07-11 09:27:11 +02:00
tobiasKaminsky
6325d07800
Test for delete folder
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-07-11 09:27:11 +02:00
tobiasKaminsky
27f716109d
When during renaming the same name already exists in same folder: show an error, disable confirm button
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-07-07 10:06:24 +02:00
tobiasKaminsky
1d69dcfcaa
File export aka "download"
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-07-06 14:06:18 +02:00
Álvaro Brey
41639cf654
Remove bytebuddy library dependency
Only used to generate random strings for tests and creates too many Dependabot PRs.
Let's just use Kotlin for that.

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-27 11:47:00 +02:00
Álvaro Brey
31c84d57e9
Merge pull request #10385 from nextcloud/account-culling
Migrate Account to User in some APIs
2022-06-14 21:32:49 +02:00
Álvaro Brey
17ebc23621
Merge pull request #10377 from nextcloud/groupfolderCannotBeEncrypted
Groupfolders cannot be encrypted
2022-06-14 16:00:36 +02:00
Chris Narkiewicz
edc8149c1f
Migrate Account to User in some APIs
Migrate remaining Account uses to User model when it was
possible without wider refactoring.

Signed-off-by: Chris Narkiewicz <hello@ezaquarii.com>
2022-06-13 23:37:16 +01:00
tobiasKaminsky
60757a1853
Groupfolders cannot be encrypted
added test showing folder types

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-06-13 16:17:28 +02:00
tobiasKaminsky
ffdb26b4be
move md5 function to tests, as md5 should never be used is production
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-06-10 07:57:44 +02:00
Chris Narkiewicz
1d81a705bf
Migrate some FileUploader and FileDownloader APIs to User
Signed-off-by: Chris Narkiewicz <hello@ezaquarii.com>
2022-06-07 20:56:43 +01:00
Chris Narkiewicz
35e164fa2d
Migrate RemoteOperation.execute calls to User
Signed-off-by: Chris Narkiewicz <hello@ezaquarii.com>
2022-06-04 23:59:50 +01:00
Álvaro Brey Vilas
62d58d0a36
Fix and enable FDAScreenshotIT.showMediaThenAllFiles
Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
2022-05-09 13:24:33 +02:00
Álvaro Brey
8ef80aa105
Fix DocumentsStorageProviderIT for new root ID
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-05-06 18:16:11 +02:00
Álvaro Brey
d34d3b419a
Fix mocking in FileMenuFilterIT
Not sure why this wasn't a compilation error

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-05-02 15:43:12 +02:00
Álvaro Brey Vilas
f50d9f8451
Add test for FileMenuFilter that verifies file locking menu items
Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
2022-05-02 12:49:43 +02:00
Álvaro Brey Vilas
4ff54bb48b Fix and update testBottomSheet screenshot test
We can't edit the capability in FDA directly

Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
2022-04-29 06:38:14 +00:00
Álvaro Brey Vilas
6bd7d808f4 Put OCFileListBottomSheetDialog into a DialogFragment
Can't inject things into a Dialog

Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
2022-04-29 06:38:13 +00:00
tobiasKaminsky
349a045b46 Move all Theme classes to DI
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>

Move all Theme classes to DI

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>

Move all Theme classes to DI

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-04-29 06:38:13 +00:00
Álvaro Brey Vilas
bc44b2c524
PasscodeActivityIT: add short sleep after closing keyboard
Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
2022-04-28 11:09:19 +02:00
Álvaro Brey Vilas
011d6c3ceb
ActivitiesActivityIT.error: more sleep
Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
2022-04-28 09:03:35 +02:00
Álvaro Brey Vilas
236925de99
Screenshot tests reliability improvements
Add more sleeps to SetupEncryptionDialogFragment.error and TrashBinActivity.empty, which fail frequently

Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
2022-04-28 09:03:29 +02:00
Álvaro Brey Vilas
98177e3eb3
Fix crash in screenshot test due to changes in library
Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
2022-04-27 19:02:26 +02:00
Álvaro Brey Vilas
dd4a69d58c
LoginIT: convert to Kotlin
While we're at it

Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
2022-04-26 09:51:39 +02:00
Álvaro Brey Vilas
85b5bf6875
Fix LoginIT submit click
In latest Nextcloud version the "submit" button does not have an ID, but we can use the type for selection

Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
2022-04-26 09:45:32 +02:00
tobiasKaminsky
b4dc084d65
wip
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-04-12 14:30:43 +02:00
Álvaro Brey Vilas
2e593a034b
Fix FileDisplayActivity screenshot tests
Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
2022-03-23 10:38:08 +01:00
Álvaro Brey Vilas
7d2f0fa017
Make external storage permission optional
Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
2022-03-14 17:04:12 +01:00
Álvaro Brey Vilas
785767ae70
Screenshot tests for UploadFilesActivity
Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
2022-03-11 13:22:50 +01:00
Álvaro Brey Vilas
e57176f009
Move app source to subproject
Android Studio has started to fail for some stuff with that old structure (for example connected tests don't work).
It's about time to do this.

Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
2022-03-11 11:10:51 +01:00