Commit graph

415 commits

Author SHA1 Message Date
Daniel Calviño Sánchez
c47a6411d5 Add more integration tests for resharing permissions
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-07-09 20:19:04 +02:00
Daniel Calviño Sánchez
5f53688a52 Add integration tests for video verification
Enabling the "send password by Talk" property of shares require that
Talk is installed and enabled, so the Drone step that runs them has to
first clone the Talk repository.

When the integration tests are run on a local development instance,
however, it is not guaranteed that Talk is installed. Due to this the
"@Talk" tag was added, which ensures that any feature or scenario marked
with it will first check if Talk is installed and, if not, skip the
scenario (instead of failing).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-06-01 10:53:24 +02:00
Daniel Calviño Sánchez
146e43ba47 Add integration tests for creating and updating a mail share
In most cases, when a mail share is created or updated an e-mail is sent
to the sharee, which is done by connecting to the SMTP server set in the
configuration. If the server can not be contacted then the creation or
update of the mail share fails.

To make possible to test mail shares without using a real SMTP server a
fake one has been added. The original script, which is MIT licensed, was
based on inetd, so it was slightly modified to run on its own.

In order to use it from the integration tests the "Given dummy mail
server is listening" step has to be called in the scenarios in which the
mail server is needed.

For now that is the only available step; things like checking the sent
mails, while possible (as the script can log the mails to certain file),
have not been added yet.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-06-01 10:53:24 +02:00
Daniel Calviño Sánchez
0e2c92ded7 Generalize integration test steps to download last share
Note that the "last link share can be downloaded" step was kept as it
tests the "url" property specific of link shares.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-06-01 10:53:23 +02:00
Daniel Calviño Sánchez
091da66b77 Remove unused variables
The step names were adjusted accordingly.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-06-01 10:53:23 +02:00
Roeland Jago Douma
cccd0d82de
Update public link share permission code
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-05-26 11:37:01 +02:00
Julius Härtl
6941bbebbf
Adjust integration tests to new permissions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-05-26 11:36:47 +02: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
Arthur Schiwon
4e8db8aa11
convert LDAP offline and backup server integration tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-08-09 23:45:11 +02:00
Arthur Schiwon
3450ed4536
integration test checking the group filter
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-08-09 23:45:10 +02:00
Arthur Schiwon
b4eeb9eff5
check user details
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-08-09 23:45:10 +02:00
Arthur Schiwon
86d145f069
behat integration tests for LDAP, basic setup
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-08-09 23:45:04 +02:00
Daniel Calviño Sánchez
de403f2f3d Add integration test for creating room shares when Talk is not enabled
The test just ensures that the controller will gracefully reject the
creation instead of failing miserably; the integration tests when Talk
is enabled are in the Talk repository.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-08-08 14:25:43 +02:00
Daniel Calviño Sánchez
1e16f7ecd9 Add integration tests for searching files by comments
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-07-25 18:53:45 +02:00