Commit graph

941 commits

Author SHA1 Message Date
Claudio Cambra
bbb0cddd08
Verify sorted model is showing the rows in source activity model
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:27 +08:00
Claudio Cambra
8003fcda85
Add SortedActivityListModel test
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:27 +08:00
Claudio Cambra
06a42908f7
Move creation of example activities from testactivitylistmodel to activitylistmodeltestutils
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:27 +08:00
Claudio Cambra
e42f5cf33e
Move activitylistmodel testing QNAM override to dedicated convenience method in ActivityTestUtils
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:27 +08:00
Claudio Cambra
1c16728cb0
Move TestingALM to activitylistmodeltestutils
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:27 +08:00
Claudio Cambra
00ac5a4568
Move FakeRemoteActivityStorate to new activitylistmodeltestutils
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:26 +08:00
Dries Mys
9256417612 Create placeholder while dehydrating if needed
When replacing an OnlineOnly file by another one, the file maintains it
OnlineOnly pin state, but it is converted to a regular file. So, the
dehydration should convert the regular file to a (dehydrated)
placeholder instead of trying to update the (non-existing) placeholder.

Closes #4274

Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-20 15:07:46 +02:00
tomdereub
6aacf4ddac Adapt test 2
Signed-off-by: tomdereub <pbtom@lamonerie.net>
2023-07-18 10:57:17 +02:00
tomdereub
d353f08be2 Adapt test to silent exclusion
Signed-off-by: tomdereub <pbtom@lamonerie.net>
2023-07-18 10:57:17 +02:00
Matthieu Gallien
505021af03 enable debug log for some automated tests
should help investigate failure for automated tests

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-07-12 13:41:53 +02:00
Matthieu Gallien
cd6ee68fec filter out some errors if they are related to network troubles
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-28 11:21:50 +02:00
Matthieu Gallien
69d2b06f3d fix ignored signals due to using old connect syntax
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-28 11:21:50 +02:00
Dimitri Papadopoulos
9d830e94f9 Fix typos found by codespell
Signed-off-by: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
2023-06-21 08:47:13 +02:00
alex-z
7e5031d75d Implemented a class ChecksumCalculator to allow stopping the checksum calculation thread on parent destruction.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-06-20 11:44:07 +02:00
alex-z
e6f003b00b Remove stale caseclash conflicts when one of conflicting files has been removed from server
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-06-15 10:13:22 +02:00
Matthieu Gallien
5372276779 add more metadata to sync errors to allow filtering
in order to be able to filter some errors when showing them into the
main dialog activity list, add some more info about the error to know
the origin (like a network issue or a sync issue)

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-07 17:25:44 +02:00
Matthieu Gallien
607d0da672
use a much more compact layout for activities
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:10 +02:00
Matthieu Gallien
10f9ef5cd5
to store subjectRichParameters use a QVariantMap that is qml friendly
will make it much easier to access fom qml in order to use the data
inside to improve activity list items

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
ad868daebe
remove custom property to set a source model in a sort proxy model
custom property for source model is not needed

remove code that is not needed

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
8faab817a0 improve automated tests
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
30bba4c906 fix automated tests
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
280094b220 model: first step
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Claudio Cambra
ce22c409e1 Test important properties in testfiletagmodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
73b94bcf2f Add test for maxTags in FileTagModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
6c68341422 Add test for tags in filetagmodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
ccb07af56a Provide different propfind replies depending on request props in testfiletagmode
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
89d7e17674 Add FakePropfindReply that accepts raw QByteArray as payload
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
955f4de7d2 Add initial testing setup for file tag model
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Camila
d6db8fcbd6 Add a dismiss link for notifications without it.
- Fix for #5606 and #5585.
- That is how it is done in the server and other clients.
- Update tests.

