Commit Graph

421 Commits

Author SHA1 Message Date
Daniel Calviño Sánchez 54f8f75f6f Accept incoming shares in integration tests
Now all incoming shares need to be explicitly accepted before being able
to use the shared file or get information about a reshare (although
getting the information of the incoming share is possible before
accepting it).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-11-20 15:47:11 +01:00
Daniel Calviño Sánchez 9004e90f5d Replace direct calls to share API with specific share steps
This makes possible to use steps that reference the last share, which
will be needed to accept pending shares.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-11-20 13:11:49 +01:00
Daniel Calviño Sánchez 847bd0f05b Remove extra spaces at the end of lines
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-11-20 13:10:35 +01:00
John Molakvoæ (skjnldsv) ea6f423e2c Extend data returned when searching remote shares
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-29 12:55:59 +01:00
Daniel Calviño Sánchez d0b205d0dd
Add more integration tests for getting shares
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-26 14:22:17 +02:00
Daniel Calviño Sánchez eaa98ed343 Add integration tests for getting shares including subfiles
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-25 18:37:36 +02:00
Daniel Calviño Sánchez bb9814d052 Replace fully qualified name with alias
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-25 10:48:38 +02:00
John Molakvoæ (skjnldsv) ff895abac0
Fix shares read permissions
A user with reshare permissions on a file is now able to get any share
of that file (just like the owner).

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-04 21:40:30 +02:00
Daniel Calviño Sánchez 6d4f4c1c70
Add assorted integration tests for shares
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-04 19:25:11 +02:00
Daniel Calviño Sánchez a7526d74ae
Do not expect a 200 HTTP status code when updating a share
This will be needed to test scenarios in which updating a share return a
different HTTP status code, like 401.

The assertion for the 200 HTTP status code was added in those scenarios
that tested updating a share (that is, those that were also checking the
OCS status code), but not in those in which updating a share was just a
preparatory step for the actual test (in the same way that the HTTP
status code is not checked in those tests when creating a share).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-04 19:25:10 +02:00
John Molakvoæ (skjnldsv) 99404bdfb3
Move sharing integration tests to their own directory
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-04 19:25:10 +02:00
John Molakvoæ (skjnldsv) ba1ba1a55e
Add helper script to run integration tests on a Docker container
Copied and adjusted from "tests/integration/run-docker.sh" in Talk; see
its commit history for further reference.

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-04 19:25:10 +02:00
Christoph Wurst de6940352a Move settings to an app
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2019-09-28 09:39:28 +00:00
Joas Schilling e4addbae3e
Better check reshare permissions when creating a share
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-07-03 14:00:13 +02:00
Daniel Calviño Sánchez f01a772a1a
Add integration test for increasing sub reshare permissions
The tests check an user share and a link share; there is a slight
difference in style between them as each one is based on the test above
it, which tests increasing reshare permissions.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-06-27 15:27:30 +02:00
Daniel Calviño Sánchez 3802174f06
Do not create folders with admin user
The admin user is not deleted after each integration test is run, so
folders created by the admin user in one test are still there when the
next tests run; tests should be independent one from each other, so a
regular user that is created and deleted for each test should be used
instead.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-06-27 15:27:30 +02:00
Arthur Schiwon 437b33ff63
add LDAP integr. test for receiving share candidates with group limitation
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-06-14 06:23:58 +02:00
Arthur Schiwon 54299f4e66
set the ldapGroupMemberAssocAttr for group tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-05-22 12:48:12 +02:00
Julius Härtl 771ad85f85
Add integration tests for updating folder shares
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-04-16 15:03:52 +02:00
Arthur Schiwon a692f28320
add an integration test that ensures deletion of LDAP users
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-03-14 15:21:52 +01:00
Morris Jobke f6a12864a5
Disable failing federated sharing tests
Fails with:

 * build/integration/federation_features/federated.feature:183
 * build/integration/federation_features/federated.feature:232
 * build/integration/federation_features/federated.feature:247
 * build/integration/federation_features/federated.feature:263
<details><summary>Show full log</summary>

