Commit Graph

4560 Commits

Author SHA1 Message Date
Daniel Calviño Sánchez fcd6cf08e0 Generalize file list steps so a specific ancestor can be used
The "FileListContext" provides steps to interact with and check the
behaviour of a file list. However, the "FileListContext" does not know
the right file list ancestor that has to be used by the file list steps,
so until now the file list steps were explicitly wired to the Files app
and they could be used only in that case.

Instead of duplicating the steps with a slightly different name (for
example, "I create a new folder named :folderName in the public shared
folder" instead of "I create a new folder named :folderName") the steps
were generalized; now contexts that "know" that certain file list
ancestor has to be used by the FileListContext steps performed by
certain actor from that point on (until changed again) set it
explicitly. For example, when the current page is the Files app then the
ancestor of the file list is the main view of the current section of the
Files app, but when the current page is a shared link then the ancestor
is set to null (because there will be just one file list, and thus its
ancestor is not relevant to differentiate between instances)

A helper trait, "FileListAncestorSetter", was introduced to reduce the
boilerplate needed to set the file list ancestor from other contexts.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-09 03:37:08 +01:00
Daniel Calviño Sánchez 766135cb64 Generalize file list locators so a specific ancestor can be used
The file list is used in other places besides the Files app (for
example, the File sharing app); in those cases the locators for the file
list elements are the same, but not for the ancestor of the file list.
To make possible to reuse the file list locators in those cases too now
they receive the ancestor to use.

Note that the locators for the file actions menu were not using an
ancestor locator because it is expected that there is only one file
actions menu at a time in the whole page; that may change in the future,
but for the time being it is a valid assumption and thus the ancestor
was not added to those locators in this commit.

Although the locators were generalized the steps themselves still use
the "FilesAppContext::currentSectionMainView" locator as ancestor; the
steps will be generalized in a following commit.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-09 03:37:08 +01:00
Daniel Calviño Sánchez 10490f2ac3 Store the name of the actor in the Actor object
This is needed to be able to easily use the actor as a key in an array.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-09 03:37:08 +01:00
Daniel Calviño Sánchez 49f2ba16f0 Extract file list locators and steps to its own class
Besides the extraction some minor adjustments (sorting locators for file
action menu entries to reflect the order of the menu entries in the UI,
moving parametrized locators like "createMenuItemFor" above the locators
that use them and placing "descendantOf" calls always in a new line)
were made too.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-09 03:37:08 +01:00
Roeland Jago Douma 1329061d31
Merge pull request #8648 from nextcloud/feature/csrf-token-controller
Use session heartbeat to update CSRF token
2018-03-08 21:15:24 +01:00
Roeland Jago Douma 7a7c350a2d
Merge pull request #8716 from nextcloud/fix-cache-prefixing
Remove base url from global cache prefix
2018-03-08 21:12:54 +01:00
Christoph Wurst b9720703e8 Add CSRF token controller to retrieve the current CSRF token
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2018-03-08 16:48:50 +01:00
Daniel Calviño Sánchez c1fa0f8b86 Add automatic handling of NoSuchElement exceptions
NoSuchElement exceptions are sometimes thrown instead of
StaleElementReference exceptions. This can happen when the Selenium2
driver for Mink performs an action on an element through the WebDriver
session instead of directly through the WebDriver element. In that case,
if the element with the given ID does not exist, a NoSuchElement
exception would be thrown instead of a StaleElementReference exception,
so those cases are handled like StaleElementReference exceptions.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-08 14:54:01 +01:00
Daniel Calviño Sánchez deb2495f89 Add automatic handling of MoveTargetOutOfBounds exceptions
MoveTargetOutOfBounds exceptions are sometimes thrown instead of
ElementNotVisible exceptions. This can happen when the Selenium2 driver
for Mink moves the cursor on an element using the "moveto" method of the
Webdriver session, for example, before clicking on an element. In that
case, if the element is not visible, "moveto" would throw a
MoveTargetOutOfBounds exception instead of an ElementNotVisible
exception, so those cases are handled like ElementNotVisible exceptions.

Note that MoveTargetOutOfBounds exceptions could be thrown too if the
element was visible but "out of reach"; there is no problem in handling
those cases as if the element was not visible, as the exception will be
thrown again anyway once it is verified that the element is indeed
visible.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-08 14:53:15 +01:00
Morris Jobke a2db959f5c
Merge pull request #8593 from eneiluj/master
Allow public page access to apps with group restrictions
2018-03-08 11:27:52 +01:00
Roeland Jago Douma 3ad7daeda5
Add tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-08 11:05:18 +01:00
Julius Härtl 95366bbd1f
Fix tests to use ICacheFactory
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-03-07 15:09:43 +01:00
Morris Jobke 8d865483f4
Merge pull request #8714 from nextcloud/8705
Check if the cached js file exists
2018-03-07 14:45:43 +01:00
Roeland Jago Douma 448a5e574e
Fix tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-07 14:04:21 +01:00
Morris Jobke 3156d95e14
Merge pull request #8652 from nextcloud/navigation-controller-etag
Add ETag to NavigationController
2018-03-07 10:03:00 +01:00
Julius Härtl 16ac8eaac9
Fix tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-03-07 09:17:18 +01:00
Morris Jobke de56915605
Merge pull request #7419 from Abijeet/feature-7175
Fixes #7175 - Allow to search for email address in user management
2018-03-06 21:53:37 +01:00
Julius Härtl 11b6cc3f68
Replace logout href to avoid new etag on every request
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-03-06 09:51:28 +01:00
Roeland Jago Douma d179186430
Remove testcase
Since a token now always requires a string we don't need to test for
null

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-05 16:14:46 +01:00
Julius Härtl 723b8764d1
Add ETag to NavigationController
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-03-05 12:19:20 +01:00
Morris Jobke a8f56ac8c7
Merge pull request #8603 from nextcloud/enc-cleanup
kill old encryption migration steps
2018-03-05 11:16:27 +01:00
Roeland Jago Douma 05ef2d70e7
Merge pull request #8590 from nextcloud/redirect-to-download-after-share
Sharing: redirect to download after authentification if requested
2018-03-05 11:11:43 +01:00
Roeland Jago Douma 0c500e460f
Fix tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-05 09:06:51 +01:00
Björn Schießle 1953a11dfa
Merge pull request #6805 from nextcloud/can-not-change-encryption-directory
Can not change encryption directory
2018-03-02 16:10:49 +01:00
Bjoern Schiessle 3a33683364
update unit tests
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-03-02 15:20:35 +01:00
Joas Schilling 158aac00a0
Merge pull request #8289 from nextcloud/appdata_hardening
AppData hardening
2018-03-02 11:26:36 +01:00
Bjoern Schiessle 8042e6b8fb
this was a migration step to ownCloud 8.0 to restructure the encryption folder which is no longer needed
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-03-02 10:09:52 +01:00
John Molakvoæ (skjnldsv) 2d4896e2a7
fixup! Acceptance fix
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-03-01 12:57:00 +01:00
John Molakvoæ (skjnldsv) 484568e995
Acceptance fix
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-03-01 10:45:56 +01:00
Roeland Jago Douma 926419e15c
Merge pull request #7600 from nextcloud/new-user-button-to-sidebar
New user button to sidebar
2018-02-28 12:33:30 +01:00
John Molakvoæ (skjnldsv) 907234fde2 Fix acceptance tests
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-02-28 11:17:39 +01:00
Morris Jobke 7bc3c2e057
Merge pull request #7363 from nextcloud/default-share-perms
Let the admin configure the default share permissions
2018-02-27 13:44:34 +01:00
Roeland Jago Douma 8b5997483c
Hardening of SimpleFile getContent
if file_get_contents fails remove the file. And traverse up the tree
checking if the other folders are there.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-27 13:35:09 +01:00
Roeland Jago Douma 01f420c7ac
Merge pull request #8051 from nextcloud/public-template
Public page template response
2018-02-27 13:33:19 +01:00
Bjoern Schiessle 3285becdc1
fix unit tests
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-02-27 12:29:25 +01:00
Bjoern Schiessle 1615312bf1
add share permissions to settings page
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-02-27 12:29:25 +01:00
Julius Härtl fd830b90eb
Fix acceptance test for new menu structure
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-02-27 12:25:53 +01:00
Julius Härtl 5a4aa2b7dd
Add test for PublicTemplateResponse
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-02-27 12:25:53 +01:00
Roeland Jago Douma 6994bce951
Loglevel is an int
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-27 10:45:35 +01:00
Roeland Jago Douma 4077f16aec
Make ILogger strict
* Make implementations strict
* Add scalar typehints

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-27 10:41:46 +01:00
Morris Jobke 8867629cf1
Merge pull request #8359 from nextcloud/swift-v3
Support swift v3 authentication
2018-02-26 18:30:00 +01:00
Morris Jobke a60d7a8563
Merge pull request #8541 from nextcloud/translate-permission-error-page
Provide translated error message for permission error
2018-02-26 17:50:21 +01:00
Morris Jobke cf35c4b03a
Provide translated error message for permission error
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-26 17:00:29 +01:00
Roeland Jago Douma 3afc41a49b
Kill objectstore CI if we can't create a file
This is more of a hack. But one of the nodes won't properly run this. No
sense in waiting 60 minutes

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-26 14:54:27 +01:00
Roeland Jago Douma 9a201bd7fa
Use username + pass in config
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-26 14:54:21 +01:00
Roeland Jago Douma fe05ecfd16
Other config
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-26 14:54:15 +01:00
Roeland Jago Douma 4bcc282a48
Add v3.0 auth run
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-26 14:54:12 +01:00
Roeland Jago Douma 0ee45d3d20
Fix proper types
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-22 15:51:19 +01:00
Roeland Jago Douma e1bdeb786e
Merge pull request #8472 from nextcloud/strict_integritycheck
Make OC\IntegrityCheck strict
2018-02-22 10:01:50 +01:00
Roeland Jago Douma 72e745be26
Handle strict typing in Checker and fix tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-21 21:09:08 +01:00