Signed-off-by: Camila <hello@camila.codes>
2023-05-16 11:17:37 +02:00
Matthieu Gallien
7118fc4650 use a better name for encryption status attributes
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-12 15:46:51 +02:00
alex-z
31c3aee447 Fix unit tests SecureFileDrop
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-05 12:21:28 +02:00
Matthieu Gallien
8659df2266
prevent downgrading e2ee metadata format after initial migration
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:29 +02:00
Matthieu Gallien
7c655cf679
use a getter to query encryption status
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
20422f0247 when local sync folder is overriden, respect this choice
may lead to inadvertant data loss, not sure if that could be an issue

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 09:21:48 +02:00
Matthieu Gallien
baf9c8b631 add test for windows CfApi
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-08 09:45:09 +01:00
Matthieu Gallien
9afd7265bb add a new automated test for virtual files and data restoration
add a test that will try to upload pure virtual files becase restoration
after server data fingerprint has changed

this is illegal and should not happen

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-08 09:45:09 +01:00
alex-z
31de652d9b Display 'Search globally' as the last sharees list element
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-03-03 18:01:05 +01:00
alex-z
b6ba1fe0d6 Implement Secure filedrop link share. Move data from 'filedrop' to 'files' when syncing E2EE folders.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-03-02 19:29:11 +01:00
Matthieu Gallien
01ecb639ab use new connect syntax
mainly done using clazy and old-style-connect check

close #5426

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-28 09:36:27 +01:00
alex-z
5574ddb744 Always discover blacklisted folders locally, to avoid data loss of non-uploaded files when modifying selectivesync list.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-02-23 10:58:57 +01:00
Matthieu Gallien
151d17aed4
fix ignored return values in windows specific code
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-22 16:50:21 +01:00
Matthieu Gallien
5b2a691f4c
use of QStringLiteral() is invalid: QString() must be used
fix windows specific code compilation warnings

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-22 16:50:20 +01:00
Matthieu Gallien
c0549c5c03
fix issues reported by compiling windows code with clang-tidy
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-22 16:50:20 +01:00
Matthieu Gallien
76e88572d6
more fixes for attributes without init value
done with clang-tidy

run-clang-tidy -p build -header-filter='.*' -config="{Checks: '*', CheckOptions: [{key: UseAssignment, value: true}]}" -checks='-*,cppcoreguidelines-pro-type-member-init' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:05 +01:00
Matthieu Gallien
b4a8981c03
initialize all variables
done with clang-tidy

run-clang-tidy -p build -config="{Checks: '*', CheckOptions: [{key: UseAssignment, value: true}]}" -checks='-*,cppcoreguidelines-init-variables' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:04 +01:00
Matthieu Gallien
d2f5c6a5c7
initialize many attributes that could have been left without init value
done with clang-tidy

run-clang-tidy -p build -config="{Checks: '*', CheckOptions: [{key: UseAssignment, value: true}]}" -checks='-*,cppcoreguidelines-pro-type-member-init' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:04 +01:00
Camila
b4882ae5c7 Update tests for ActivityData.
Signed-off-by: Camila <hello@camila.codes>
2023-01-27 12:30:01 +00:00
Matthieu Gallien
602b8db5e2
handle case clash conflicts in a similar way to content conflicts
introduce a new type of conflict for case clash filename conflicts