```
  Scenario: Reshare a federated shared file                                                             # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:183
    Given Using server "REMOTE"                                                                         # FederationContext::usingServer()
    And user "user1" exists                                                                             # FederationContext::assureUserExists()
    And user "user2" exists                                                                             # FederationContext::assureUserExists()
    And Using server "LOCAL"                                                                            # FederationContext::usingServer()
    And user "user0" exists                                                                             # FederationContext::assureUserExists()
    And User "user0" from server "LOCAL" shares "/textfile0.txt" with user "user1" from server "REMOTE" # FederationContext::federateSharing()
    And User "user1" from server "REMOTE" accepts last pending share                                    # FederationContext::acceptLastPendingShare()
    And Using server "REMOTE"                                                                           # FederationContext::usingServer()
    And As an "user1"                                                                                   # FederationContext::asAn()
    When creating a share with                                                                          # FederationContext::creatingShare()
      | path        | /textfile0 (2).txt |
      | shareType   | 0                  |
      | shareWith   | user2              |
      | permissions | 19                 |
    Then the OCS status code should be "100"                                                            # FederationContext::theOCSStatusCodeShouldBe()
      Failed asserting that SimpleXMLElement Object &000000007d8e0d3c00000000403fd08a (
          0 => '404'
      ) matches expected '100'.
    ...
{"message":"Can not find share with ID: 8"}

  Scenario: Overwrite a federated shared folder as recipient                                             # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:232
    Given Using server "REMOTE"                                                                          # FederationContext::usingServer()
    And user "user1" exists                                                                              # FederationContext::assureUserExists()
    And user "user2" exists                                                                              # FederationContext::assureUserExists()
    And Using server "LOCAL"                                                                             # FederationContext::usingServer()
    And user "user0" exists                                                                              # FederationContext::assureUserExists()
    And User "user0" from server "LOCAL" shares "/PARENT" with user "user1" from server "REMOTE"         # FederationContext::federateSharing()
    And User "user1" from server "REMOTE" accepts last pending share                                     # FederationContext::acceptLastPendingShare()
    And Using server "REMOTE"                                                                            # FederationContext::usingServer()
    And As an "user1"                                                                                    # FederationContext::asAn()
    And User "user1" modifies text of "/textfile0.txt" with text "BLABLABLA"                             # FederationContext::modifyTextOfFile()
    When User "user1" uploads file "../../data/user1/files/textfile0.txt" to "/PARENT (2)/textfile0.txt" # FederationContext::userUploadsAFileTo()
      Client error: `PUT http://localhost:8180/remote.php/webdav/PARENT%20(2)/textfile0.txt` resulted in a `404 Not Found` response:
      <?xml version="1.0" encoding="utf-8"?>
      <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
        <s:exception>Sabre\DA (truncated...)
       (GuzzleHttp\Exception\ClientException)
    ...
{"message":"Can not find share with ID: 10"}

  Scenario: Overwrite a federated shared file as recipient using old chunking                           # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:247
    Given Using server "REMOTE"                                                                         # FederationContext::usingServer()
    And user "user1" exists                                                                             # FederationContext::assureUserExists()
    And user "user2" exists                                                                             # FederationContext::assureUserExists()
    And Using server "LOCAL"                                                                            # FederationContext::usingServer()
    And user "user0" exists                                                                             # FederationContext::assureUserExists()
    And User "user0" from server "LOCAL" shares "/textfile0.txt" with user "user1" from server "REMOTE" # FederationContext::federateSharing()
    And User "user1" from server "REMOTE" accepts last pending share                                    # FederationContext::acceptLastPendingShare()
    And Using server "REMOTE"                                                                           # FederationContext::usingServer()
    And As an "user1"                                                                                   # FederationContext::asAn()
    And user "user1" uploads chunk file "1" of "3" with "AAAAA" to "/textfile0 (2).txt"                 # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
      Client error: `PUT http://localhost:8180/remote.php/webdav/textfile0%20(2).txt-chunking-42-3-0` resulted in a `404 Not Found` response:
      <?xml version="1.0" encoding="utf-8"?>
      <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
        <s:exception>Sabre\DA (truncated...)
       (GuzzleHttp\Exception\ClientException)
    ...
{"message":"Can not find share with ID: 11"}

  Scenario: Overwrite a federated shared folder as recipient using old chunking                  # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:263
    Given Using server "REMOTE"                                                                  # FederationContext::usingServer()
    And user "user1" exists                                                                      # FederationContext::assureUserExists()
    And user "user2" exists                                                                      # FederationContext::assureUserExists()
    And Using server "LOCAL"                                                                     # FederationContext::usingServer()
    And user "user0" exists                                                                      # FederationContext::assureUserExists()
    And User "user0" from server "LOCAL" shares "/PARENT" with user "user1" from server "REMOTE" # FederationContext::federateSharing()
    And User "user1" from server "REMOTE" accepts last pending share                             # FederationContext::acceptLastPendingShare()
    And Using server "REMOTE"                                                                    # FederationContext::usingServer()
    And As an "user1"                                                                            # FederationContext::asAn()
    And user "user1" uploads chunk file "1" of "3" with "AAAAA" to "/PARENT (2)/textfile0.txt"   # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
      Client error: `PUT http://localhost:8180/remote.php/webdav/PARENT%20(2)/textfile0.txt-chunking-42-3-0` resulted in a `404 Not Found` response:
      <?xml version="1.0" encoding="utf-8"?>
      <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
        <s:exception>Sabre\DA (truncated...)
       (GuzzleHttp\Exception\ClientException)
    ...
{"message":"Can not find share with ID: 12"}

