Skip to content
This repository has been archived by the owner on Jan 18, 2021. It is now read-only.

[Tests-Only] Add tests/acceptance/expected-failures.txt #394

Closed
wants to merge 3 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .codacy.yml
Original file line number Diff line number Diff line change
@@ -4,5 +4,6 @@ exclude_paths:
- changelog/**
- docs/**
- pkg/proto/**
- tests/acceptance/features/bootstrap/*

...
54 changes: 46 additions & 8 deletions .drone.star
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
def main(ctx):
before = [
testing(ctx),
apiTests(ctx, 'master', '9db442250583d3b71e633cf77fbcf643ed67e994'),
apiTests(ctx, 'adjust-skip-tags-expected-failures', ''),
]

stages = [
@@ -92,7 +92,25 @@ def apiTests(ctx, coreBranch = 'master', coreCommit = ''):
]
},
{
'name': 'acceptance-tests',
'name': 'clone-test-repos',
'image': 'owncloudci/php:7.2',
'pull': 'always',
'commands': [
'git clone -b master --depth=1 https://github.com/owncloud/testing.git /srv/app/tmp/testing',
'git clone -b %s --single-branch --no-tags https://github.com/owncloud/core.git /srv/app/testrunner' % (coreBranch),
'cd /srv/app/testrunner',
] + ([
'git checkout %s' % (coreCommit)
] if coreCommit != '' else []),
'volumes': [
{
'name': 'gopath',
'path': '/srv/app',
},
]
},
{
'name': 'local-acceptance-tests',
'image': 'owncloudci/php:7.2',
'pull': 'always',
'environment' : {
@@ -102,15 +120,35 @@ def apiTests(ctx, coreBranch = 'master', coreCommit = ''):
'TEST_EXTERNAL_USER_BACKENDS':'true',
'TEST_OCIS':'true',
'OCIS_REVA_DATA_ROOT': '/srv/app/tmp/reva/',
'SKELETON_DIR': '/srv/app/tmp/testing/data/apiSkeleton'
'SKELETON_DIR': '/srv/app/tmp/testing/data/apiSkeleton',
'PATH_TO_CORE': '/srv/app/testrunner'
},
'commands': [
'make test-acceptance-api'
],
'volumes': [
{
'name': 'gopath',
'path': '/srv/app',
},
]
},
{
'name': 'core-acceptance-tests',
'image': 'owncloudci/php:7.2',
'pull': 'always',
'environment' : {
'TEST_SERVER_URL': 'http://reva-server:9140',
'BEHAT_FILTER_TAGS': '~@skipOnOcis&&~@skipOnOcis-OC-Storage',
'REVA_LDAP_HOSTNAME':'ldap',
'TEST_EXTERNAL_USER_BACKENDS':'true',
'TEST_OCIS':'true',
'OCIS_REVA_DATA_ROOT': '/srv/app/tmp/reva/',
'SKELETON_DIR': '/srv/app/tmp/testing/data/apiSkeleton',
'EXPECTED_FAILURES_FILE': '/drone/src/tests/acceptance/expected-failures.txt'
},
'commands': [
'git clone -b master --depth=1 https://github.com/owncloud/testing.git /srv/app/tmp/testing',
'git clone -b %s --single-branch --no-tags https://github.com/owncloud/core.git /srv/app/testrunner' % (coreBranch),
'cd /srv/app/testrunner',
] + ([
'git checkout %s' % (coreCommit)
] if coreCommit != '' else []) + [
'make test-acceptance-api'
],
'volumes': [
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -6,3 +6,10 @@ coverage.out

/node_modules
/assets

# API acceptance tests
composer.lock
/vendor
vendor-bin/**/vendor
vendor-bin/**/composer.lock
tests/acceptance/output
18 changes: 18 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -159,3 +159,21 @@ docs: config-docs-generate docs-copy docs-build
.PHONY: watch
watch:
go run github.com/cespare/reflex -c reflex.conf

BEHAT_BIN=vendor-bin/behat/vendor/bin/behat

.PHONY: test-acceptance-api
test-acceptance-api: vendor-bin/behat/vendor
BEHAT_BIN=$(BEHAT_BIN) $(PATH_TO_CORE)/tests/acceptance/run.sh --remote --type api