add proper handling including a new utility class to solve them and a
new dialog for the user to pick a fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-01-25 16:37:35 +01:00
Claudio Cambra
e993684775
Remove faulty else statement from TestFolderman that would erroneously cause failure
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:16 +01:00
Claudio Cambra
352c660363
Ensure mocked database entries are correct in TestFolderMan
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:16 +01:00
Claudio Cambra
b7311278a8
Fix folderman delete encrypted files test
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:16 +01:00
Claudio Cambra
12b2673ac2
Add test for deleting encrypted files
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
c59ab85e22
Make accountstate fakeable for tests
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:14 +01:00
alex-z
50ffc7373f Update file's metadata in the local database when the etag changes while file remains unchanged. Fix subsequent conflict when locking and unlocking.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-12-30 16:57:32 +01:00
alex-z
089b677633 Fix SyncEngineTest failure when localstate is destroyed.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-12-15 10:32:10 +01:00
Claudio Cambra
294ec8a2b6
Fix bad remote path in sharetestutils fakefolder, which led to failed FakePropfindReply being provided in tests
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-12-13 17:40:16 +01:00
Claudio Cambra
9b5be727b1
Incorporate internal link share into tests
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-12-13 17:33:38 +01:00
Christian Göttsche
1a83894074 Fix typo
Found by Lintian.

Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
2022-12-13 09:22:58 +01:00
Matthieu Gallien
af49e1079a fix test and code to not stop on case clash errors
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-30 11:49:35 +01:00
Matthieu Gallien
b68754827c case clash should not prevent full propagation
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-30 11:49:35 +01:00
alex-z
16153b33b7 Fix CfApiShellExtensionsIPCTest.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-11-25 15:03:24 +01:00
Matthieu Gallien
04b4354535 fix include style to always use "" for files from the project
the use of #include <> is only for system headers and not headers from
the project

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-25 09:07:02 +01:00
Matthieu Gallien
e7605d505d avoid modifying real configuration file: use temp folder
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-25 09:07:02 +01:00
Matthieu Gallien
6050d4f0fb fix code format
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-23 17:34:05 +01:00
Matthieu Gallien
1e12fc951d prevents modifying real user config file
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-23 17:34:05 +01:00
Claudio Cambra
dfcf97654c Always build E2E tests, but only add to test suite if enabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-11-23 08:40:46 +01:00
Claudio Cambra
da6724be8c Add a file transfer e2e test
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-11-23 08:40:46 +01:00
Claudio Cambra
55cd79f4ef Add a test to check e2e server test setup
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-11-23 08:40:46 +01:00
Claudio Cambra
53abfb4785 Add an end to end test utils file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-11-23 08:40:46 +01:00
Matthieu Gallien
b04128fd34 set mtime when building local sync folder state in automated tests
would allow checking mtime with a correct value instead of having a
default value

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-22 15:08:46 +01:00
Matthieu Gallien
c379879e30 check that we update local file mtime on changes from server
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-22 15:08:46 +01:00
allexzander
6affc6e6ab Implement 'Leave this share' context menu entry. Fix incorrect sharing state for incoming and my shares in custom state icons and local database.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-11-22 12:14:20 +01:00
Matthieu Gallien
26fd4d2226 tidy some loop related code: avoid one letter variable names
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-18 16:02:21 +01:00
Matthieu Gallien
b5adbf3ab0 fix instances of: c++11 range-loop might detach Qt container warnings
analyzed via clazy

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-18 16:02:21 +01:00
Matthieu Gallien
8fa727e299
test for proper renaming of folder parent of a deep hierarchy
currently broken test as we miss to rename recursively

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-17 14:47:01 +01:00
Matthieu Gallien
61c792c6f4
fully qualify types in signals and slots
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-15 09:57:54 +01:00
Matthieu Gallien
d70d4f61ec properly escape a path when creating a test file during tests
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-09 18:35:10 +01:00
Matthieu Gallien
783cefe3f1 new autotest to ensure that we delete folders despite blacklist errors
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-07 18:33:13 +01:00
Claudio Cambra
63354f8432
Add testing for SortedShareModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:13 +01:00
Claudio Cambra
7ba6969e65
Moved all server mocking code for share model test to independent ShareTestUtils file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:10 +01:00
Claudio Cambra
a0ff46a7fb
Add testing for ShareeModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:09 +01:00
Claudio Cambra
e021f25634
Add a suite of tests for ShareModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

Test ShareModel error handling

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

Improve testing of user/group shares in ShareModel

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

