Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
die_coolen_jungs
our_own_cloud_project
Commits
58277310
Commit
58277310
authored
Oct 04, 2016
by
Vincent Petry
Committed by
GitHub
Oct 04, 2016
Browse files
Merge pull request #26235 from owncloud/integration-tests-refactoring
Integration tests refactoring
parents
d009e6d6
d052fbc8
Changes
6
Hide whitespace changes
Inline
Side-by-side
build/integration/features/bootstrap/WebDav.php
View file @
58277310
...
...
@@ -12,6 +12,8 @@ trait WebDav {
/** @var string*/
private
$davPath
=
"remote.php/webdav"
;
/** @var boolean*/
private
$usingOldDavPath
=
true
;
/** @var ResponseInterface */
private
$response
;
...
...
@@ -22,18 +24,36 @@ trait WebDav {
$this
->
davPath
=
$davPath
;
}
public
function
getFilesPath
(
$user
){
$basePath
=
''
;
if
(
$this
->
davPath
===
"remote.php/dav"
){
$basePath
=
'/files/'
.
$user
.
'/'
;
/**
* @Given /^using old dav path$/
*/
public
function
usingOldDavPath
()
{
$this
->
davPath
=
"remote.php/webdav"
;
$this
->
usingOldDavPath
=
true
;
}
/**
* @Given /^using new dav path$/
*/
public
function
usingNewDavPath
()
{
$this
->
davPath
=
"remote.php/dav"
;
$this
->
usingOldDavPath
=
false
;
}
public
function
getDavFilesPath
(
$user
){
if
(
$this
->
usingOldDavPath
===
true
){
return
$this
->
davPath
;
}
else
{
$base
Path
=
'/
'
;
return
$this
->
dav
Path
.
'/
files/'
.
$user
;
}
return
$basePath
;
}
public
function
makeDavRequest
(
$user
,
$method
,
$path
,
$headers
,
$body
=
null
){
$fullUrl
=
substr
(
$this
->
baseUrl
,
0
,
-
4
)
.
$this
->
davPath
.
"
$path
"
;
public
function
makeDavRequest
(
$user
,
$method
,
$path
,
$headers
,
$body
=
null
,
$type
=
"files"
){
if
(
$type
===
"files"
){
$fullUrl
=
substr
(
$this
->
baseUrl
,
0
,
-
4
)
.
$this
->
getDavFilesPath
(
$user
)
.
"
$path
"
;
}
else
if
(
$type
===
"uploads"
){
$fullUrl
=
substr
(
$this
->
baseUrl
,
0
,
-
4
)
.
$this
->
davPath
.
"
$path
"
;
}
$client
=
new
GClient
();
$options
=
[];
if
(
$user
===
'admin'
)
{
...
...
@@ -62,7 +82,7 @@ trait WebDav {
* @param string $fileDestination
*/
public
function
userMovedFile
(
$user
,
$entry
,
$fileSource
,
$fileDestination
){
$fullUrl
=
substr
(
$this
->
baseUrl
,
0
,
-
4
)
.
$this
->
davPath
;
$fullUrl
=
substr
(
$this
->
baseUrl
,
0
,
-
4
)
.
$this
->
getDavFilesPath
(
$user
)
;
$headers
[
'Destination'
]
=
$fullUrl
.
$fileDestination
;
$this
->
response
=
$this
->
makeDavRequest
(
$user
,
"MOVE"
,
$fileSource
,
$headers
);
PHPUnit_Framework_Assert
::
assertEquals
(
201
,
$this
->
response
->
getStatusCode
());
...
...
@@ -75,7 +95,7 @@ trait WebDav {
* @param string $fileDestination
*/
public
function
userMovesFile
(
$user
,
$entry
,
$fileSource
,
$fileDestination
){
$fullUrl
=
substr
(
$this
->
baseUrl
,
0
,
-
4
)
.
$this
->
davPath
;
$fullUrl
=
substr
(
$this
->
baseUrl
,
0
,
-
4
)
.
$this
->
getDavFilesPath
(
$user
)
;
$headers
[
'Destination'
]
=
$fullUrl
.
$fileDestination
;
try
{
$this
->
response
=
$this
->
makeDavRequest
(
$user
,
"MOVE"
,
$fileSource
,
$headers
);
...
...
@@ -91,7 +111,7 @@ trait WebDav {
* @param string $fileDestination
*/
public
function
userCopiesFile
(
$user
,
$fileSource
,
$fileDestination
){
$fullUrl
=
substr
(
$this
->
baseUrl
,
0
,
-
4
)
.
$this
->
davPath
;
$fullUrl
=
substr
(
$this
->
baseUrl
,
0
,
-
4
)
.
$this
->
getDavFilesPath
(
$user
)
;
$headers
[
'Destination'
]
=
$fullUrl
.
$fileDestination
;
try
{
$this
->
response
=
$this
->
makeDavRequest
(
$user
,
"COPY"
,
$fileSource
,
$headers
);
...
...
@@ -220,12 +240,12 @@ trait WebDav {
}
/**
* @Then /^as "([^"]*)" gets properties of
folder
"([^"]*)" with$/
* @Then /^as "([^"]*)" gets properties of
(file|folder|entry)
"([^"]*)" with$/
* @param string $user
* @param string $path
* @param \Behat\Gherkin\Node\TableNode|null $propertiesTable
*/
public
function
asGetsPropertiesOfFolderWith
(
$user
,
$path
,
$propertiesTable
)
{
public
function
asGetsPropertiesOfFolderWith
(
$user
,
$elementType
,
$path
,
$propertiesTable
)
{
$properties
=
null
;
if
(
$propertiesTable
instanceof
\
Behat\Gherkin\Node\TableNode
)
{
foreach
(
$propertiesTable
->
getRows
()
as
$row
)
{
...
...
@@ -344,7 +364,7 @@ trait WebDav {
}
public
function
makeSabrePath
(
$user
,
$path
)
{
return
$this
->
encodePath
(
$this
->
davPath
.
$this
->
getFilesPath
(
$user
)
.
ltrim
(
$path
,
'/'
)
);
return
$this
->
encodePath
(
$this
->
get
Dav
FilesPath
(
$user
)
.
$path
);
}
public
function
getSabreClient
(
$user
)
{
...
...
@@ -375,7 +395,7 @@ trait WebDav {
$elementRows
=
$expectedElements
->
getRows
();
$elementsSimplified
=
$this
->
simplifyArray
(
$elementRows
);
foreach
(
$elementsSimplified
as
$expectedElement
)
{
$webdavPath
=
"/"
.
$this
->
davPath
.
$expectedElement
;
$webdavPath
=
"/"
.
$this
->
getDavFilesPath
(
$user
)
.
$expectedElement
;
if
(
!
array_key_exists
(
$webdavPath
,
$elementList
)){
PHPUnit_Framework_Assert
::
fail
(
"
$webdavPath
"
.
" is not in propfind answer"
);
}
...
...
@@ -451,7 +471,7 @@ trait WebDav {
*/
public
function
userCreatedAFolder
(
$user
,
$destination
){
try
{
$this
->
response
=
$this
->
makeDavRequest
(
$user
,
"MKCOL"
,
$
this
->
getFilesPath
(
$user
)
.
ltrim
(
$destination
,
$this
->
getFilesPath
(
$user
))
,
[]);
$this
->
response
=
$this
->
makeDavRequest
(
$user
,
"MKCOL"
,
$
destination
,
[]);
}
catch
(
\
GuzzleHttp\Exception\ServerException
$e
)
{
// 4xx and 5xx responses cause an exception
$this
->
response
=
$e
->
getResponse
();
...
...
@@ -470,8 +490,8 @@ trait WebDav {
{
$num
-=
1
;
$data
=
\
GuzzleHttp\Stream\Stream
::
factory
(
$data
);
$file
=
$destination
.
'-chunking-42-'
.
$total
.
'-'
.
$num
;
$this
->
makeDavRequest
(
$user
,
'PUT'
,
$file
,
[
'OC-Chunked'
=>
'1'
],
$data
);
$file
=
$destination
.
'-chunking-42-'
.
$total
.
'-'
.
$num
;
$this
->
makeDavRequest
(
$user
,
'PUT'
,
$file
,
[
'OC-Chunked'
=>
'1'
],
$data
,
"uploads"
);
}
/**
...
...
@@ -480,7 +500,7 @@ trait WebDav {
public
function
userCreatesANewChunkingUploadWithId
(
$user
,
$id
)
{
$destination
=
'/uploads/'
.
$user
.
'/'
.
$id
;
$this
->
makeDavRequest
(
$user
,
'MKCOL'
,
$destination
,
[]);
$this
->
makeDavRequest
(
$user
,
'MKCOL'
,
$destination
,
[]
,
null
,
"uploads"
);
}
/**
...
...
@@ -489,8 +509,8 @@ trait WebDav {
public
function
userUploadsNewChunkFileOfWithToId
(
$user
,
$num
,
$data
,
$id
)
{
$data
=
\
GuzzleHttp\Stream\Stream
::
factory
(
$data
);
$destination
=
'/uploads/'
.
$user
.
'/'
.
$id
.
'/'
.
$num
;
$this
->
makeDavRequest
(
$user
,
'PUT'
,
$destination
,
[],
$data
);
$destination
=
'/uploads/'
.
$user
.
'/'
.
$id
.
'/'
.
$num
;
$this
->
makeDavRequest
(
$user
,
'PUT'
,
$destination
,
[],
$data
,
"uploads"
);
}
/**
...
...
@@ -498,11 +518,11 @@ trait WebDav {
*/
public
function
userMovesNewChunkFileWithIdToMychunkedfile
(
$user
,
$id
,
$dest
)
{
$source
=
'/uploads/'
.
$user
.
'/'
.
$id
.
'/.file'
;
$destination
=
substr
(
$this
->
baseUrl
,
0
,
-
4
)
.
$this
->
davPath
.
'/files/'
.
$user
.
$dest
;
$source
=
'/uploads/'
.
$user
.
'/'
.
$id
.
'/.file'
;
$destination
=
substr
(
$this
->
baseUrl
,
0
,
-
4
)
.
$this
->
getDavFilesPath
(
$user
)
.
$dest
;
$this
->
makeDavRequest
(
$user
,
'MOVE'
,
$source
,
[
'Destination'
=>
$destination
]);
]
,
null
,
"uploads"
);
}
...
...
@@ -561,17 +581,8 @@ trait WebDav {
];
}
$response
=
$client
->
proppatch
(
$this
->
davPath
.
$this
->
getFilesPath
(
$user
)
.
ltrim
(
$path
,
'/'
)
,
$properties
,
$folderDepth
);
$response
=
$client
->
proppatch
(
$this
->
get
Dav
FilesPath
(
$user
)
.
$path
,
$properties
,
$folderDepth
);
return
$response
;
}
/**
* @Then /^as "([^"]*)" gets properties of file "([^"]*)" with$/
* @param string $user
* @param string $path
* @param \Behat\Gherkin\Node\TableNode|null $propertiesTable
*/
public
function
asGetsPropertiesOfFileWith
(
$user
,
$path
,
$propertiesTable
)
{
$this
->
asGetsPropertiesOfFolderWith
(
$user
,
$path
,
$propertiesTable
);
}
}
build/integration/features/dav-v2.feature
View file @
58277310
...
...
@@ -3,24 +3,24 @@ Feature: dav-v2
Given
using api version
"1"
Scenario
:
moving a file new endpoint way
Given
using dav path
"remote.php/dav"
Given
using
new
dav path
And
As an
"admin"
And
user
"user0"
exists
When
User
"user0"
moves file
"/
files/user0/
textfile0.txt"
to
"/
files/user0/
FOLDER/textfile0.txt"
When
User
"user0"
moves file
"/textfile0.txt"
to
"/FOLDER/textfile0.txt"
Then
the HTTP status code should be
"201"
Scenario
:
download a file with range using new endpoint
Given
using dav path
"remote.php/dav"
Given
using
new
dav path
And
As an
"admin"
And
user
"user0"
exists
And
As an
"user0"
When
Downloading file
"/
files/user0/
welcome.txt"
with range
"bytes=51-77"
When
Downloading file
"/welcome.txt"
with range
"bytes=51-77"
Then
Downloaded content should be
"example file for developers"
Scenario
:
Downloading a file on the new endpoint should serve security headers
Given
using dav path
"remote.php/dav/files/admin/"
Given
using
new
dav path
And
As an
"admin"
When
Downloading file
"welcome.txt"
When
Downloading file
"
/
welcome.txt"
Then
The following headers should be set
|
Content-Disposition
|
attachment;
filename*=UTF-8''welcome.txt;
filename="welcome.txt"
|
|
Content-Security-Policy
|
default-src
'none';
|
...
...
@@ -55,16 +55,16 @@ Feature: dav-v2
Then
the HTTP status code should be
"207"
Scenario
:
Uploading a file having 0B as quota
Given
using dav path
"remote.php/dav"
Given
using
new
dav path
And
As an
"admin"
And
user
"user0"
exists
And
user
"user0"
has a quota of
"0 B"
And
As an
"user0"
When
User
"user0"
uploads file
"data/textfile.txt"
to
"/
files/user0/
asdf.txt"
When
User
"user0"
uploads file
"data/textfile.txt"
to
"/asdf.txt"
Then
the HTTP status code should be
"507"
Scenario
:
Uploading a file as recipient using webdav new endpoint having quota
Given
using dav path
"remote.php/dav"
Given
using
new
dav path
And
As an
"admin"
And
user
"user0"
exists
And
user
"user1"
exists
...
...
@@ -78,5 +78,5 @@ Feature: dav-v2
|
permissions
|
31
|
|
shareWith
|
user0
|
And
As an
"user0"
When
User
"user0"
uploads file
"data/textfile.txt"
to
"/
files/user0/
testquota/asdf.txt"
When
User
"user0"
uploads file
"data/textfile.txt"
to
"/testquota/asdf.txt"
Then
the HTTP status code should be
"201"
build/integration/features/external-storage.feature
View file @
58277310
Feature
:
external-storage
Background
:
Given
using api version
"1"
Given
using dav path
"remote.php/webdav"
Given
using
old
dav path
@local_storage
Scenario
:
Share by link a file inside a local external storage
...
...
build/integration/features/favorites.feature
View file @
58277310
...
...
@@ -3,7 +3,7 @@ Feature: favorite
Given
using api version
"1"
Scenario
:
Favorite a folder
Given
using dav path
"remote.php/webdav"
Given
using
old
dav path
And
As an
"admin"
And
user
"user0"
exists
When
user
"user0"
favorites element
"/FOLDER"
...
...
@@ -12,7 +12,7 @@ Feature: favorite
And
the
single
response
should
contain
a
property
"{http://owncloud.org/ns}favorite"
with
value
"1"
Scenario
:
Favorite and unfavorite a folder
Given
using dav path
"remote.php/webdav"
Given
using
old
dav path
And
As an
"admin"
And
user
"user0"
exists
When
user
"user0"
favorites element
"/FOLDER"
...
...
@@ -22,7 +22,7 @@ Feature: favorite
And
the
single
response
should
contain
a
property
"{http://owncloud.org/ns}favorite"
with
value
""
Scenario
:
Favorite a file
Given
using dav path
"remote.php/webdav"
Given
using
old
dav path
And
As an
"admin"
And
user
"user0"
exists
When
user
"user0"
favorites element
"/textfile0.txt"
...
...
@@ -31,7 +31,7 @@ Feature: favorite
And
the
single
response
should
contain
a
property
"{http://owncloud.org/ns}favorite"
with
value
"1"
Scenario
:
Favorite and unfavorite a file
Given
using dav path
"remote.php/webdav"
Given
using
old
dav path
And
As an
"admin"
And
user
"user0"
exists
When
user
"user0"
favorites element
"/textfile0.txt"
...
...
@@ -41,7 +41,7 @@ Feature: favorite
And
the
single
response
should
contain
a
property
"{http://owncloud.org/ns}favorite"
with
value
""
Scenario
:
Favorite a folder new endpoint
Given
using dav path
"remote.php/dav"
Given
using
new
dav path
And
As an
"admin"
And
user
"user0"
exists
When
user
"user0"
favorites element
"/FOLDER"
...
...
@@ -50,7 +50,7 @@ Feature: favorite
And
the
single
response
should
contain
a
property
"{http://owncloud.org/ns}favorite"
with
value
"1"
Scenario
:
Favorite and unfavorite a folder new endpoint
Given
using dav path
"remote.php/dav"
Given
using
new
dav path
And
As an
"admin"
And
user
"user0"
exists
When
user
"user0"
favorites element
"/FOLDER"
...
...
@@ -60,7 +60,7 @@ Feature: favorite
And
the
single
response
should
contain
a
property
"{http://owncloud.org/ns}favorite"
with
value
""
Scenario
:
Favorite a file new endpoint
Given
using dav path
"remote.php/dav"
Given
using
new
dav path
And
As an
"admin"
And
user
"user0"
exists
When
user
"user0"
favorites element
"/textfile0.txt"
...
...
@@ -69,7 +69,7 @@ Feature: favorite
And
the
single
response
should
contain
a
property
"{http://owncloud.org/ns}favorite"
with
value
"1"
Scenario
:
Favorite and unfavorite a file new endpoint
Given
using dav path
"remote.php/dav"
Given
using
new
dav path
And
As an
"admin"
And
user
"user0"
exists
When
user
"user0"
favorites element
"/textfile0.txt"
...
...
build/integration/features/sharing-v1.feature
View file @
58277310
Feature
:
sharing
Background
:
Given
using api version
"1"
Given
using dav path
"remote.php/webdav"
Given
using
old
dav path
Scenario
:
Creating a new share with user
Given
user
"user0"
exists
...
...
@@ -533,7 +533,7 @@ Feature: sharing
|
/myFOLDER/myTMP/
|
Scenario
:
Check quota of owners parent directory of a shared file
Given
using dav path
"remote.php/webdav"
Given
using
old
dav path
And
As an
"admin"
And
user
"user0"
exists
And
user
"user1"
exists
...
...
@@ -607,7 +607,7 @@ Feature: sharing
Given
user
"user0"
exists
And
user
"user1"
exists
And
User
"user0"
uploads file with content
"foo"
to
"/tmp.txt"
And
file
"tmp.txt"
of user
"user0"
is shared with user
"user1"
And
file
"
/
tmp.txt"
of user
"user0"
is shared with user
"user1"
When
as
"user1"
gets properties of folder
"/tmp.txt"
with
|
{http://open-collaboration-services.org/ns}share-permissions
|
Then
the
single
response
should
contain
a
property
"{http://open-collaboration-services.org/ns}share-permissions"
with
value
"19"
...
...
@@ -726,16 +726,17 @@ Feature: sharing
And
the HTTP status code should be
"401"
Scenario
:
Merging shares for recipient when shared from outside with group and member
Given
As an
"admin"
Given
using old dav path
And
As an
"admin"
And
user
"user0"
exists
And
user
"user1"
exists
And
group
"group1"
exists
And
user
"user1"
belongs to group
"group1"
And
user
"user0"
created a folder
"merge-test-outside"
When
folder
"merge-test-outside"
of user
"user0"
is shared with group
"group1"
And
folder
"merge-test-outside"
of user
"user0"
is shared with user
"user1"
Then
as
"user1"
the folder
"merge-test-outside"
exists
And
as
"user1"
the folder
"merge-test-outside (2)"
does not exist
And
user
"user0"
created a folder
"
/
merge-test-outside"
When
folder
"
/
merge-test-outside"
of user
"user0"
is shared with group
"group1"
And
folder
"
/
merge-test-outside"
of user
"user0"
is shared with user
"user1"
Then
as
"user1"
the folder
"
/
merge-test-outside"
exists
And
as
"user1"
the folder
"
/
merge-test-outside (2)"
does not exist
Scenario
:
Merging shares for recipient when shared from outside with group and member with different permissions
Given
As an
"admin"
...
...
@@ -743,13 +744,13 @@ Feature: sharing
And
user
"user1"
exists
And
group
"group1"
exists
And
user
"user1"
belongs to group
"group1"
And
user
"user0"
created a folder
"merge-test-outside-perms"
When
folder
"merge-test-outside-perms"
of user
"user0"
is shared with group
"group1"
with permissions 1
And
folder
"merge-test-outside-perms"
of user
"user0"
is shared with user
"user1"
with permissions 31
Then
as
"user1"
gets properties of folder
"merge-test-outside-perms"
with
And
user
"user0"
created a folder
"
/
merge-test-outside-perms"
When
folder
"
/
merge-test-outside-perms"
of user
"user0"
is shared with group
"group1"
with permissions 1
And
folder
"
/
merge-test-outside-perms"
of user
"user0"
is shared with user
"user1"
with permissions 31
Then
as
"user1"
gets properties of folder
"
/
merge-test-outside-perms"
with
|
{http://owncloud.org/ns}permissions
|
And
the
single
response
should
contain
a
property
"{http://owncloud.org/ns}permissions"
with
value
"SRDNVCK"
And
as
"user1"
the folder
"merge-test-outside-perms (2)"
does not exist
And
as
"user1"
the folder
"
/
merge-test-outside-perms (2)"
does not exist
Scenario
:
Merging shares for recipient when shared from outside with two groups
Given
As an
"admin"
...
...
@@ -759,11 +760,11 @@ Feature: sharing
And
group
"group2"
exists
And
user
"user1"
belongs to group
"group1"
And
user
"user1"
belongs to group
"group2"
And
user
"user0"
created a folder
"merge-test-outside-twogroups"
When
folder
"merge-test-outside-twogroups"
of user
"user0"
is shared with group
"group1"
And
folder
"merge-test-outside-twogroups"
of user
"user0"
is shared with group
"group2"
Then
as
"user1"
the folder
"merge-test-outside-twogroups"
exists
And
as
"user1"
the folder
"merge-test-outside-twogroups (2)"
does not exist
And
user
"user0"
created a folder
"
/
merge-test-outside-twogroups"
When
folder
"
/
merge-test-outside-twogroups"
of user
"user0"
is shared with group
"group1"
And
folder
"
/
merge-test-outside-twogroups"
of user
"user0"
is shared with group
"group2"
Then
as
"user1"
the folder
"
/
merge-test-outside-twogroups"
exists
And
as
"user1"
the folder
"
/
merge-test-outside-twogroups (2)"
does not exist
Scenario
:
Merging shares for recipient when shared from outside with two groups with different permissions
Given
As an
"admin"
...
...
@@ -773,13 +774,13 @@ Feature: sharing
And
group
"group2"
exists
And
user
"user1"
belongs to group
"group1"
And
user
"user1"
belongs to group
"group2"
And
user
"user0"
created a folder
"merge-test-outside-twogroups-perms"
When
folder
"merge-test-outside-twogroups-perms"
of user
"user0"
is shared with group
"group1"
with permissions 1
And
folder
"merge-test-outside-twogroups-perms"
of user
"user0"
is shared with group
"group2"
with permissions 31
Then
as
"user1"
gets properties of folder
"merge-test-outside-twogroups-perms"
with
And
user
"user0"
created a folder
"
/
merge-test-outside-twogroups-perms"
When
folder
"
/
merge-test-outside-twogroups-perms"
of user
"user0"
is shared with group
"group1"
with permissions 1
And
folder
"
/
merge-test-outside-twogroups-perms"
of user
"user0"
is shared with group
"group2"
with permissions 31
Then
as
"user1"
gets properties of folder
"
/
merge-test-outside-twogroups-perms"
with
|
{http://owncloud.org/ns}permissions
|
And
the
single
response
should
contain
a
property
"{http://owncloud.org/ns}permissions"
with
value
"SRDNVCK"
And
as
"user1"
the folder
"merge-test-outside-twogroups-perms (2)"
does not exist
And
as
"user1"
the folder
"
/
merge-test-outside-twogroups-perms (2)"
does not exist
Scenario
:
Merging shares for recipient when shared from outside with two groups and member
Given
As an
"admin"
...
...
@@ -789,24 +790,24 @@ Feature: sharing
And
group
"group2"
exists
And
user
"user1"
belongs to group
"group1"
And
user
"user1"
belongs to group
"group2"
And
user
"user0"
created a folder
"merge-test-outside-twogroups-member-perms"
When
folder
"merge-test-outside-twogroups-member-perms"
of user
"user0"
is shared with group
"group1"
with permissions 1
And
folder
"merge-test-outside-twogroups-member-perms"
of user
"user0"
is shared with group
"group2"
with permissions 31
And
folder
"merge-test-outside-twogroups-member-perms"
of user
"user0"
is shared with user
"user1"
with permissions 1
Then
as
"user1"
gets properties of folder
"merge-test-outside-twogroups-member-perms"
with
And
user
"user0"
created a folder
"
/
merge-test-outside-twogroups-member-perms"
When
folder
"
/
merge-test-outside-twogroups-member-perms"
of user
"user0"
is shared with group
"group1"
with permissions 1
And
folder
"
/
merge-test-outside-twogroups-member-perms"
of user
"user0"
is shared with group
"group2"
with permissions 31
And
folder
"
/
merge-test-outside-twogroups-member-perms"
of user
"user0"
is shared with user
"user1"
with permissions 1
Then
as
"user1"
gets properties of folder
"
/
merge-test-outside-twogroups-member-perms"
with
|
{http://owncloud.org/ns}permissions
|
And
the
single
response
should
contain
a
property
"{http://owncloud.org/ns}permissions"
with
value
"SRDNVCK"
And
as
"user1"
the folder
"merge-test-outside-twogroups-member-perms (2)"
does not exist
And
as
"user1"
the folder
"
/
merge-test-outside-twogroups-member-perms (2)"
does not exist
Scenario
:
Merging shares for recipient when shared from inside with group
Given
As an
"admin"
And
user
"user0"
exists
And
group
"group1"
exists
And
user
"user0"
belongs to group
"group1"
And
user
"user0"
created a folder
"merge-test-inside-group"
And
user
"user0"
created a folder
"
/
merge-test-inside-group"
When
folder
"/merge-test-inside-group"
of user
"user0"
is shared with group
"group1"
Then
as
"user0"
the folder
"merge-test-inside-group"
exists
And
as
"user0"
the folder
"merge-test-inside-group (2)"
does not exist
Then
as
"user0"
the folder
"
/
merge-test-inside-group"
exists
And
as
"user0"
the folder
"
/
merge-test-inside-group (2)"
does not exist
Scenario
:
Merging shares for recipient when shared from inside with two groups
Given
As an
"admin"
...
...
@@ -815,12 +816,12 @@ Feature: sharing
And
group
"group2"
exists
And
user
"user0"
belongs to group
"group1"
And
user
"user0"
belongs to group
"group2"
And
user
"user0"
created a folder
"merge-test-inside-twogroups"
When
folder
"merge-test-inside-twogroups"
of user
"user0"
is shared with group
"group1"
And
folder
"merge-test-inside-twogroups"
of user
"user0"
is shared with group
"group2"
Then
as
"user0"
the folder
"merge-test-inside-twogroups"
exists
And
as
"user0"
the folder
"merge-test-inside-twogroups (2)"
does not exist
And
as
"user0"
the folder
"merge-test-inside-twogroups (3)"
does not exist
And
user
"user0"
created a folder
"
/
merge-test-inside-twogroups"
When
folder
"
/
merge-test-inside-twogroups"
of user
"user0"
is shared with group
"group1"
And
folder
"
/
merge-test-inside-twogroups"
of user
"user0"
is shared with group
"group2"
Then
as
"user0"
the folder
"
/
merge-test-inside-twogroups"
exists
And
as
"user0"
the folder
"
/
merge-test-inside-twogroups (2)"
does not exist
And
as
"user0"
the folder
"
/
merge-test-inside-twogroups (3)"
does not exist
Scenario
:
Merging shares for recipient when shared from inside with group with less permissions
Given
As an
"admin"
...
...
@@ -829,14 +830,14 @@ Feature: sharing
And
group
"group2"
exists
And
user
"user0"
belongs to group
"group1"
And
user
"user0"
belongs to group
"group2"
And
user
"user0"
created a folder
"merge-test-inside-twogroups-perms"
When
folder
"merge-test-inside-twogroups-perms"
of user
"user0"
is shared with group
"group1"
And
folder
"merge-test-inside-twogroups-perms"
of user
"user0"
is shared with group
"group2"
Then
as
"user0"
gets properties of folder
"merge-test-inside-twogroups-perms"
with
And
user
"user0"
created a folder
"
/
merge-test-inside-twogroups-perms"
When
folder
"
/
merge-test-inside-twogroups-perms"
of user
"user0"
is shared with group
"group1"
And
folder
"
/
merge-test-inside-twogroups-perms"
of user
"user0"
is shared with group
"group2"
Then
as
"user0"
gets properties of folder
"
/
merge-test-inside-twogroups-perms"
with
|
{http://owncloud.org/ns}permissions
|
And
the
single
response
should
contain
a
property
"{http://owncloud.org/ns}permissions"
with
value
"RDNVCK"
And
as
"user0"
the folder
"merge-test-inside-twogroups-perms (2)"
does not exist
And
as
"user0"
the folder
"merge-test-inside-twogroups-perms (3)"
does not exist
And
as
"user0"
the folder
"
/
merge-test-inside-twogroups-perms (2)"
does not exist
And
as
"user0"
the folder
"
/
merge-test-inside-twogroups-perms (3)"
does not exist
Scenario
:
Merging shares for recipient when shared from outside with group then user and recipient renames in between
Given
As an
"admin"
...
...
@@ -844,14 +845,14 @@ Feature: sharing
And
user
"user1"
exists
And
group
"group1"
exists
And
user
"user1"
belongs to group
"group1"
And
user
"user0"
created a folder
"merge-test-outside-groups-renamebeforesecondshare"
When
folder
"merge-test-outside-groups-renamebeforesecondshare"
of user
"user0"
is shared with group
"group1"
And
user
"user0"
created a folder
"
/
merge-test-outside-groups-renamebeforesecondshare"
When
folder
"
/
merge-test-outside-groups-renamebeforesecondshare"
of user
"user0"
is shared with group
"group1"
And
User
"user1"
moved folder
"/merge-test-outside-groups-renamebeforesecondshare"
to
"/merge-test-outside-groups-renamebeforesecondshare-renamed"
And
folder
"merge-test-outside-groups-renamebeforesecondshare"
of user
"user0"
is shared with user
"user1"
Then
as
"user1"
gets properties of folder
"merge-test-outside-groups-renamebeforesecondshare-renamed"
with
And
folder
"
/
merge-test-outside-groups-renamebeforesecondshare"
of user
"user0"
is shared with user
"user1"
Then
as
"user1"
gets properties of folder
"
/
merge-test-outside-groups-renamebeforesecondshare-renamed"
with
|
{http://owncloud.org/ns}permissions
|
And
the
single
response
should
contain
a
property
"{http://owncloud.org/ns}permissions"
with
value
"SRDNVCK"
And
as
"user1"
the folder
"merge-test-outside-groups-renamebeforesecondshare"
does not exist
And
as
"user1"
the folder
"
/
merge-test-outside-groups-renamebeforesecondshare"
does not exist
Scenario
:
Merging shares for recipient when shared from outside with user then group and recipient renames in between
Given
As an
"admin"
...
...
@@ -859,14 +860,14 @@ Feature: sharing
And
user
"user1"
exists
And
group
"group1"
exists
And
user
"user1"
belongs to group
"group1"
And
user
"user0"
created a folder
"merge-test-outside-groups-renamebeforesecondshare"
When
folder
"merge-test-outside-groups-renamebeforesecondshare"
of user
"user0"
is shared with user
"user1"
And
user
"user0"
created a folder
"
/
merge-test-outside-groups-renamebeforesecondshare"
When
folder
"
/
merge-test-outside-groups-renamebeforesecondshare"
of user
"user0"
is shared with user
"user1"
And
User
"user1"
moved folder
"/merge-test-outside-groups-renamebeforesecondshare"
to
"/merge-test-outside-groups-renamebeforesecondshare-renamed"
And
folder
"merge-test-outside-groups-renamebeforesecondshare"
of user
"user0"
is shared with group
"group1"
Then
as
"user1"
gets properties of folder
"merge-test-outside-groups-renamebeforesecondshare-renamed"
with
And
folder
"
/
merge-test-outside-groups-renamebeforesecondshare"
of user
"user0"
is shared with group
"group1"
Then
as
"user1"
gets properties of folder
"
/
merge-test-outside-groups-renamebeforesecondshare-renamed"
with
|
{http://owncloud.org/ns}permissions
|
And
the
single
response
should
contain
a
property
"{http://owncloud.org/ns}permissions"
with
value
"SRDNVCK"
And
as
"user1"
the folder
"merge-test-outside-groups-renamebeforesecondshare"
does not exist
And
as
"user1"
the folder
"
/
merge-test-outside-groups-renamebeforesecondshare"
does not exist
Scenario
:
Empting trashbin
Given
As an
"admin"
...
...
@@ -884,7 +885,7 @@ Feature: sharing
And
file
"/common/sub"
of user
"user0"
is shared with user
"user1"
And
User
"user0"
deletes folder
"/common"
When
User
"user0"
empties trashbin
Then
as
"user1"
the folder
"sub"
does not exist
Then
as
"user1"
the folder
"
/
sub"
does not exist
Scenario
:
sharing again an own file while belonging to a group
Given
As an
"admin"
...
...
build/integration/features/webdav-related.feature
View file @
58277310
...
...
@@ -3,7 +3,7 @@ Feature: webdav-related
Given
using api version
"1"
Scenario
:
Moving a file
Given
using dav path
"remote.php/webdav"
Given
using
old
dav path
And
As an
"admin"
And
user
"user0"
exists
And
As an
"user0"
...
...
@@ -12,7 +12,7 @@ Feature: webdav-related
And
Downloaded content when downloading file
"/FOLDER/welcome.txt"
with range
"bytes=0-6"
should be
"Welcome"
Scenario
:
Moving and overwriting a file old way
Given
using dav path
"remote.php/webdav"
Given
using
old
dav path
And
As an
"admin"
And
user
"user0"
exists
And
As an
"user0"
...
...
@@ -21,7 +21,7 @@ Feature: webdav-related
And
Downloaded content when downloading file
"/textfile0.txt"
with range
"bytes=0-6"
should be
"Welcome"
Scenario
:
Moving a file to a folder with no permissions
Given
using dav path
"remote.php/webdav"
Given
using
old
dav path
And
As an
"admin"
And
user
"user0"
exists
And
user
"user1"
exists
...
...
@@ -39,7 +39,7 @@ Feature: webdav-related
Then
the HTTP status code should be
"404"
Scenario
:
Moving a file to overwrite a file in a folder with no permissions
Given
using dav path
"remote.php/webdav"
Given
using
old
dav path
And
As an
"admin"
And
user
"user0"
exists
And
user
"user1"
exists
...
...
@@ -57,7 +57,7 @@ Feature: webdav-related
And
Downloaded content when downloading file
"/testshare/overwritethis.txt"
with range
"bytes=0-6"
should be
"Welcome"
Scenario
:
Copying a file
Given
using dav path
"remote.php/webdav"
Given
using
old
dav path
And
As an
"admin"
And
user
"user0"
exists
And
As an
"user0"
...
...
@@ -66,7 +66,7 @@ Feature: webdav-related
And
Downloaded content when downloading file
"/FOLDER/welcome.txt"
with range
"bytes=0-6"
should be
"Welcome"
Scenario
:
Copying and overwriting a file
Given
using dav path
"remote.php/webdav"
Given
using
old
dav path
And
As an
"admin"
And
user
"user0"
exists
And
As an
"user0"
...
...
@@ -75,7 +75,7 @@ Feature: webdav-related
And
Downloaded content when downloading file
"/textfile1.txt"
with range
"bytes=0-6"
should be
"Welcome"
Scenario
:
Copying a file to a folder with no permissions
Given
using dav path
"remote.php/webdav"
Given
using
old
dav path
And
As an
"admin"
And
user
"user0"
exists
And
user
"user1"
exists
...
...
@@ -93,7 +93,7 @@ Feature: webdav-related
And
the HTTP status code should be
"404"
Scenario
:
Copying a file to overwrite a file into a folder with no permissions
Given
using dav path
"remote.php/webdav"
Given
using
old
dav path