vendor/bamarni/composer-bin-plugin: composer.lock
composer install

vendor-bin/behat/vendor: vendor/bamarni/composer-bin-plugin vendor-bin/behat/composer.lock
composer bin behat install --no-progress

vendor-bin/behat/composer.lock: vendor-bin/behat/composer.json
@echo behat composer.lock is not up to date.

composer.lock: composer.json
@echo composer.lock is not up to date.
18 changes: 18 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"name": "owncloud/ocis-reva",
"config" : {
"platform": {
"php": "7.2"
}
},
"require": {
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.4"
},
"extra": {
"bamarni-bin": {
"bin-links": false
}
}
}
39 changes: 39 additions & 0 deletions tests/acceptance/config/behat.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
default:
autoload:
'': '%paths.base%/../features/bootstrap'

suites:
apiSpecial1:
paths:
- '%paths.base%/../features/apiSpecial1'
context: &common_ldap_suite_context
parameters:
ldapAdminPassword: admin
ldapUsersOU: TestUsers
ldapGroupsOU: TestGroups
ldapInitialUserFilePath: /../../config/ldap-users.ldif
contexts:
- RevaContext:
- OccContext:
- FeatureContext: &common_feature_context_params
baseUrl: http://localhost:8080
adminUsername: admin
adminPassword: admin
regularUserPassword: 123456
ocPath: apps/testing/api/v1/occ

apiSpecial2:
paths:
- '%paths.base%/../features/apiSpecial2'
context: *common_ldap_suite_context
contexts:
- RevaContext:
- OccContext:
- FeatureContext: *common_feature_context_params
- FavoritesContext:
- WebDavPropertiesContext:

extensions:
jarnaiz\JUnitFormatter\JUnitFormatterExtension:
filename: report.xml
outputDir: '%paths.base%/../output/'
219 changes: 219 additions & 0 deletions tests/acceptance/expected-failures.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,219 @@
# this file contains the scenarios from ownCloud10 core API tests that are currently expected to fail
#
# https://github.com/owncloud/ocis-reva/issues/27 wildcard Access-Control-Allow-Origin
#
apiAuth/cors.feature:24
apiAuth/cors.feature:25
apiAuth/cors.feature:26
apiAuth/cors.feature:27
apiAuth/cors.feature:28
apiAuth/cors.feature:29
apiAuth/cors.feature:30
apiAuth/cors.feature:31
apiAuth/cors.feature:32
apiAuth/cors.feature:33
apiAuth/cors.feature:34
apiAuth/cors.feature:35
apiAuth/cors.feature:36
apiAuth/cors.feature:37
apiAuth/cors.feature:38
apiAuth/cors.feature:39
apiAuth/cors.feature:59
apiAuth/cors.feature:60
apiAuth/cors.feature:78
apiAuth/cors.feature:79
apiAuth/cors.feature:80
apiAuth/cors.feature:81
apiAuth/cors.feature:82
apiAuth/cors.feature:83
apiAuth/cors.feature:102
apiAuth/cors.feature:103
apiAuth/cors.feature:104
apiAuth/cors.feature:105
apiAuth/cors.feature:106
apiAuth/cors.feature:107
apiAuth/cors.feature:108
apiAuth/cors.feature:109
apiAuth/cors.feature:110
apiAuth/cors.feature:111
apiAuth/cors.feature:112
apiAuth/cors.feature:113
apiAuth/cors.feature:114
apiAuth/cors.feature:115
apiAuth/cors.feature:116
apiAuth/cors.feature:117
apiAuth/cors.feature:118
apiAuth/cors.feature:119
apiAuth/cors.feature:137
apiAuth/cors.feature:138
apiAuth/cors.feature:139
apiAuth/cors.feature:140
apiAuth/cors.feature:141
apiAuth/cors.feature:142
apiAuth/cors.feature:167
apiAuth/cors.feature:168
apiAuth/cors.feature:169
apiAuth/cors.feature:170
apiAuth/cors.feature:171
apiAuth/cors.feature:172
apiAuth/cors.feature:173
apiAuth/cors.feature:174
apiAuth/cors.feature:175
apiAuth/cors.feature:176
apiAuth/cors.feature:177
apiAuth/cors.feature:178
apiAuth/cors.feature:179
apiAuth/cors.feature:180
apiAuth/cors.feature:181
apiAuth/cors.feature:182
apiAuth/cors.feature:209
apiAuth/cors.feature:210
apiAuth/cors.feature:211
apiAuth/cors.feature:212
apiAuth/cors.feature:213
apiAuth/cors.feature:214
#
# https://github.com/owncloud/ocis-reva/issues/30 HTTP 401 Unauthorized responses don't contain a body
#
apiAuthOcs/ocsDELETEAuth.feature:10
apiAuthOcs/ocsDELETEAuth.feature:35
apiAuthOcs/ocsGETAuth.feature:10
apiAuthOcs/ocsGETAuth.feature:33
apiAuthOcs/ocsGETAuth.feature:82
apiAuthOcs/ocsGETAuth.feature:173
apiAuthOcs/ocsGETAuth.feature:237
apiAuthOcs/ocsGETAuth.feature:257
apiAuthOcs/ocsGETAuth.feature:295
apiAuthOcs/ocsPOSTAuth.feature:11
apiAuthOcs/ocsPUTAuth.feature:12
apiAuthOcs/ocsPUTAuth.feature:30
#
# https://github.com/owncloud/ocis-reva/issues/60 app passwords are not possible
# https://github.com/owncloud/ocis-reva/issues/37 no way to enforce token auth
apiAuthWebDav/webDavDELETEAuth.feature:36
apiAuthWebDav/webDavDELETEAuth.feature:78
apiAuthWebDav/webDavDELETEAuth.feature:92
apiAuthWebDav/webDavLOCKAuth.feature:38
apiAuthWebDav/webDavLOCKAuth.feature:92
apiAuthWebDav/webDavLOCKAuth.feature:106
apiAuthWebDav/webDavMKCOLAuth.feature:37
apiAuthWebDav/webDavMKCOLAuth.feature:82
apiAuthWebDav/webDavMKCOLAuth.feature:96
apiAuthWebDav/webDavMOVEAuth.feature:37
apiAuthWebDav/webDavMOVEAuth.feature:88
apiAuthWebDav/webDavMOVEAuth.feature:102
apiAuthWebDav/webDavPOSTAuth.feature:38
apiAuthWebDav/webDavPOSTAuth.feature:79
apiAuthWebDav/webDavPOSTAuth.feature:93
apiAuthWebDav/webDavPROPFINDAuth.feature:37
apiAuthWebDav/webDavPROPFINDAuth.feature:88
apiAuthWebDav/webDavPROPFINDAuth.feature:102
apiAuthWebDav/webDavPROPPATCHAuth.feature:38
apiAuthWebDav/webDavPROPPATCHAuth.feature:79
apiAuthWebDav/webDavPROPPATCHAuth.feature:93
apiAuthWebDav/webDavPUTAuth.feature:38
apiAuthWebDav/webDavPUTAuth.feature:82
apiAuthWebDav/webDavPUTAuth.feature:96
#
# https://github.com/owncloud/ocis-reva/issues/41 various sharing settings cannot be set
#
apiCapabilities/capabilities.feature:8
apiCapabilities/capabilities.feature:15
apiCapabilities/capabilities.feature:21
apiCapabilities/capabilities.feature:27
apiCapabilities/capabilities.feature:33
apiCapabilities/capabilities.feature:38
apiCapabilities/capabilities.feature:80
apiCapabilities/capabilities.feature:93
apiCapabilities/capabilities.feature:100
apiCapabilities/capabilities.feature:106
apiCapabilities/capabilities.feature:112
apiCapabilities/capabilities.feature:119
apiCapabilities/capabilities.feature:125
apiCapabilities/capabilities.feature:134
apiCapabilities/capabilities.feature:144
apiCapabilities/capabilities.feature:155
apiCapabilities/capabilities.feature:166
apiCapabilities/capabilities.feature:176
apiCapabilities/capabilities.feature:187
apiCapabilities/capabilities.feature:199
apiCapabilities/capabilities.feature:207
apiCapabilities/capabilities.feature:215
apiCapabilities/capabilities.feature:222
apiCapabilities/capabilities.feature:245
apiCapabilities/capabilities.feature:262
apiCapabilities/capabilities.feature:283
apiCapabilities/capabilities.feature:305
apiCapabilities/capabilities.feature:327
apiCapabilities/capabilities.feature:349
apiCapabilities/capabilities.feature:374
apiCapabilities/capabilities.feature:399
apiCapabilities/capabilities.feature:424
apiCapabilities/capabilities.feature:446
apiCapabilities/capabilities.feature:468
apiCapabilities/capabilities.feature:491
apiCapabilities/capabilities.feature:516
apiCapabilities/capabilities.feature:538
apiCapabilities/capabilities.feature:560
apiCapabilities/capabilities.feature:583
apiCapabilities/capabilities.feature:607
apiCapabilities/capabilities.feature:628
apiCapabilities/capabilities.feature:650
apiCapabilities/capabilities.feature:673
apiCapabilities/capabilities.feature:699
apiCapabilities/capabilities.feature:728
apiCapabilities/capabilities.feature:757
apiCapabilities/capabilitiesWithNormalUser.feature:52
#
# https://github.com/owncloud/ocis-reva/issues/38 no comments endpoint
#
apiComments/comments.feature:9
apiComments/comments.feature:24
apiComments/comments.feature:38
apiComments/comments.feature:52
apiComments/createComments.feature:20
apiComments/createComments.feature:21
apiComments/createComments.feature:22
apiComments/createComments.feature:24
apiComments/createComments.feature:35
apiComments/createComments.feature:46
apiComments/createComments.feature:59
apiComments/createComments.feature:70
apiComments/createComments.feature:76
apiComments/createComments.feature:87
apiComments/deleteComments.feature:20
apiComments/deleteComments.feature:21
apiComments/deleteComments.feature:22
apiComments/deleteComments.feature:24
apiComments/deleteComments.feature:35
apiComments/deleteComments.feature:48
apiComments/deleteComments.feature:55
apiComments/deleteComments.feature:66
apiComments/deleteComments.feature:79
apiComments/deleteComments.feature:87
apiComments/deleteComments.feature:97
apiComments/editComments.feature:22
apiComments/editComments.feature:23
apiComments/editComments.feature:24
apiComments/editComments.feature:27
apiComments/editComments.feature:38
apiComments/editComments.feature:51
#
# https://github.com/owncloud/ocis-reva/issues/39 REPORT request not implemented
#
apiFavorites/favorites.feature:103
apiFavorites/favorites.feature:104
apiFavorites/favorites.feature:126
apiFavorites/favorites.feature:127
apiFavorites/favorites.feature:143
apiFavorites/favorites.feature:144
apiFavorites/favorites.feature:165
apiFavorites/favorites.feature:166
apiFavorites/favorites.feature:195
apiFavorites/favorites.feature:196
apiFavorites/favorites.feature:210
apiFavorites/favorites.feature:211
apiFavorites/favorites.feature:225
apiFavorites/favorites.feature:226
apiFavorites/favorites.feature:239
apiFavorites/favorites.feature:240
114 changes: 114 additions & 0 deletions tests/acceptance/features/apiSpecial1/ocsGETAuth.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
@api @files_sharing-app-required
Feature: auth

