@ -115,6 +115,192 @@ Feature: sharing
| d i s p l a y n a m e _ o w n e r | u s e r 0 |
| m i m e t y p e | t e x t / p l a i n |
Scenario : getting all shares including subfiles in a directory
Given u s e r " u s e r 0 " e x i s t s
And u s e r " u s e r 1 " e x i s t s
And u s e r " u s e r 2 " e x i s t s
And f i l e " P A R E N T / C H I L D " o f u s e r " u s e r 0 " i s s h a r e d w i t h u s e r " u s e r 1 "
And f i l e " P A R E N T / p a r e n t . t x t " o f u s e r " u s e r 0 " i s s h a r e d w i t h u s e r " u s e r 2 "
When A s a n " u s e r 0 "
And s e n d i n g " G E T " t o " / a p p s / f i l e s _ s h a r i n g / a p i / v 1 / s h a r e s ? s u b f i l e s = t r u e & p a t h = P A R E N T "
Then t h e l i s t o f r e t u r n e d s h a r e s h a s 2 s h a r e s
And s h a r e 0 i s r e t u r n e d w i t h
| s h a r e _ t y p e | 0 |
| u i d _ o w n e r | u s e r 0 |
| d i s p l a y n a m e _ o w n e r | u s e r 0 |
| p a t h | / P A R E N T / C H I L D |
| i t e m _ t y p e | f o l d e r |
| m i m e t y p e | h t t p d / u n i x - d i r e c t o r y |
| s t o r a g e _ i d | h o m e : : u s e r 0 |
| f i l e _ t a r g e t | / C H I L D |
| s h a r e _ w i t h | u s e r 1 |
| s h a r e _ w i t h _ d i s p l a y n a m e | u s e r 1 |
| p e r m i s s i o n s | 3 1 |
And s h a r e 1 i s r e t u r n e d w i t h
| s h a r e _ t y p e | 0 |
| u i d _ o w n e r | u s e r 0 |
| d i s p l a y n a m e _ o w n e r | u s e r 0 |
| p a t h | / P A R E N T / p a r e n t . t x t |
| i t e m _ t y p e | f i l e |
| m i m e t y p e | t e x t / p l a i n |
| s t o r a g e _ i d | h o m e : : u s e r 0 |
| f i l e _ t a r g e t | / p a r e n t . t x t |
| s h a r e _ w i t h | u s e r 2 |
| s h a r e _ w i t h _ d i s p l a y n a m e | u s e r 2 |
Scenario : getting all shares including subfiles in a directory with received shares
Given u s e r " u s e r 0 " e x i s t s
And u s e r " u s e r 1 " e x i s t s
And f i l e " t e x t f i l e 0 . t x t " o f u s e r " u s e r 0 " i s s h a r e d w i t h u s e r " u s e r 1 "
And f i l e " t e x t f i l e 0 . t x t " o f u s e r " u s e r 1 " i s s h a r e d w i t h u s e r " u s e r 0 "
When A s a n " u s e r 0 "
And s e n d i n g " G E T " t o " / a p p s / f i l e s _ s h a r i n g / a p i / v 1 / s h a r e s ? s u b f i l e s = t r u e & p a t h = / "
Then t h e l i s t o f r e t u r n e d s h a r e s h a s 1 s h a r e s
And s h a r e 0 i s r e t u r n e d w i t h
| s h a r e _ t y p e | 0 |
| u i d _ o w n e r | u s e r 0 |
| d i s p l a y n a m e _ o w n e r | u s e r 0 |
| p a t h | / t e x t f i l e 0 . t x t |
| i t e m _ t y p e | f i l e |
| m i m e t y p e | t e x t / p l a i n |
| s t o r a g e _ i d | h o m e : : u s e r 0 |
| f i l e _ t a r g e t | / t e x t f i l e 0 ( 2 ) . t x t |
| s h a r e _ w i t h | u s e r 1 |
| s h a r e _ w i t h _ d i s p l a y n a m e | u s e r 1 |
Scenario : getting all shares including subfiles in a directory with shares in subdirectories
Given u s e r " u s e r 0 " e x i s t s
And u s e r " u s e r 1 " e x i s t s
And u s e r " u s e r 2 " e x i s t s
And f i l e " P A R E N T / C H I L D " o f u s e r " u s e r 0 " i s s h a r e d w i t h u s e r " u s e r 1 "
And f i l e " P A R E N T / C H I L D / c h i l d . t x t " o f u s e r " u s e r 0 " i s s h a r e d w i t h u s e r " u s e r 2 "
When A s a n " u s e r 0 "
And s e n d i n g " G E T " t o " / a p p s / f i l e s _ s h a r i n g / a p i / v 1 / s h a r e s ? s u b f i l e s = t r u e & p a t h = P A R E N T "
Then t h e l i s t o f r e t u r n e d s h a r e s h a s 1 s h a r e s
And s h a r e 0 i s r e t u r n e d w i t h
| s h a r e _ t y p e | 0 |
| u i d _ o w n e r | u s e r 0 |
| d i s p l a y n a m e _ o w n e r | u s e r 0 |
| p a t h | / P A R E N T / C H I L D |
| i t e m _ t y p e | f o l d e r |
| m i m e t y p e | h t t p d / u n i x - d i r e c t o r y |
| s t o r a g e _ i d | h o m e : : u s e r 0 |
| f i l e _ t a r g e t | / C H I L D |
| s h a r e _ w i t h | u s e r 1 |
| s h a r e _ w i t h _ d i s p l a y n a m e | u s e r 1 |
| p e r m i s s i o n s | 3 1 |
Scenario : getting all shares including subfiles in a shared directory with reshares
Given u s e r " u s e r 0 " e x i s t s
And u s e r " u s e r 1 " e x i s t s
And u s e r " u s e r 2 " e x i s t s
And u s e r " u s e r 3 " e x i s t s
And f i l e " P A R E N T " o f u s e r " u s e r 0 " i s s h a r e d w i t h u s e r " u s e r 1 "
And f i l e " P A R E N T ( 2 ) / C H I L D " o f u s e r " u s e r 1 " i s s h a r e d w i t h u s e r " u s e r 2 "
And f i l e " C H I L D " o f u s e r " u s e r 2 " i s s h a r e d w i t h u s e r " u s e r 3 "
When A s a n " u s e r 0 "
And s e n d i n g " G E T " t o " / a p p s / f i l e s _ s h a r i n g / a p i / v 1 / s h a r e s ? s u b f i l e s = t r u e & p a t h = P A R E N T "
Then t h e l i s t o f r e t u r n e d s h a r e s h a s 2 s h a r e s
And s h a r e 0 i s r e t u r n e d w i t h
| s h a r e _ t y p e | 0 |
| u i d _ o w n e r | u s e r 1 |
| d i s p l a y n a m e _ o w n e r | u s e r 1 |
| u i d _ f i l e _ o w n e r | u s e r 0 |
| d i s p l a y n a m e _ f i l e _ o w n e r | u s e r 0 |
| p a t h | / P A R E N T / C H I L D |
| i t e m _ t y p e | f o l d e r |
| m i m e t y p e | h t t p d / u n i x - d i r e c t o r y |
| s t o r a g e _ i d | h o m e : : u s e r 0 |
| f i l e _ t a r g e t | / C H I L D |
| s h a r e _ w i t h | u s e r 2 |
| s h a r e _ w i t h _ d i s p l a y n a m e | u s e r 2 |
| p e r m i s s i o n s | 3 1 |
And s h a r e 1 i s r e t u r n e d w i t h
| s h a r e _ t y p e | 0 |
| u i d _ o w n e r | u s e r 2 |
| d i s p l a y n a m e _ o w n e r | u s e r 2 |
| u i d _ f i l e _ o w n e r | u s e r 0 |
| d i s p l a y n a m e _ f i l e _ o w n e r | u s e r 0 |
| p a t h | / P A R E N T / C H I L D |
| i t e m _ t y p e | f o l d e r |
| m i m e t y p e | h t t p d / u n i x - d i r e c t o r y |
| s t o r a g e _ i d | h o m e : : u s e r 0 |
| f i l e _ t a r g e t | / C H I L D |
| s h a r e _ w i t h | u s e r 3 |
| s h a r e _ w i t h _ d i s p l a y n a m e | u s e r 3 |
| p e r m i s s i o n s | 3 1 |
Scenario : getting all shares including subfiles in a directory by a resharer
Given u s e r " u s e r 0 " e x i s t s
And u s e r " u s e r 1 " e x i s t s
And u s e r " u s e r 2 " e x i s t s
And u s e r " u s e r 3 " e x i s t s
And f i l e " P A R E N T " o f u s e r " u s e r 0 " i s s h a r e d w i t h u s e r " u s e r 1 "
And f i l e " P A R E N T ( 2 ) / C H I L D " o f u s e r " u s e r 1 " i s s h a r e d w i t h u s e r " u s e r 2 "
And f i l e " C H I L D " o f u s e r " u s e r 2 " i s s h a r e d w i t h u s e r " u s e r 3 "
When A s a n " u s e r 1 "
And s e n d i n g " G E T " t o " / a p p s / f i l e s _ s h a r i n g / a p i / v 1 / s h a r e s ? s u b f i l e s = t r u e & p a t h = P A R E N T ( 2 ) "
Then t h e l i s t o f r e t u r n e d s h a r e s h a s 2 s h a r e s
And s h a r e 0 i s r e t u r n e d w i t h
| s h a r e _ t y p e | 0 |
| u i d _ o w n e r | u s e r 1 |
| d i s p l a y n a m e _ o w n e r | u s e r 1 |
| u i d _ f i l e _ o w n e r | u s e r 0 |
| d i s p l a y n a m e _ f i l e _ o w n e r | u s e r 0 |
| p a t h | / P A R E N T ( 2 ) / C H I L D |
| i t e m _ t y p e | f o l d e r |
| m i m e t y p e | h t t p d / u n i x - d i r e c t o r y |
| s t o r a g e _ i d | s h a r e d : : / P A R E N T ( 2 ) |
| f i l e _ t a r g e t | / C H I L D |
| s h a r e _ w i t h | u s e r 2 |
| s h a r e _ w i t h _ d i s p l a y n a m e | u s e r 2 |
| p e r m i s s i o n s | 3 1 |
And s h a r e 1 i s r e t u r n e d w i t h
| s h a r e _ t y p e | 0 |
| u i d _ o w n e r | u s e r 2 |
| d i s p l a y n a m e _ o w n e r | u s e r 2 |
| u i d _ f i l e _ o w n e r | u s e r 0 |
| d i s p l a y n a m e _ f i l e _ o w n e r | u s e r 0 |
| p a t h | / P A R E N T ( 2 ) / C H I L D |
| i t e m _ t y p e | f o l d e r |
| m i m e t y p e | h t t p d / u n i x - d i r e c t o r y |
| s t o r a g e _ i d | s h a r e d : : / P A R E N T ( 2 ) |
| f i l e _ t a r g e t | / C H I L D |
| s h a r e _ w i t h | u s e r 3 |
| s h a r e _ w i t h _ d i s p l a y n a m e | u s e r 3 |
| p e r m i s s i o n s | 3 1 |
Scenario : getting all shares including subfiles in a directory by a resharer after revoking the resharing rights
Given u s e r " u s e r 0 " e x i s t s
And u s e r " u s e r 1 " e x i s t s
And u s e r " u s e r 2 " e x i s t s
And u s e r " u s e r 3 " e x i s t s
And f i l e " P A R E N T " o f u s e r " u s e r 0 " i s s h a r e d w i t h u s e r " u s e r 1 "
And s a v e t h e l a s t s h a r e d a t a a s " p a r e n t f o l d e r "
And f i l e " P A R E N T ( 2 ) / C H I L D " o f u s e r " u s e r 1 " i s s h a r e d w i t h u s e r " u s e r 2 "
And f i l e " C H I L D " o f u s e r " u s e r 2 " i s s h a r e d w i t h u s e r " u s e r 3 "
And A s a n " u s e r 0 "
And r e s t o r e t h e l a s t s h a r e d a t a f r o m " p a r e n t f o l d e r "
And U p d a t i n g l a s t s h a r e w i t h
| p e r m i s s i o n s | 1 |
When A s a n " u s e r 1 "
And s e n d i n g " G E T " t o " / a p p s / f i l e s _ s h a r i n g / a p i / v 1 / s h a r e s ? s u b f i l e s = t r u e & p a t h = P A R E N T ( 2 ) "
Then t h e l i s t o f r e t u r n e d s h a r e s h a s 1 s h a r e s
And s h a r e 0 i s r e t u r n e d w i t h
| s h a r e _ t y p e | 0 |
| u i d _ o w n e r | u s e r 1 |
| d i s p l a y n a m e _ o w n e r | u s e r 1 |
| u i d _ f i l e _ o w n e r | u s e r 0 |
| d i s p l a y n a m e _ f i l e _ o w n e r | u s e r 0 |
| p a t h | / P A R E N T ( 2 ) / C H I L D |
| i t e m _ t y p e | f o l d e r |
| m i m e t y p e | h t t p d / u n i x - d i r e c t o r y |
| s t o r a g e _ i d | s h a r e d : : / P A R E N T ( 2 ) |
| f i l e _ t a r g e t | / C H I L D |
| s h a r e _ w i t h | u s e r 2 |
| s h a r e _ w i t h _ d i s p l a y n a m e | u s e r 2 |
| p e r m i s s i o n s | 3 1 |
Scenario : keep group permissions in sync
Given A s a n " a d m i n "
Given u s e r " u s e r 0 " e x i s t s