| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
|
|
| |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
The plain text password for a shared links was hashed and, then, the
hashed password was hashed again and set as the final password. Due to
this the password introduced in the "Authenticate" page for the shared
link was always a wrong password, and thus the file could not be
accessed.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
|
|
|
|
|
|
|
| |
When a request to set the password of a shared link is sent a working
icon is shown. However, as there was no "success" callback, the icon was
never hidden again after successfully setting the password (it worked
fine if there was an error, though).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
|
|
| |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
|
|
|
|
|
|
| |
The data storage (the "notebook") is shared between all the actors, so
the data can be stored and retrieved between different steps by any
actor in the same scenario.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|\
| |
| |
| |
| | |
nextcloud/add-rate-limiting-to-solve-challenge-controller
Add rate limit to TOTP solve challenge controller
|
| |
| |
| |
| |
| |
| | |
Fixes https://github.com/nextcloud/server/issues/2626
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
|
|\ \
| | |
| | | |
add owner-displayname property to calendars and addressbooks
|
| | |
| | |
| | |
| | | |
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
|
|\ \ \
| | | |
| | | | |
Remove unused variables
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
|
| |/ /
|/| | |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
nextcloud/allow-at-maximum-10-reset-mails-requests-per-5-minutes
Add at most 10 password reset requests per 5 minutes and IP range
|
| | |/
| |/|
| | |
| | | |
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
|
|\ \ \
| |/ /
|/| | |
Fix grammar
|
| |/
| |
| |
| | |
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
|
| | |
|
|\ \
| |/
|/| |
Run acceptance tests on macOS
|
|/
|
|
| |
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
|
|\
| |
| | |
Add basic acceptance test system
|
| |
| |
| |
| |
| |
| |
| |
| | |
As requested by Morris Jobke, the passwords in the acceptance tests were
modified to make them valid both for a clean Nextcloud server and one
with the password_policy app enabled.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
As the script modifies the Git repository a safety parameter was added
to prevent running it by mistake and messing with the local copy of the
repository.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When run through "run.sh" the acceptance tests were executed in the same
system in which the script was called and they started and stopped the
Nextcloud server using Docker containers that provided real web servers.
For consistency now they use the same approach used when run through
Drone: the acceptance tests are run in a Docker container and they start
and stop the Nextcloud server directly using the PHP built-in web server.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of running an additional Drone service with the Nextcloud server
now the Nextcloud server is run in the same Drone step as the acceptance
tests themselves using the PHP built-in web server.
Thanks to this, the Nextcloud server control is no longer needed, as the
acceptance tests can now directly reset, start and stop the Nextcloud
server. Also, the "nextcloudci/php7.0:php7.0-7" image provides
everything needed to run and manage the Nextcloud server (including the
Git command used to restore the directory to a saved state), so the
custom image is no longer needed either.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of downloading the Selenium server and requiring a specific
Firefox version to be installed in the system now the Selenium server is
run using one of the official Selenium Docker images, which provides
both the Selenium server and the appropriate version of Firefox.
Moreover, as it is run inside the Docker container, the web browser is
now run in headless mode; however, if needed, it can still be viewed
through VNC.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Each acceptance test feature is run in its own Drone step. The container
of the step runs the acceptance tests themselves, but they require two
additional Drone services. One service provides the Selenium server that
performs the web browser actions specified by the tests, and the other
service provides the Nextcloud server that the tests will be run
against (due to security concerns the acceptance tests themselves can
not create Docker containers for the Nextcloud server as done when
running them in a local system, as if Drone containers had access to
Docker a malicious pull request could be used to take over the Drone
server).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Although the timeouts specified in the acceptance tests are enough in
most cases they may not be when running them in a slow system or
environment. For those situations a general multiplier for find
timeouts is added. It can be set in the "behat.yml" configuration file
to increase the timeout used in every find call (except those that used
a timeout of 0, as in those cases the element had to be already present
when finding it and whether the system is slow or not does not change
that).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Due to security concerns, the public Nextcloud server repository is not
set as "trusted" in Drone (otherwise a malicious pull request could be
used to take over the server), so it is not possible to create Docker
containers from the containers started by Drone. Therefore, the
Nextcloud server must be started as a service by Drone itself.
The NextcloudTestServerDroneHelper is added to manage from the
acceptance tests a Nextcloud test server running in a Drone service; to
be able to control the remote Nextcloud server the Drone service must
provide the Nextcloud server control server.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The installation and configuration of the Nextcloud server as expected
by the acceptance tests is extracted to its own script so it can be used
from any element that launches the acceptance tests.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of depending on a Nextcloud test server created through Docker,
NextcloudTestServerContext now uses the NextcloudTestServerHelper
interface. This makes possible to provide other implementations of the
interface for those cases in which using a Docker container is not a
valid approach, like in the continuous integration system of the public
repository due to security concerns.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
The NextcloudTestServerHelper interface provides the needed methods to
manage the Nextcloud server used in acceptance tests.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
For consistency with the rest of private methods in the class,
"isContainerRegistered" is moved below the only public method in which
it is used ("cleanUp").
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The acceptance tests require several elements to be set up in order to
be run. Besides those PHP packages that it depends on, like Behat or
Mink, it requires a running Selenium server and a Docker image with the
Nextcloud server to be tested available in the system. The "run.sh"
script takes care of preparing all the needed elements and then run the
acceptance tests; once finished, either normally or due to an error, it
also cleans up the temporal elements created/started by the script and
the acceptance tests.
The Docker image with the Nextcloud server to be tested is created from
the Nextcloud code in the greatparent directory each time "run.sh" is
executed; the code is copied inside the image, so once the acceptance
tests are started the code in the greatparent directory can be modified
without affecting them. As it is based on the current code at the time
of the launch that image is created and destroyed each time the
acceptance tests are run. However, the image that it is based on, which
is created using "docker/nextcloud-local-parent/Dockerfile", does not
change between runs, so it is kept built in the system to speed up the
launch of acceptance tests.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Mink elements (including the document element) provide a
"find(selector, locator)" method to look for child elements in their web
browser session. The Locator class is added to be able to store the
selector and locator in a single object; it also provides a fluent API
to ease the definition of Mink locators, specially those using the
"named" selector.
The method "find(locator, timeout, timeoutStep)" is added to Actor
objects; it is simply a wrapper over Mink's "find(selector, locator)"
method, although it throws an exception if the element can not be found
instead of returning null, and it also makes possible to automatically
retry to find the element for certain amount of time.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|