Background:
Given user "Alice" has been created with default attributes and skeleton files

@issue-ocis-reva-29
@issue-ocis-reva-30
@smokeTest
#after fixing all issues delete this Scenario and use the core scenario
Scenario: using OCS anonymously
When a user requests these endpoints with "GET" and no authentication
| endpoint |
| /ocs/v1.php/apps/files_external/api/v1/mounts |
| /ocs/v2.php/apps/files_external/api/v1/mounts |
| /ocs/v1.php/apps/files_sharing/api/v1/remote_shares |
| /ocs/v2.php/apps/files_sharing/api/v1/remote_shares |
| /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending |
| /ocs/v2.php/apps/files_sharing/api/v1/remote_shares/pending |
| /ocs/v1.php/apps/files_sharing/api/v1/shares |
| /ocs/v2.php/apps/files_sharing/api/v1/shares |
| /ocs/v1.php/cloud/apps |
| /ocs/v2.php/cloud/apps |
| /ocs/v1.php/cloud/groups |
| /ocs/v2.php/cloud/groups |
| /ocs/v1.php/cloud/users |
| /ocs/v2.php/cloud/users |
| /ocs/v1.php/config |
| /ocs/v2.php/config |
| /ocs/v1.php/privatedata/getattribute |
| /ocs/v2.php/privatedata/getattribute |
Then the HTTP status code of responses on all endpoints should be "401"
And the OCS status code of responses on all endpoints should be "notset"