Add testing for maximum share expire date enforcement in ShareModel

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:09 +01:00
Camila
f8b3ad8852 Update tests.
Signed-off-by: Camila <hello@camila.codes>
2022-10-17 11:29:23 +00:00
Matthieu Gallien
a378c4d80a add extra tests for lock files to better capture desired behavior
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-11 16:01:58 +02:00
Matthieu Gallien
d371855e56 test that files soon to be expired will be synced automatically
try to ensure that we properly sync again files for which lock has
expired

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-11 16:01:58 +02:00
allexzander
289a641d74 VFS Windows: Display the sharing state and lock state in the 'Status' column of Windows Explorer
Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-10-04 18:32:51 +02:00
Claudio Cambra
ff5261eaf1 Check local file locked and unlocked correctly in testlocaldiscovery
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-10-04 11:52:23 +02:00
Matthieu Gallien
565a5f0999 add [[nodiscard]] attribute via clang-tidy
ran
run-clang-tidy-14.py -header-filter='.*' -checks='-*,modernize-use-nodiscard' -fix
under linux with most part of our code covered

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-04 11:14:45 +02:00
Matthieu Gallien
5fc017575b fix [[nodiscard]] single warning
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-04 11:14:45 +02:00
Matthieu Gallien
9b7d1add52 apply modernize-use-using via clang-tidy
ran
run-clang-tidy-14.py -header-filter='.*' -checks='-*,modernize-use-using' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-04 01:32:46 +02:00
Camila
1ccc170f91
Update tests to follow 'Reply' change of primary action.
Signed-off-by: Camila <hello@camila.codes>
2022-09-29 17:15:50 +02:00
Camila
7633cc490d
Fix 'Reply' action primary property.
Primary is set to true when object type is 'room' or 'chat' and it set to
false when object type is 'call'.

Signed-off-by: Camila <hello@camila.codes>
2022-09-29 15:20:56 +02:00
Claudio Cambra
e721b03106 Remove sorting code in activitylistmodel as not needed with sortedactivitylistmodel
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-09-26 18:18:34 +02:00
allexzander
ffb7fcad7d Fix deprecation warnings.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-09-17 09:47:15 +02:00
allexzander
5175d186a4 Do not ignore return values for SyncJournalDB in unit tests.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-09-17 09:47:15 +02:00
Claudio Cambra
1a5fa50fbb Refactor ActivityListModel population mechanisms
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-09-13 19:34:41 +02:00
alex-z
2a529eef3c Make sure Folder is deleted from the list and the SyncJournalDB is closed for every folder of the account that has been removed.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-09-10 10:34:34 +02:00
alex-z
f0b9ecd747 Check folder invalidity reson when deciding to enable or disable the 'Finish' button in a Wizard page.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-09-10 10:34:34 +02:00
Matthieu Gallien
2cb88952fb fix build of windows virtual files automated tests
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-09-05 12:30:49 +02:00
Claudio Cambra
d86f25d215 Make UserStatusSelector a dismissible page pushed onto the tray window
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-08-10 09:22:33 +00:00
Matthieu Gallien
8551a14c48 ensure SyncEngine use an initialized instance of SyncOptions
will prevent nextcloudcmd command line client from ignoring the settings
handled by SyncOptions

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-08-08 12:36:37 +03:00
alex-z
001deace2d Implement COM Dll for CfApi shell extensins. Implement Thumbnail Provider.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-07-29 19:26:53 +03:00
Claudio Cambra
cf372b43ac Properly adapt the userstatusselectormodel, eliminate hacks, make code more declarative
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-07-12 21:10:26 +02:00
Claudio Cambra
b7c2e16aa9 Make client language gender-neutral and more clear
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-06-24 14:36:36 +02:00
alex-z
300446579c Fail build when Windows tests fail. Use GH Actions to build and run Windows tests. Create coverage and uppload it to codecov.io.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-06-10 15:18:54 +03:00
Matthieu Gallien
5f6277b3ee if an exclude file is deleted, skip it and remove it from internal list
ignore files can be removed: not an error so adjust tests

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-05-16 21:00:52 +02:00
alex-z
53654b2a50 Allow manual renaming of files and folders with spaces. Allow uploading invalid file name via the InvalidFileName dialog.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-05-16 18:07:26 +03:00
Claudio Cambra
b6def51945 Fix notifications not being shown when they should be
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-05-16 14:28:33 +02:00
Camila
e4a0d57bc8
Do not replace strings in action links coming from the notification api.
Signed-off-by: Camila <hello@camila.codes>
2022-05-12 12:47:48 +02:00
Matthieu Gallien
b55a099b61 allow lock/unlock of files from files explorer integration
add new commands to the contextual menu provided by our files explorer
plugins to allow locking/unlocking a file

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-05-02 13:52:05 +02:00
Matthieu Gallien
2ea68d75bd add automated tests for LockFileJob to validate proper behavior
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-05-02 13:52:05 +02:00
Matthieu Gallien
dc95f29165 fetch and store in sync database information abot lock state of files
fetch lock properties from server

