sharing-v1-part3.feature 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610
  1. Feature: sharing
  2. Background:
  3. Given using api version "1"
  4. Given using new dav path
  5. # See sharing-v1-part2.feature
  6. Scenario: Correct webdav share-permissions for received file with edit and reshare permissions
  7. Given user "user0" exists
  8. And user "user1" exists
  9. And User "user0" uploads file with content "foo" to "/tmp.txt"
  10. And file "/tmp.txt" of user "user0" is shared with user "user1"
  11. And user "user1" accepts last share
  12. When as "user1" gets properties of folder "/tmp.txt" with
  13. |{http://open-collaboration-services.org/ns}share-permissions |
  14. Then the single response should contain a property "{http://open-collaboration-services.org/ns}share-permissions" with value "19"
  15. Scenario: Correct webdav share-permissions for received file with edit permissions but no reshare permissions
  16. Given user "user0" exists
  17. And user "user1" exists
  18. And User "user0" uploads file with content "foo" to "/tmp.txt"
  19. And file "tmp.txt" of user "user0" is shared with user "user1"
  20. And user "user1" accepts last share
  21. And As an "user0"
  22. And Updating last share with
  23. | permissions | 3 |
  24. When as "user1" gets properties of folder "/tmp.txt" with
  25. |{http://open-collaboration-services.org/ns}share-permissions |
  26. Then the single response should contain a property "{http://open-collaboration-services.org/ns}share-permissions" with value "3"
  27. Scenario: Correct webdav share-permissions for received file with reshare permissions but no edit permissions
  28. Given user "user0" exists
  29. And user "user1" exists
  30. And User "user0" uploads file with content "foo" to "/tmp.txt"
  31. And file "tmp.txt" of user "user0" is shared with user "user1"
  32. And user "user1" accepts last share
  33. And As an "user0"
  34. And Updating last share with
  35. | permissions | 17 |
  36. When as "user1" gets properties of folder "/tmp.txt" with
  37. |{http://open-collaboration-services.org/ns}share-permissions |
  38. Then the single response should contain a property "{http://open-collaboration-services.org/ns}share-permissions" with value "17"
  39. Scenario: Correct webdav share-permissions for owned folder
  40. Given user "user0" exists
  41. And user "user0" created a folder "/tmp"
  42. When as "user0" gets properties of folder "/" with
  43. |{http://open-collaboration-services.org/ns}share-permissions |
  44. Then the single response should contain a property "{http://open-collaboration-services.org/ns}share-permissions" with value "31"
  45. Scenario: Correct webdav share-permissions for received folder with all permissions
  46. Given user "user0" exists
  47. And user "user1" exists
  48. And user "user0" created a folder "/tmp"
  49. And file "/tmp" of user "user0" is shared with user "user1"
  50. And user "user1" accepts last share
  51. When as "user1" gets properties of folder "/tmp" with
  52. |{http://open-collaboration-services.org/ns}share-permissions |
  53. Then the single response should contain a property "{http://open-collaboration-services.org/ns}share-permissions" with value "31"
  54. Scenario: Correct webdav share-permissions for received folder with all permissions but edit
  55. Given user "user0" exists
  56. And user "user1" exists
  57. And user "user0" created a folder "/tmp"
  58. And file "/tmp" of user "user0" is shared with user "user1"
  59. And user "user1" accepts last share
  60. And As an "user0"
  61. And Updating last share with
  62. | permissions | 29 |
  63. When as "user1" gets properties of folder "/tmp" with
  64. |{http://open-collaboration-services.org/ns}share-permissions |
  65. Then the single response should contain a property "{http://open-collaboration-services.org/ns}share-permissions" with value "29"
  66. Scenario: Correct webdav share-permissions for received folder with all permissions but create
  67. Given user "user0" exists
  68. And user "user1" exists
  69. And user "user0" created a folder "/tmp"
  70. And file "/tmp" of user "user0" is shared with user "user1"
  71. And user "user1" accepts last share
  72. And As an "user0"
  73. And Updating last share with
  74. | permissions | 27 |
  75. When as "user1" gets properties of folder "/tmp" with
  76. |{http://open-collaboration-services.org/ns}share-permissions |
  77. Then the single response should contain a property "{http://open-collaboration-services.org/ns}share-permissions" with value "27"
  78. Scenario: Correct webdav share-permissions for received folder with all permissions but delete
  79. Given user "user0" exists
  80. And user "user1" exists
  81. And user "user0" created a folder "/tmp"
  82. And file "/tmp" of user "user0" is shared with user "user1"
  83. And user "user1" accepts last share
  84. And As an "user0"
  85. And Updating last share with
  86. | permissions | 23 |
  87. When as "user1" gets properties of folder "/tmp" with
  88. |{http://open-collaboration-services.org/ns}share-permissions |
  89. Then the single response should contain a property "{http://open-collaboration-services.org/ns}share-permissions" with value "23"
  90. Scenario: Correct webdav share-permissions for received folder with all permissions but share
  91. Given user "user0" exists
  92. And user "user1" exists
  93. And user "user0" created a folder "/tmp"
  94. And file "/tmp" of user "user0" is shared with user "user1"
  95. And user "user1" accepts last share
  96. And As an "user0"
  97. And Updating last share with
  98. | permissions | 15 |
  99. When as "user1" gets properties of folder "/tmp" with
  100. |{http://open-collaboration-services.org/ns}share-permissions |
  101. Then the single response should contain a property "{http://open-collaboration-services.org/ns}share-permissions" with value "15"
  102. Scenario: unique target names for incoming shares
  103. Given user "user0" exists
  104. And user "user1" exists
  105. And user "user2" exists
  106. And user "user0" created a folder "/foo"
  107. And user "user1" created a folder "/foo"
  108. When file "/foo" of user "user0" is shared with user "user2"
  109. And user "user2" accepts last share
  110. And file "/foo" of user "user1" is shared with user "user2"
  111. And user "user2" accepts last share
  112. Then user "user2" should see following elements
  113. | /foo/ |
  114. | /foo%20(2)/ |
  115. Scenario: Creating a new share with a disabled user
  116. Given As an "admin"
  117. And user "user0" exists
  118. And user "user1" exists
  119. And assure user "user0" is disabled
  120. And As an "user0"
  121. When creating a share with
  122. | path | welcome.txt |
  123. | shareWith | user1 |
  124. | shareType | 0 |
  125. Then the OCS status code should be "997"
  126. And the HTTP status code should be "401"
  127. Scenario: Deleting a group share as its owner
  128. Given As an "admin"
  129. And user "user0" exists
  130. And user "user1" exists
  131. And group "group1" exists
  132. And user "user0" belongs to group "group1"
  133. And user "user1" belongs to group "group1"
  134. And As an "user0"
  135. And creating a share with
  136. | path | welcome.txt |
  137. | shareType | 1 |
  138. | shareWith | group1 |
  139. When As an "user0"
  140. And Deleting last share
  141. Then the OCS status code should be "100"
  142. And the HTTP status code should be "200"
  143. And Getting info of last share
  144. And the OCS status code should be "404"
  145. And the HTTP status code should be "200"
  146. And As an "user1"
  147. And Getting info of last share
  148. And the OCS status code should be "404"
  149. And the HTTP status code should be "200"
  150. Scenario: Deleting a group share as user
  151. Given As an "admin"
  152. And user "user0" exists
  153. And user "user1" exists
  154. And group "group1" exists
  155. And user "user1" belongs to group "group1"
  156. And As an "user0"
  157. And creating a share with
  158. | path | welcome.txt |
  159. | shareType | 1 |
  160. | shareWith | group1 |
  161. When As an "user1"
  162. And Deleting last share
  163. Then the OCS status code should be "100"
  164. And the HTTP status code should be "200"
  165. Scenario: Merging shares for recipient when shared from outside with group and member
  166. Given using old dav path
  167. And As an "admin"
  168. And user "user0" exists
  169. And user "user1" exists
  170. And group "group1" exists
  171. And user "user1" belongs to group "group1"
  172. And user "user0" created a folder "/merge-test-outside"
  173. When folder "/merge-test-outside" of user "user0" is shared with group "group1"
  174. And user "user1" accepts last share
  175. And folder "/merge-test-outside" of user "user0" is shared with user "user1"
  176. And user "user1" accepts last share
  177. Then as "user1" the folder "/merge-test-outside" exists
  178. And as "user1" the folder "/merge-test-outside (2)" does not exist
  179. Scenario: Merging shares for recipient when shared from outside with group and member with different permissions
  180. Given As an "admin"
  181. And user "user0" exists
  182. And user "user1" exists
  183. And group "group1" exists
  184. And user "user1" belongs to group "group1"
  185. And user "user0" created a folder "/merge-test-outside-perms"
  186. When folder "/merge-test-outside-perms" of user "user0" is shared with group "group1" with permissions 1
  187. And user "user1" accepts last share
  188. And folder "/merge-test-outside-perms" of user "user0" is shared with user "user1" with permissions 31
  189. And user "user1" accepts last share
  190. Then as "user1" gets properties of folder "/merge-test-outside-perms" with
  191. |{http://owncloud.org/ns}permissions|
  192. And the single response should contain a property "{http://owncloud.org/ns}permissions" with value "SRGDNVCK"
  193. And as "user1" the folder "/merge-test-outside-perms (2)" does not exist
  194. Scenario: Merging shares for recipient when shared from outside with two groups
  195. Given As an "admin"
  196. And user "user0" exists
  197. And user "user1" exists
  198. And group "group1" exists
  199. And group "group2" exists
  200. And user "user1" belongs to group "group1"
  201. And user "user1" belongs to group "group2"
  202. And user "user0" created a folder "/merge-test-outside-twogroups"
  203. When folder "/merge-test-outside-twogroups" of user "user0" is shared with group "group1"
  204. And user "user1" accepts last share
  205. And folder "/merge-test-outside-twogroups" of user "user0" is shared with group "group2"
  206. And user "user1" accepts last share
  207. Then as "user1" the folder "/merge-test-outside-twogroups" exists
  208. And as "user1" the folder "/merge-test-outside-twogroups (2)" does not exist
  209. Scenario: Merging shares for recipient when shared from outside with two groups with different permissions
  210. Given As an "admin"
  211. And user "user0" exists
  212. And user "user1" exists
  213. And group "group1" exists
  214. And group "group2" exists
  215. And user "user1" belongs to group "group1"
  216. And user "user1" belongs to group "group2"
  217. And user "user0" created a folder "/merge-test-outside-twogroups-perms"
  218. When folder "/merge-test-outside-twogroups-perms" of user "user0" is shared with group "group1" with permissions 1
  219. And user "user1" accepts last share
  220. And folder "/merge-test-outside-twogroups-perms" of user "user0" is shared with group "group2" with permissions 31
  221. And user "user1" accepts last share
  222. Then as "user1" gets properties of folder "/merge-test-outside-twogroups-perms" with
  223. |{http://owncloud.org/ns}permissions|
  224. And the single response should contain a property "{http://owncloud.org/ns}permissions" with value "SRGDNVCK"
  225. And as "user1" the folder "/merge-test-outside-twogroups-perms (2)" does not exist
  226. Scenario: Merging shares for recipient when shared from outside with two groups and member
  227. Given As an "admin"
  228. And user "user0" exists
  229. And user "user1" exists
  230. And group "group1" exists
  231. And group "group2" exists
  232. And user "user1" belongs to group "group1"
  233. And user "user1" belongs to group "group2"
  234. And user "user0" created a folder "/merge-test-outside-twogroups-member-perms"
  235. When folder "/merge-test-outside-twogroups-member-perms" of user "user0" is shared with group "group1" with permissions 1
  236. And user "user1" accepts last share
  237. And folder "/merge-test-outside-twogroups-member-perms" of user "user0" is shared with group "group2" with permissions 31
  238. And user "user1" accepts last share
  239. And folder "/merge-test-outside-twogroups-member-perms" of user "user0" is shared with user "user1" with permissions 1
  240. And user "user1" accepts last share
  241. Then as "user1" gets properties of folder "/merge-test-outside-twogroups-member-perms" with
  242. |{http://owncloud.org/ns}permissions|
  243. And the single response should contain a property "{http://owncloud.org/ns}permissions" with value "SRGDNVCK"
  244. And as "user1" the folder "/merge-test-outside-twogroups-member-perms (2)" does not exist
  245. Scenario: Merging shares for recipient when shared from inside with group
  246. Given As an "admin"
  247. And user "user0" exists
  248. And group "group1" exists
  249. And user "user0" belongs to group "group1"
  250. And user "user0" created a folder "/merge-test-inside-group"
  251. When folder "/merge-test-inside-group" of user "user0" is shared with group "group1"
  252. Then as "user0" the folder "/merge-test-inside-group" exists
  253. And as "user0" the folder "/merge-test-inside-group (2)" does not exist
  254. Scenario: Merging shares for recipient when shared from inside with two groups
  255. Given As an "admin"
  256. And user "user0" exists
  257. And group "group1" exists
  258. And group "group2" exists
  259. And user "user0" belongs to group "group1"
  260. And user "user0" belongs to group "group2"
  261. And user "user0" created a folder "/merge-test-inside-twogroups"
  262. When folder "/merge-test-inside-twogroups" of user "user0" is shared with group "group1"
  263. And folder "/merge-test-inside-twogroups" of user "user0" is shared with group "group2"
  264. Then as "user0" the folder "/merge-test-inside-twogroups" exists
  265. And as "user0" the folder "/merge-test-inside-twogroups (2)" does not exist
  266. And as "user0" the folder "/merge-test-inside-twogroups (3)" does not exist
  267. Scenario: Merging shares for recipient when shared from inside with group with less permissions
  268. Given As an "admin"
  269. And user "user0" exists
  270. And group "group1" exists
  271. And group "group2" exists
  272. And user "user0" belongs to group "group1"
  273. And user "user0" belongs to group "group2"
  274. And user "user0" created a folder "/merge-test-inside-twogroups-perms"
  275. When folder "/merge-test-inside-twogroups-perms" of user "user0" is shared with group "group1"
  276. And folder "/merge-test-inside-twogroups-perms" of user "user0" is shared with group "group2"
  277. Then as "user0" gets properties of folder "/merge-test-inside-twogroups-perms" with
  278. |{http://owncloud.org/ns}permissions|
  279. And the single response should contain a property "{http://owncloud.org/ns}permissions" with value "RGDNVCK"
  280. And as "user0" the folder "/merge-test-inside-twogroups-perms (2)" does not exist
  281. And as "user0" the folder "/merge-test-inside-twogroups-perms (3)" does not exist
  282. Scenario: Merging shares for recipient when shared from outside with group then user and recipient renames in between
  283. Given As an "admin"
  284. And user "user0" exists
  285. And user "user1" exists
  286. And group "group1" exists
  287. And user "user1" belongs to group "group1"
  288. And user "user0" created a folder "/merge-test-outside-groups-renamebeforesecondshare"
  289. When folder "/merge-test-outside-groups-renamebeforesecondshare" of user "user0" is shared with group "group1"
  290. And user "user1" accepts last share
  291. And User "user1" moved folder "/merge-test-outside-groups-renamebeforesecondshare" to "/merge-test-outside-groups-renamebeforesecondshare-renamed"
  292. And Sleep for "1" seconds
  293. And folder "/merge-test-outside-groups-renamebeforesecondshare" of user "user0" is shared with user "user1"
  294. And user "user1" accepts last share
  295. Then as "user1" gets properties of folder "/merge-test-outside-groups-renamebeforesecondshare-renamed" with
  296. |{http://owncloud.org/ns}permissions|
  297. And the single response should contain a property "{http://owncloud.org/ns}permissions" with value "SRGDNVCK"
  298. And as "user1" the folder "/merge-test-outside-groups-renamebeforesecondshare" does not exist
  299. Scenario: Merging shares for recipient when shared from outside with user then group and recipient renames in between
  300. Given using old dav path
  301. Given As an "admin"
  302. And user "user0" exists
  303. And user "user1" exists
  304. And group "group1" exists
  305. And user "user1" belongs to group "group1"
  306. And user "user0" created a folder "/merge-test-outside-groups-renamebeforesecondshare"
  307. When folder "/merge-test-outside-groups-renamebeforesecondshare" of user "user0" is shared with user "user1"
  308. And user "user1" accepts last share
  309. And User "user1" moved folder "/merge-test-outside-groups-renamebeforesecondshare" to "/merge-test-outside-groups-renamebeforesecondshare-renamed"
  310. And Sleep for "1" seconds
  311. And folder "/merge-test-outside-groups-renamebeforesecondshare" of user "user0" is shared with group "group1"
  312. And user "user1" accepts last share
  313. Then as "user1" gets properties of folder "/merge-test-outside-groups-renamebeforesecondshare-renamed" with
  314. |{http://owncloud.org/ns}permissions|
  315. And the single response should contain a property "{http://owncloud.org/ns}permissions" with value "SRGDNVCK"
  316. And as "user1" the folder "/merge-test-outside-groups-renamebeforesecondshare" does not exist
  317. Scenario: Empting trashbin
  318. Given As an "admin"
  319. And user "user0" exists
  320. And User "user0" deletes file "/textfile0.txt"
  321. When User "user0" empties trashbin
  322. Then the HTTP status code should be "204"
  323. Scenario: orphaned shares
  324. Given As an "admin"
  325. And user "user0" exists
  326. And user "user1" exists
  327. And user "user0" created a folder "/common"
  328. And user "user0" created a folder "/common/sub"
  329. And file "/common/sub" of user "user0" is shared with user "user1"
  330. And user "user1" accepts last share
  331. And User "user0" deletes folder "/common"
  332. When User "user0" empties trashbin
  333. Then as "user1" the folder "/sub" does not exist
  334. Scenario: sharing again an own file while belonging to a group
  335. Given As an "admin"
  336. Given user "user0" exists
  337. And group "sharing-group" exists
  338. And user "user0" belongs to group "sharing-group"
  339. And file "welcome.txt" of user "user0" is shared with group "sharing-group"
  340. And Deleting last share
  341. When creating a share with
  342. | path | welcome.txt |
  343. | shareWith | sharing-group |
  344. | shareType | 1 |
  345. Then the OCS status code should be "100"
  346. And the HTTP status code should be "200"
  347. Scenario: unshare from self
  348. Given As an "admin"
  349. And user "user0" exists
  350. And user "user1" exists
  351. And group "sharing-group" exists
  352. And user "user0" belongs to group "sharing-group"
  353. And user "user1" belongs to group "sharing-group"
  354. And file "/PARENT/parent.txt" of user "user0" is shared with group "sharing-group"
  355. And user "user1" accepts last share
  356. And user "user0" stores etag of element "/PARENT"
  357. And user "user1" stores etag of element "/"
  358. And As an "user1"
  359. When Deleting last share
  360. Then etag of element "/" of user "user1" has changed
  361. And etag of element "/PARENT" of user "user0" has not changed
  362. Scenario: do not allow to increase permissions on received share
  363. Given As an "admin"
  364. And user "user0" exists
  365. And user "user1" exists
  366. And user "user0" created a folder "/TMP"
  367. And As an "user0"
  368. And creating a share with
  369. | path | TMP |
  370. | shareType | 0 |
  371. | shareWith | user1 |
  372. | permissions | 17 |
  373. When As an "user1"
  374. And Updating last share with
  375. | permissions | 19 |
  376. Then the OCS status code should be "403"
  377. And the HTTP status code should be "200"
  378. Scenario: do not allow to increase permissions on non received share with user with resharing rights
  379. Given As an "admin"
  380. And user "user0" exists
  381. And user "user1" exists
  382. And user "user2" exists
  383. And user "user0" created a folder "/TMP"
  384. And As an "user0"
  385. And creating a share with
  386. | path | TMP |
  387. | shareType | 0 |
  388. | shareWith | user1 |
  389. | permissions | 31 |
  390. And user "user1" accepts last share
  391. And creating a share with
  392. | path | TMP |
  393. | shareType | 0 |
  394. | shareWith | user2 |
  395. | permissions | 17 |
  396. When As an "user1"
  397. And Updating last share with
  398. | permissions | 19 |
  399. Then the OCS status code should be "403"
  400. And the HTTP status code should be "200"
  401. Scenario: do not allow to increase link share permissions on reshare
  402. Given As an "admin"
  403. And user "user0" exists
  404. And user "user1" exists
  405. And user "user0" created a folder "/TMP"
  406. And As an "user0"
  407. And creating a share with
  408. | path | TMP |
  409. | shareType | 0 |
  410. | shareWith | user1 |
  411. | permissions | 17 |
  412. When As an "user1"
  413. And accepting last share
  414. And creating a share with
  415. | path | TMP |
  416. | shareType | 3 |
  417. And Updating last share with
  418. | publicUpload | true |
  419. Then the OCS status code should be "404"
  420. And the HTTP status code should be "200"
  421. Scenario: do not allow to increase link share permissions on sub reshare
  422. Given As an "admin"
  423. And user "user0" exists
  424. And user "user1" exists
  425. And user "user0" created a folder "/TMP"
  426. And user "user0" created a folder "/TMP/SUB"
  427. And As an "user0"
  428. And creating a share with
  429. | path | TMP |
  430. | shareType | 0 |
  431. | shareWith | user1 |
  432. | permissions | 17 |
  433. When As an "user1"
  434. And accepting last share
  435. And creating a share with
  436. | path | TMP/SUB |
  437. | shareType | 3 |
  438. And Updating last share with
  439. | publicUpload | true |
  440. Then the OCS status code should be "404"
  441. And the HTTP status code should be "200"
  442. Scenario: deleting file out of a share as recipient creates a backup for the owner
  443. Given As an "admin"
  444. And user "user0" exists
  445. And user "user1" exists
  446. And user "user0" created a folder "/shared"
  447. And User "user0" moved file "/textfile0.txt" to "/shared/shared_file.txt"
  448. And folder "/shared" of user "user0" is shared with user "user1"
  449. And user "user1" accepts last share
  450. When User "user1" deletes file "/shared/shared_file.txt"
  451. Then as "user1" the file "/shared/shared_file.txt" does not exist
  452. And as "user0" the file "/shared/shared_file.txt" does not exist
  453. And as "user0" the file "/shared_file.txt" exists in trash
  454. And as "user1" the file "/shared_file.txt" exists in trash
  455. Scenario: deleting folder out of a share as recipient creates a backup for the owner
  456. Given As an "admin"
  457. And user "user0" exists
  458. And user "user1" exists
  459. And user "user0" created a folder "/shared"
  460. And user "user0" created a folder "/shared/sub"
  461. And User "user0" moved file "/textfile0.txt" to "/shared/sub/shared_file.txt"
  462. And folder "/shared" of user "user0" is shared with user "user1"
  463. And user "user1" accepts last share
  464. When User "user1" deletes folder "/shared/sub"
  465. Then as "user1" the folder "/shared/sub" does not exist
  466. And as "user0" the folder "/shared/sub" does not exist
  467. And as "user0" the folder "/sub" exists in trash
  468. And as "user0" the file "/sub/shared_file.txt" exists in trash
  469. And as "user1" the folder "/sub" exists in trash
  470. And as "user1" the file "/sub/shared_file.txt" exists in trash
  471. Scenario: moving a file into a share as recipient
  472. Given As an "admin"
  473. And user "user0" exists
  474. And user "user1" exists
  475. And user "user0" created a folder "/shared"
  476. And folder "/shared" of user "user0" is shared with user "user1"
  477. And user "user1" accepts last share
  478. When User "user1" moved file "/textfile0.txt" to "/shared/shared_file.txt"
  479. Then as "user1" the file "/shared/shared_file.txt" exists
  480. And as "user0" the file "/shared/shared_file.txt" exists
  481. Scenario: receiving shares into a configured share_folder
  482. Given As an "admin"
  483. And invoking occ with "config:system:set share_folder --value received_shares"
  484. And user "user0" exists
  485. And user "user1" exists
  486. And user "user0" created a folder "/shared_folder"
  487. And User "user0" moved file "/textfile0.txt" to "/shared_file.txt"
  488. When folder "/shared_folder" of user "user0" is shared with user "user1"
  489. And user "user1" accepts last share
  490. Then as "user1" the file "/received_shares/shared_folder" exists
  491. When file "/shared_file.txt" of user "user0" is shared with user "user1"
  492. And user "user1" accepts last share
  493. Then as "user1" the file "/received_shares/shared_file.txt" exists
  494. Scenario: Owner of subshares is adjusted after moving into received share
  495. Given As an "admin"
  496. And user "user0" exists
  497. And user "user1" exists
  498. And user "user2" exists
  499. And user "user0" created a folder "/shared"
  500. And folder "/shared" of user "user0" is shared with user "user1"
  501. And user "user1" accepts last share
  502. And user "user1" created a folder "/movein"
  503. And user "user1" created a folder "/movein/subshare"
  504. When As an "user1"
  505. And folder "/movein" of user "user1" is shared with user "user2"
  506. And save last share id
  507. Then Getting info of last share
  508. And Share fields of last share match with
  509. | uid_file_owner | user1 |
  510. | share_with | user2 |
  511. When User "user1" moved file "/movein" to "/shared/movein"
  512. Then As an "user0"
  513. And Getting info of last share
  514. And Share fields of last share match with
  515. | uid_file_owner | user0 |
  516. | share_with | user2 |
  517. Scenario: Owner of subshares is adjusted after moving out of received share
  518. Given As an "admin"
  519. And user "user0" exists
  520. And user "user1" exists
  521. And user "user2" exists
  522. And user "user0" created a folder "/shared"
  523. And user "user0" created a folder "/shared/moveout"
  524. And user "user0" created a folder "/shared/moveout/subshare"
  525. And folder "/shared" of user "user0" is shared with user "user1"
  526. And user "user1" accepts last share
  527. And As an "user1"
  528. And folder "/shared/moveout/subshare" of user "user1" is shared with user "user2"
  529. And save last share id
  530. When As an "user1"
  531. Then Getting info of last share
  532. And Share fields of last share match with
  533. | uid_file_owner | user0 |
  534. | share_with | user2 |
  535. When User "user1" moved file "/shared/moveout" to "/moveout"
  536. Then Getting info of last share
  537. And Share fields of last share match with
  538. | uid_file_owner | user1 |
  539. | share_with | user2 |
  540. Scenario: Link shares inside of group shares keep their original data when the root share is updated
  541. Given As an "admin"
  542. And user "user0" exists
  543. And user "user1" exists
  544. And group "group1" exists
  545. And user "user1" belongs to group "group1"
  546. And As an "user0"
  547. And user "user0" created a folder "/share"
  548. And folder "/share" of user "user0" is shared with group "group1"
  549. And user "user1" accepts last share
  550. And user "user0" created a folder "/share/subfolder"
  551. And As an "user1"
  552. And save the last share data as "original"
  553. And as "user1" creating a share with
  554. | path | /share/subfolder |
  555. | shareType | 3 |
  556. | permissions | 31 |
  557. And save the last share data as "link"
  558. And As an "user0"
  559. And restore the last share data from "original"
  560. When Updating last share with
  561. | permissions | 23 |
  562. | expireDate | +3 days |
  563. And restore the last share data from "link"
  564. And Getting info of last share
  565. And Share fields of last share match with
  566. | id | A_NUMBER |
  567. | item_source | A_NUMBER |
  568. | share_type | 3 |
  569. | permissions | 23 |
  570. | file_target | /subfolder |
  571. | expireDate | |