@issue-ocis-reva-11
@issue-ocis-reva-30
@issue-ocis-reva-31
@issue-ocis-reva-32
@issue-ocis-reva-33
@issue-ocis-reva-34
@issue-ocis-reva-35
#after fixing all issues delete this Scenario and use the core scenario
Scenario: using OCS with non-admin basic auth
When the user "Alice" requests these endpoints with "GET" with basic auth
| endpoint |
| /ocs/v1.php/apps/files_external/api/v1/mounts |
| /ocs/v1.php/apps/files_sharing/api/v1/remote_shares |
| /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending |
| /ocs/v1.php/privatedata/getattribute |
| /ocs/v1.php/cloud/groups |
| /ocs/v1.php/cloud/apps |
Then the HTTP status code of responses on all endpoints should be "200"
And the OCS status code of responses on all endpoints should be "998"
When the user "Alice" requests these endpoints with "GET" with basic auth
| endpoint |
| /ocs/v1.php/config |
Then the HTTP status code of responses on all endpoints should be "200"
And the OCS status code of responses on all endpoints should be "100"
When the user "Alice" requests these endpoints with "GET" with basic auth
| endpoint |
| /ocs/v2.php/apps/files_external/api/v1/mounts |
| /ocs/v2.php/apps/files_sharing/api/v1/remote_shares |
| /ocs/v2.php/apps/files_sharing/api/v1/remote_shares/pending |
# | /ocs/v1.php/apps/files_sharing/api/v1/shares | 100 | 200 |
# | /ocs/v2.php/apps/files_sharing/api/v1/shares | 100 | 200 |

| /ocs/v2.php/cloud/apps |
| /ocs/v2.php/cloud/groups |
| /ocs/v2.php/privatedata/getattribute |
Then the HTTP status code of responses on all endpoints should be "404"
And the OCS status code of responses on all endpoints should be "998"
When the user "Alice" requests these endpoints with "GET" with basic auth
| endpoint |
| /ocs/v1.php/cloud/users |
Then the HTTP status code of responses on all endpoints should be "200"
And the OCS status code of responses on all endpoints should be "403"
When the user "Alice" requests these endpoints with "GET" with basic auth
| endpoint |
| /ocs/v2.php/cloud/users |
Then the HTTP status code of responses on all endpoints should be "403"
And the OCS status code of responses on all endpoints should be "403"
When the user "Alice" requests these endpoints with "GET" with basic auth
| endpoint |
| /ocs/v2.php/config |
Then the HTTP status code of responses on all endpoints should be "200"
And the OCS status code of responses on all endpoints should be "200"

@issue-ocis-reva-29
@issue-ocis-reva-30
@smokeTest
#after fixing all issues delete this Scenario and use the core scenario
Scenario: using OCS as normal user with wrong password
When user "Alice" requests these endpoints with "GET" using password "invalid"
| endpoint |
| /ocs/v1.php/apps/files_external/api/v1/mounts |
| /ocs/v2.php/apps/files_external/api/v1/mounts |
| /ocs/v1.php/apps/files_sharing/api/v1/remote_shares |
| /ocs/v2.php/apps/files_sharing/api/v1/remote_shares |
| /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending |
| /ocs/v2.php/apps/files_sharing/api/v1/remote_shares/pending |
| /ocs/v1.php/apps/files_sharing/api/v1/shares |
| /ocs/v2.php/apps/files_sharing/api/v1/shares |
| /ocs/v1.php/cloud/apps |
| /ocs/v2.php/cloud/apps |
| /ocs/v1.php/cloud/groups |
| /ocs/v2.php/cloud/groups |
| /ocs/v1.php/cloud/users |
| /ocs/v2.php/cloud/users |
| /ocs/v1.php/config |
| /ocs/v2.php/config |
| /ocs/v1.php/privatedata/getattribute |
| /ocs/v2.php/privatedata/getattribute |
Then the HTTP status code of responses on all endpoints should be "401"
And the OCS status code of responses on all endpoints should be "notset"
25 changes: 25 additions & 0 deletions tests/acceptance/features/apiSpecial2/favorites.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
@api
Feature: favorite

