summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add missing unit test for updateShare with email shareDaniel Calviño Sánchez2017-04-241-0/+75
| | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Add missing hook checkDaniel Calviño Sánchez2017-04-241-2/+13
| | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Fix double hashing of shared link passwordsDaniel Calviño Sánchez2017-04-242-1/+7
| | | | | | | | | | 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>
* Fix working icon not hidden when successfully setting a passwordDaniel Calviño Sánchez2017-04-242-0/+145
| | | | | | | | | 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>
* Add acceptance tests for sharing password protected linksDaniel Calviño Sánchez2017-04-245-0/+289
| | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Add system to share data between acceptance test stepsDaniel Calviño Sánchez2017-04-242-3/+29
| | | | | | | | 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>
* Merge pull request #4434 from ↵Lukas Reschke2017-04-241-0/+2
|\ | | | | | | | | nextcloud/add-rate-limiting-to-solve-challenge-controller Add rate limit to TOTP solve challenge controller
| * Add rate limit to TOTP solve challenge controllerLukas Reschke2017-04-221-0/+2
| | | | | | | | | | | | Fixes https://github.com/nextcloud/server/issues/2626 Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
* | Merge pull request #4401 from nextcloud/caldav-carddav-nc-owner-displaynameRoeland Jago Douma2017-04-246-12/+77
|\ \ | | | | | | add owner-displayname property to calendars and addressbooks
| * | add owner-displayname property to calendars and addressbooksGeorg Ehrke2017-04-236-12/+77
| | | | | | | | | | | | Signed-off-by: Georg Ehrke <developer@georgehrke.com>
* | | Merge pull request #4444 from nextcloud/remove-unused-variablesRoeland Jago Douma2017-04-242-2/+0
|\ \ \ | | | | | | | | Remove unused variables
| * | | Remove unused variablesMorris Jobke2017-04-222-2/+0
| | | | | | | | | | | | | | | | Signed-off-by: Morris Jobke <hey@morrisjobke.de>
* | | | [tx-robot] updated from transifexNextcloud bot2017-04-2436-4/+108
| |/ / |/| |
* | | [tx-robot] updated from transifexNextcloud bot2017-04-2362-236/+730
| | |
* | | Merge pull request #4435 from ↵Lukas Reschke2017-04-222-1/+4
|\ \ \ | | | | | | | | | | | | | | | | nextcloud/allow-at-maximum-10-reset-mails-requests-per-5-minutes Add at most 10 password reset requests per 5 minutes and IP range
| * | | Add at most 10 password reset requests per 5 minutes and IP rangeLukas Reschke2017-04-222-1/+4
| | |/ | |/| | | | | | | Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
* | | Merge pull request #4432 from nextcloud/fix-grammarLukas Reschke2017-04-221-4/+4
|\ \ \ | |/ / |/| | Fix grammar
| * | Fix grammarMorris Jobke2017-04-211-4/+4
| |/ | | | | | | Signed-off-by: Morris Jobke <hey@morrisjobke.de>
* | [tx-robot] updated from transifexNextcloud bot2017-04-2290-142/+418
| |
* | Merge pull request #4431 from nextcloud/acceptance-macosMorris Jobke2017-04-211-4/+30
|\ \ | |/ |/| Run acceptance tests on macOS
| * Run acceptance tests on macOSMorris Jobke2017-04-211-4/+30
|/ | | | Signed-off-by: Morris Jobke <hey@morrisjobke.de>
* Merge pull request #4208 from danxuliu/add-basic-acceptance-test-systemRoeland Jago Douma2017-04-2124-0/+2135
|\ | | | | Add basic acceptance test system
| * Make test passwords valid for the password_policy appDaniel Calviño Sánchez2017-04-213-7/+7
| | | | | | | | | | | | | | | | 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>
| * Move acceptance tests from build/acceptance to tests/acceptanceDaniel Calviño Sánchez2017-04-2124-6/+7
| | | | | | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
| * Exclude data-autotest from the files copied to the containerDaniel Calviño Sánchez2017-04-211-1/+1
| | | | | | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
| * Add safety parameterDaniel Calviño Sánchez2017-04-213-4/+12
| | | | | | | | | | | | | | | | 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>
| * Remove no longer needed Docker helper and its related DockerfileDaniel Calviño Sánchez2017-04-212-278/+0
| | | | | | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
| * Change default configuration to use local helperDaniel Calviño Sánchez2017-04-212-29/+8
| | | | | | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
| * Run acceptance tests using the local helper instead of the Docker oneDaniel Calviño Sánchez2017-04-211-126/+49
| | | | | | | | | | | | | | | | | | | | | | 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>
| * Generalize names and descriptionsDaniel Calviño Sánchez2017-04-213-14/+14
| | | | | | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
| * Use PHP built-in web server instead of Apache in DroneDaniel Calviño Sánchez2017-04-213-230/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Replace downloaded Selenium server with Docker containerDaniel Calviño Sánchez2017-04-213-97/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Make possible to specify a subset of the acceptance tests to runDaniel Calviño Sánchez2017-04-191-2/+5
| | | | | | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
| * Add acceptance test steps to DroneDaniel Calviño Sánchez2017-04-192-0/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Add general multiplier for find timeoutsDaniel Calviño Sánchez2017-04-192-1/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Add the timeout in NoSuchElementException messagesDaniel Calviño Sánchez2017-04-191-1/+8
| | | | | | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
| * Add NextcloudTestServerHelper for Nextcloud servers in Drone servicesDaniel Calviño Sánchez2017-04-191-0/+272
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Extract waiting for the server to start to the Utils classDaniel Calviño Sánchez2017-04-192-21/+32
| | | | | | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
| * Extract installation and configuration of the Nextcloud serverDaniel Calviño Sánchez2017-04-192-2/+32
| | | | | | | | | | | | | | | | 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>
| * Use NextcloudTestServerHelper in NextcloudTestServerContextDaniel Calviño Sánchez2017-04-191-31/+44
| | | | | | | | | | | | | | | | | | | | | | 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>
| * Extract NextcloudTestServerHelper interfaceDaniel Calviño Sánchez2017-04-192-11/+85
| | | | | | | | | | | | | | 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>
| * Reorganize method position inside classDaniel Calviño Sánchez2017-04-191-15/+15
| | | | | | | | | | | | | | | | 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>
| * Hide methods not needed outside the classDaniel Calviño Sánchez2017-04-191-4/+4
| | | | | | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
| * Remove no longer needed methodsDaniel Calviño Sánchez2017-04-191-28/+0
| | | | | | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
| * Move all Docker-related logic to NextcloudTestServerDockerHelperDaniel Calviño Sánchez2017-04-192-40/+79
| | | | | | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
| * Rename methods to something less tied to its implementationDaniel Calviño Sánchez2017-04-191-2/+2
| | | | | | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
| * Add acceptance tests related to access levelsDaniel Calviño Sánchez2017-04-192-3/+70
| | | | | | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
| * Add acceptance tests related to loginDaniel Calviño Sánchez2017-04-198-0/+471
| | | | | | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
| * Add script to set up and run the acceptance testsDaniel Calviño Sánchez2017-04-192-0/+324
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Add wrappers to adapt the element finding system of MinkDaniel Calviño Sánchez2017-04-193-0/+465
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>