```
</details>

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 18:01:24 +01:00
Arthur Schiwon 987db8e6c5
add missing config bits to integration tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-03-06 00:09:23 +01:00
Arthur Schiwon dfc7007242
with LDAP server set offline, config cannot be controlled via ocs anymore
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-03-05 23:13:49 +01:00
Arthur Schiwon 5dd2207c95
fix nested group retrieval also for 2 other cases
and also consolidate logic in one method

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-03-05 11:07:40 +01:00
Daniel Kesselberg 75b7d6ae4e
Add install logic for enable command
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-19 21:03:06 +01:00
Daniel Kesselberg 76b5f44f05
Strict Types, Return Types
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-19 21:03:06 +01:00
Daniel Kesselberg 4532ed356d
Mock name for integration test
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-04 17:12:59 +01:00
Arthur Schiwon 4bd3916445
integration test: pages search scenario with multiple bases
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-01-28 14:20:03 +01:00
Arthur Schiwon 91b30ada8e
typo
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-01-28 14:19:31 +01:00
Roeland Jago Douma e94ee7cbca
Fix tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-01 11:31:41 +01:00
dependabot[bot] 5480227525
Update sabre/dav requirement from 3.2.2 to 3.2.3 in /build/integration
Updates the requirements on [sabre/dav](https://github.com/sabre-io/dav) to permit the latest version.
- [Release notes](https://github.com/sabre-io/dav/releases)
- [Changelog](https://github.com/sabre-io/dav/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sabre-io/dav/commits/3.2.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-22 17:11:57 +00:00
Morris Jobke d867f9f091
Merge pull request #11037 from nextcloud/trash-webui-dav
Use trashbin dav endpoint to list trash in webui
2018-09-28 16:03:24 +02:00
Arthur Schiwon 108a8d6c4c
extend integration tests with users with numerical IDs
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-09-28 11:19:48 +02:00
Robin Appelman d890cd6a4c
fix sharing trashbin integration tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-09-20 17:03:59 +02:00
Robin Appelman d4087811e5
more trashbin integration tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-09-20 17:03:53 +02:00
Robin Appelman 8491c9bdc6
fix trashbin integration tests and add a few more
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-09-20 17:03:50 +02:00
Robin Appelman 26e2957aea
quote paths in behat.yml
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-09-20 17:03:47 +02:00
Robin Appelman a623e09868
remove old trashbin endpoint
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-09-20 17:03:36 +02:00
Morris Jobke a6fb5c5dba
Merge pull request #10663 from nextcloud/dependabot/composer/build/integration/behat/behat-approx-3.5.0
Update behat/behat requirement from ~3.3.0 to ~3.5.0 in /build/integration
2018-08-20 17:09:04 +02:00
dependabot[bot] 9fc47bf66e
Update behat/behat requirement from ~3.3.0 to ~3.5.0 in /build/integration
Updates the requirements on [behat/behat](https://github.com/Behat/Behat) to permit the latest version.
- [Release notes](https://github.com/Behat/Behat/releases)
- [Changelog](https://github.com/Behat/Behat/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Behat/Behat/commits/v3.5.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-08-13 01:14:46 +00:00
Arthur Schiwon 24ef41454c
don't add new LDAP configs if one is already present
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-08-12 23:49:59 +02:00
Arthur Schiwon 919c7b8531
improve fail info and disable cache for a case
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-08-12 22:45:22 +02:00
Arthur Schiwon 96f5210fc4
Phpunit changed, use proper Assert class
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-08-12 14:46:22 +02:00
Arthur Schiwon 59e35e3bf7
tests for user storage location
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-08-10 00:28:44 +02:00
Arthur Schiwon b069b13226
convert pagination tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-08-09 23:45:12 +02:00
Arthur Schiwon 0f6d98eed2
convert connection tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-08-09 23:45:12 +02:00
Arthur Schiwon f1cd4bc0c2
fix prov tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-08-09 23:45:12 +02:00
Arthur Schiwon 8808da816d
simplify tests and move some out to a new feature as we need a pristine
database for them

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-08-09 23:45:12 +02:00
Arthur Schiwon eaf352b8d1
integration test to ensure entries without displayname don't cause trouble
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-08-09 23:45:11 +02:00
Arthur Schiwon d1a8a909de
login does not save the response
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-08-09 23:45:11 +02:00