Background:
Given using OCS API version "1"
And user "Alice" has been created with default attributes and without skeleton files
And user "Alice" has uploaded file with content "some data" to "/textfile0.txt"
And user "Alice" has uploaded file with content "some data" to "/textfile1.txt"
And user "Alice" has uploaded file with content "some data" to "/textfile2.txt"
And user "Alice" has uploaded file with content "some data" to "/textfile3.txt"
And user "Alice" has uploaded file with content "some data" to "/textfile4.txt"
And user "Alice" has created folder "/FOLDER"
And user "Alice" has created folder "/PARENT"
And user "Alice" has uploaded file with content "some data" to "/PARENT/parent.txt"

@skipOnOcis-OC-Storage @issue-ocis-reva-276
#after fixing the issues delete this Scenario and use the core scenario
Scenario Outline: Favorite a folder
Given using <dav_version> DAV path
When user "Alice" favorites element "/FOLDER" using the WebDAV API
Then the HTTP status code should be "500"
Examples:
| dav_version |
| old |
| new |
42 changes: 42 additions & 0 deletions tests/acceptance/features/bootstrap/RevaContext.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?php

use Behat\Behat\Context\Context;
use Behat\Behat\Hook\Scope\AfterScenarioScope;
use Behat\Behat\Hook\Scope\BeforeScenarioScope;
use PHPUnit\Framework\Assert;
use TestHelpers\AppConfigHelper;
use TestHelpers\SetupHelper;

require_once 'bootstrap.php';

/**
* Context for Reva specific steps
*/
class RevaContext implements Context {

/**
* @var FeatureContext
*/
private $featureContext;

/**
* @BeforeScenario
*
* @param BeforeScenarioScope $scope
*
* @return void
* @throws Exception
*/
public function setUpScenario(BeforeScenarioScope $scope) {
// Get the environment
$environment = $scope->getEnvironment();
// Get all the contexts you need in this context
$this->featureContext = $environment->getContext('FeatureContext');
SetupHelper::init(
$this->featureContext->getAdminUsername(),
$this->featureContext->getAdminPassword(),
$this->featureContext->getBaseUrl(),
$this->featureContext->getOcPath()
);
}
}
14 changes: 14 additions & 0 deletions tests/acceptance/features/bootstrap/bootstrap.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?php
$pathToCore = \getenv('PATH_TO_CORE');
if ($pathToCore === false) {
$pathToCore = "../core";
}

require_once $pathToCore . '/tests/acceptance/features/bootstrap/bootstrap.php';

$classLoader = new \Composer\Autoload\ClassLoader();
$classLoader->addPsr4(
"", $pathToCore . "/tests/acceptance/features/bootstrap", true
);

$classLoader->register();
22 changes: 22 additions & 0 deletions vendor-bin/behat/composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"config" : {
"platform": {
"php": "7.2"
}
},
"require": {
"behat/behat": "^3.7",
"behat/mink": "1.7.1",
"behat/mink-extension": "^2.3",
"behat/mink-goutte-driver": "^1.2",
"behat/mink-selenium2-driver": "^1.4",
"jarnaiz/behat-junit-formatter": "^1.3",
"rdx/behat-variables": "^1.2",
"sensiolabs/behat-page-object-extension": "^2.3",
"symfony/translation": "^4.4",
"sabre/xml": "^2.2",
"guzzlehttp/guzzle": "^6.5",
"phpunit/phpunit": "^8.5",
"laminas/laminas-ldap": "^2.10"
}
}