decode them and store them in sync database

test to ensure we do properly handle those properties

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-05-02 13:52:05 +02:00
Matthieu Gallien
860d7dd9de detect capabilities for lock/unlock of files
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-05-02 13:52:05 +02:00
Camila
56825825b5
Update ActivityListModel tests.
Signed-off-by: Camila <hello@camila.codes>
2022-04-06 10:38:01 +02:00
Matthieu Gallien
908066072a avoid deleting renamed file with spaces in name
ensure that normal sync engine will nto delete new file renamed due to
trailing/leading spaces in name

rename before upload in the same job to avoid having invalid state in
local desktop client database to ensure any subsequent run of the sync
engine will not make wrong decisions

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-04-06 07:32:02 +00:00
Claudio Cambra
3d086ae305 Fix dark mode stuff relating to unified search, fix macOS auto dark/light theme switching not always working, fix Windows detection of dark/light theme switching
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-03-28 09:21:35 +00:00
Matthieu Gallien
dc0026704e ensure discovery phase will not try to upload files with invalid mtime
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-03-17 23:28:02 +00:00
Matthieu Gallien
b5a10d7829 add new tests dedicated for recovery scenario of wrong mtime on server
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-03-17 23:28:02 +00:00
Matthieu Gallien
d4081c99a7 prevent updating files when that would result in invalid mtime
ensure that we never try to sync a file with a sync that would result in
setting it up to an invalid mtime

test a recovery scenario with plain old sync folder and virtual files

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-03-17 23:28:02 +00:00
Matthieu Gallien
541447723a remove all usage of QDateTime::toTime_t() to avoid overflow
QDateTime::toTime_t() can overflow if called with a date outside its
domain of working

this method is obsolete and QDateTime::toSecsSinceEpoch() is the
replacement

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-03-17 23:28:02 +00:00
Camila
73bae8cd30
Add TalkReply class and tests.
- Add struct TalkNotificationData to handle token and messageId.
- Handle chat and call notifications with the new struct.
- Add talk token and messageId to data roles in ActivityListModel.
- Add Talk Reply component to the ActivityList.
- User Loader to display the TalkReply component.
- Move Talk Reply from ActivityItem to ActivityItemContent due to PR #4186.
- Use TextField instead of Text.
- Disable send reply button instead of changing border color when field is empty.

Signed-off-by: Camila <hello@camila.codes>
2022-03-17 17:50:33 +01:00
Claudio Cambra
65f2bada3e Add thumbnails for files in the activity view
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-03-17 10:46:09 +00:00
Claudio Cambra
02f3a1aed6 File activity dialog now works for all file actions activities (e.g. deleted files)
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-03-16 08:38:14 +01:00
alex-z
01eb050cd8 Do not remove files from a Group folder and its nested folders whe it is renamed or removed while not allowed.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-03-09 10:54:39 +02:00
alex-z
37168fce9f Fix review comments.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-02-25 15:31:26 +00:00
alex-z
1a300d0d56 Unit tests for new files restore logic when the parent folder is removed on the server.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-02-25 15:31:26 +00:00
alex-z
3443de4388 Rollback local move when server move has failed.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-02-23 16:53:26 +02:00
Matthieu Gallien
e4590d7a3b ensure that bulk upload network job errors are handled
in case we get a network error during bulk propagator POST network
request, report all files within this upload as files in error that will
then be sent using the plain old WebDAV protocol

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-02-11 09:44:20 +01:00
Matthieu Gallien
d0c2570b04 simplify sync folder in some automated local discovery tests
should be faster and easier to understand

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-02-07 21:32:06 +00:00
Matthieu Gallien
8decd475e5 clean transition when files with spaces exist already
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-02-07 21:32:06 +00:00
Matthieu Gallien
e89268bdd7 ensure we emit a rename command for renamed files
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-02-07 21:32:05 +00:00
alex-z
ae44dd5978 Adjust icons for activity entries in main dialog. Refactor the dialog by splitting it to separate components.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-02-04 17:52:37 +02:00
Claudio Cambra
ce5494b4ec Add testing for ActivityListModel
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-02-01 13:57:08 +00:00
alex-z
225753a8c0 Refactor DeleteJob and DeleteApiJob to use SimpleFileJob.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-01-11 13:37:09 +00:00
alex-z
190d278fd4 Checksum validation PropagateDownload unit tests.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-01-11 13:37:09 +00:00
alex-z
5b0e2d8ed0 Checksum validator unit tests.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-01-11 13:37:09 +00:00
alex-z
b7be10f712 Ask server to recalculate checksum on validatin failure.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-01-11 13:37:09 +00:00
Matthieu Gallien
c88f57b42d check modified time sent by upload jobs in automated tests
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-01-11 08:46:11 +00:00
Matthieu Gallien
6ceb45bac4 test files that should be renamed in sub-directory
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-12-07 11:35:38 +01:00
Matthieu Gallien
18ef471332 let auto tests of batch upload return proper file paths
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-26 15:49:25 +01:00
Matthieu Gallien
c194605c35 implement bulk upload
add PutMultiFileJob to send many files at once

use it in BulkPropagatorJob to implement bulk upload feature

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-24 16:17:47 +01:00
Matthieu Gallien
112be18635 read capabilities for bulk upload from server
use it in dedicated tests

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-24 16:17:47 +01:00
rakekniven
416d98716f Make argument singular to fix i18n issue
Reported at Transifex.
See https://www.transifex.com/nextcloud/nextcloud/translate/#hu_HU/client/309577611

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2021-11-05 10:00:17 +01:00
alex-z
2f3c58daac Fix review comments. Use QImage for QML and QPixmap for rest of code. Do not cache images for QML. Fix tests. Use signal in QML.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-11-04 20:50:51 +00:00
alex-z
0b8ab5c079 Use SvgRenderer for Unified Search input icons. Refactor IconUtils. Extend unit tests.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-11-04 20:50:51 +00:00
alex-z
c52718c104 Replace deprecated QRegExp with QRegularExpression.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-11-02 08:54:06 +00:00
Camila
5decbd0b21
Expand ExcludedFiles tests.
Signed-off-by: Camila <hello@camila.codes>
2021-10-28 11:38:03 +02:00
Camila
5788f35e82
Skip sync exclude file from list of exclude files if it doesn't exist.
The file might not exist anymore because the user deleted it by hand or
the folder where it was located got unchecked in the selective sync
view. It is a fix for #2632.

Signed-off-by: Camila <hello@camila.codes>
2021-10-28 11:37:56 +02:00
Matthieu Gallien
87c583dcb6 schedule files upload after all other jobs have been completed
should allow smarter policy dedicated to optimizing files upload

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-10-26 14:26:28 +02:00
Matthieu Gallien
c6344c05be add test to check the order of actions when uploading new files
should allow to check that uploads are delayed after directories are
created

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-10-26 12:45:15 +02:00