federated.feature 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510
  1. # SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors
  2. # SPDX-FileCopyrightText: 2015-2016 ownCloud, Inc.
  3. # SPDX-License-Identifier: AGPL-3.0-only
  4. Feature: federated
  5. Background:
  6. Given using api version "1"
  7. Scenario: Federate share a file with another server
  8. Given Using server "REMOTE"
  9. And user "user1" exists
  10. And Using server "LOCAL"
  11. And user "user0" exists
  12. When User "user0" from server "LOCAL" shares "/textfile0.txt" with user "user1" from server "REMOTE"
  13. Then the OCS status code should be "100"
  14. And the HTTP status code should be "200"
  15. And Share fields of last share match with
  16. | id | A_NUMBER |
  17. | item_type | file |
  18. | item_source | A_NUMBER |
  19. | share_type | 6 |
  20. | file_source | A_NUMBER |
  21. | path | /textfile0.txt |
  22. | permissions | 19 |
  23. | stime | A_NUMBER |
  24. | storage | A_NUMBER |
  25. | mail_send | 0 |
  26. | uid_owner | user0 |
  27. | storage_id | home::user0 |
  28. | file_parent | A_NUMBER |
  29. | displayname_owner | user0 |
  30. | share_with | user1@REMOTE |
  31. | share_with_displayname | user1 |
  32. Scenario: Federated group share a file with another server
  33. Given Using server "REMOTE"
  34. And parameter "incoming_server2server_group_share_enabled" of app "files_sharing" is set to "yes"
  35. And user "gs-user1" exists
  36. And user "gs-user2" exists
  37. And group "group1" exists
  38. And As an "admin"
  39. And Add user "gs-user1" to the group "group1"
  40. And Add user "gs-user2" to the group "group1"
  41. And Using server "LOCAL"
  42. And parameter "outgoing_server2server_group_share_enabled" of app "files_sharing" is set to "yes"
  43. And user "gs-user0" exists
  44. When User "gs-user0" from server "LOCAL" shares "/textfile0.txt" with group "group1" from server "REMOTE"
  45. Then the OCS status code should be "100"
  46. And the HTTP status code should be "200"
  47. And Share fields of last share match with
  48. | id | A_NUMBER |
  49. | item_type | file |
  50. | item_source | A_NUMBER |
  51. | share_type | 9 |
  52. | file_source | A_NUMBER |
  53. | path | /textfile0.txt |
  54. | permissions | 19 |
  55. | stime | A_NUMBER |
  56. | storage | A_NUMBER |
  57. | mail_send | 0 |
  58. | uid_owner | gs-user0 |
  59. | storage_id | home::gs-user0 |
  60. | file_parent | A_NUMBER |
  61. | displayname_owner | gs-user0 |
  62. | share_with | group1@REMOTE |
  63. | share_with_displayname | group1@REMOTE |
  64. Scenario: Federate share a file with local server
  65. Given Using server "LOCAL"
  66. And user "user0" exists
  67. And Using server "REMOTE"
  68. And user "user1" exists
  69. When User "user1" from server "REMOTE" shares "/textfile0.txt" with user "user0" from server "LOCAL"
  70. Then the OCS status code should be "100"
  71. And the HTTP status code should be "200"
  72. And Share fields of last share match with
  73. | id | A_NUMBER |
  74. | item_type | file |
  75. | item_source | A_NUMBER |
  76. | share_type | 6 |
  77. | file_source | A_NUMBER |
  78. | path | /textfile0.txt |
  79. | permissions | 19 |
  80. | stime | A_NUMBER |
  81. | storage | A_NUMBER |
  82. | mail_send | 0 |
  83. | uid_owner | user1 |
  84. | storage_id | home::user1 |
  85. | file_parent | A_NUMBER |
  86. | displayname_owner | user1 |
  87. | share_with | user0@LOCAL |
  88. | share_with_displayname | user0 |
  89. Scenario: Remote sharee can see the pending share
  90. Given Using server "REMOTE"
  91. And user "user1" exists
  92. And Using server "LOCAL"
  93. And user "user0" exists
  94. And User "user0" from server "LOCAL" shares "/textfile0.txt" with user "user1" from server "REMOTE"
  95. And Using server "REMOTE"
  96. And As an "user1"
  97. When sending "GET" to "/apps/files_sharing/api/v1/remote_shares/pending"
  98. Then the OCS status code should be "100"
  99. And the HTTP status code should be "200"
  100. And Share fields of last share match with
  101. | id | A_NUMBER |
  102. | remote | LOCAL |
  103. | remote_id | A_NUMBER |
  104. | share_token | A_TOKEN |
  105. | name | /textfile0.txt |
  106. | owner | user0 |
  107. | user | user1 |
  108. | mountpoint | {{TemporaryMountPointName#/textfile0.txt}} |
  109. | accepted | 0 |
  110. Scenario: Remote sharee can see the pending group share
  111. Given Using server "REMOTE"
  112. And parameter "incoming_server2server_group_share_enabled" of app "files_sharing" is set to "yes"
  113. And user "gs-user1" exists
  114. And user "gs-user2" exists
  115. And group "group1" exists
  116. And As an "admin"
  117. And Add user "gs-user1" to the group "group1"
  118. And Add user "gs-user2" to the group "group1"
  119. And Using server "LOCAL"
  120. And parameter "outgoing_server2server_group_share_enabled" of app "files_sharing" is set to "yes"
  121. And user "gs-user0" exists
  122. When User "gs-user0" from server "LOCAL" shares "/textfile0.txt" with group "group1" from server "REMOTE"
  123. And Using server "REMOTE"
  124. And As an "gs-user1"
  125. When sending "GET" to "/apps/files_sharing/api/v1/remote_shares/pending"
  126. Then the OCS status code should be "100"
  127. And the HTTP status code should be "200"
  128. And Share fields of last share match with
  129. | id | A_NUMBER |
  130. | remote | LOCAL |
  131. | remote_id | A_NUMBER |
  132. | share_token | A_TOKEN |
  133. | name | /textfile0.txt |
  134. | owner | gs-user0 |
  135. | user | group1 |
  136. | mountpoint | {{TemporaryMountPointName#/textfile0.txt}} |
  137. | accepted | 0 |
  138. And As an "gs-user2"
  139. When sending "GET" to "/apps/files_sharing/api/v1/remote_shares/pending"
  140. Then the OCS status code should be "100"
  141. And the HTTP status code should be "200"
  142. And Share fields of last share match with
  143. | id | A_NUMBER |
  144. | remote | LOCAL |
  145. | remote_id | A_NUMBER |
  146. | share_token | A_TOKEN |
  147. | name | /textfile0.txt |
  148. | owner | gs-user0 |
  149. | user | group1 |
  150. | mountpoint | {{TemporaryMountPointName#/textfile0.txt}} |
  151. | accepted | 0 |
  152. Scenario: accept a pending remote share
  153. Given Using server "REMOTE"
  154. And user "user1" exists
  155. And Using server "LOCAL"
  156. And user "user0" exists
  157. And User "user0" from server "LOCAL" shares "/textfile0.txt" with user "user1" from server "REMOTE"
  158. When User "user1" from server "REMOTE" accepts last pending share
  159. Then the OCS status code should be "100"
  160. And the HTTP status code should be "200"
  161. Scenario: accept a pending remote group share
  162. Given Using server "REMOTE"
  163. And parameter "incoming_server2server_group_share_enabled" of app "files_sharing" is set to "yes"
  164. And user "gs-user1" exists
  165. And user "gs-user2" exists
  166. And group "group1" exists
  167. And As an "admin"
  168. And Add user "gs-user1" to the group "group1"
  169. And Add user "gs-user2" to the group "group1"
  170. And Using server "LOCAL"
  171. And parameter "outgoing_server2server_group_share_enabled" of app "files_sharing" is set to "yes"
  172. And user "gs-user0" exists
  173. When User "gs-user0" from server "LOCAL" shares "/textfile0.txt" with group "group1" from server "REMOTE"
  174. When User "gs-user1" from server "REMOTE" accepts last pending share
  175. Then the OCS status code should be "100"
  176. And the HTTP status code should be "200"
  177. Scenario: Reshare a federated shared file
  178. Given Using server "REMOTE"
  179. And user "user1" exists
  180. And user "user2" exists
  181. And Using server "LOCAL"
  182. And user "user0" exists
  183. And User "user0" from server "LOCAL" shares "/textfile0.txt" with user "user1" from server "REMOTE"
  184. And User "user1" from server "REMOTE" accepts last pending share
  185. And Using server "REMOTE"
  186. And As an "user1"
  187. When creating a share with
  188. | path | /textfile0 (2).txt |
  189. | shareType | 0 |
  190. | shareWith | user2 |
  191. | permissions | 19 |
  192. #Then the OCS status code should be "100"
  193. #And the HTTP status code should be "200"
  194. #And Share fields of last share match with
  195. # | id | A_NUMBER |
  196. # | item_type | file |
  197. # | item_source | A_NUMBER |
  198. # | share_type | 0 |
  199. # | file_source | A_NUMBER |
  200. # | path | /textfile0 (2).txt |
  201. # | permissions | 19 |
  202. # | stime | A_NUMBER |
  203. # | storage | A_NUMBER |
  204. # | mail_send | 1 |
  205. # | uid_owner | user1 |
  206. # | file_parent | A_NUMBER |
  207. # | displayname_owner | user1 |
  208. # | share_with | user2 |
  209. # | share_with_displayname | user2 |
  210. Scenario: Overwrite a federated shared file as recipient
  211. Given Using server "REMOTE"
  212. And user "user1" exists
  213. And user "user2" exists
  214. And Using server "LOCAL"
  215. And user "user0" exists
  216. And User "user0" from server "LOCAL" shares "/textfile0.txt" with user "user1" from server "REMOTE"
  217. And User "user1" from server "REMOTE" accepts last pending share
  218. And Using server "REMOTE"
  219. And As an "user1"
  220. And User "user1" modifies text of "/textfile0.txt" with text "BLABLABLA"
  221. When User "user1" uploads file "../../data/user1/files/textfile0.txt" to "/textfile0 (2).txt"
  222. And Downloading file "/textfile0 (2).txt" with range "bytes=0-8"
  223. Then Downloaded content should be "BLABLABLA"
  224. Scenario: Overwrite a federated shared folder as recipient
  225. Given Using server "REMOTE"
  226. And user "user1" exists
  227. And user "user2" exists
  228. And Using server "LOCAL"
  229. And user "user0" exists
  230. And User "user0" from server "LOCAL" shares "/PARENT" with user "user1" from server "REMOTE"
  231. And User "user1" from server "REMOTE" accepts last pending share
  232. And Using server "REMOTE"
  233. And As an "user1"
  234. And User "user1" modifies text of "/textfile0.txt" with text "BLABLABLA"
  235. #When User "user1" uploads file "../../data/user1/files/textfile0.txt" to "/PARENT (2)/textfile0.txt"
  236. #And Downloading file "/PARENT (2)/textfile0.txt" with range "bytes=0-8"
  237. #Then Downloaded content should be "BLABLABLA"
  238. Scenario: Overwrite a federated shared file as recipient using old chunking
  239. Given Using server "REMOTE"
  240. And user "user1" exists
  241. And user "user2" exists
  242. And Using server "LOCAL"
  243. And user "user0" exists
  244. And User "user0" from server "LOCAL" shares "/textfile0.txt" with user "user1" from server "REMOTE"
  245. And User "user1" from server "REMOTE" accepts last pending share
  246. And Using server "REMOTE"
  247. And As an "user1"
  248. #And user "user1" uploads chunk file "1" of "3" with "AAAAA" to "/textfile0 (2).txt"
  249. #And user "user1" uploads chunk file "2" of "3" with "BBBBB" to "/textfile0 (2).txt"
  250. #And user "user1" uploads chunk file "3" of "3" with "CCCCC" to "/textfile0 (2).txt"
  251. #When Downloading file "/textfile0 (2).txt" with range "bytes=0-4"
  252. #Then Downloaded content should be "AAAAA"
  253. Scenario: Overwrite a federated shared folder as recipient using old chunking
  254. Given Using server "REMOTE"
  255. And user "user1" exists
  256. And user "user2" exists
  257. And Using server "LOCAL"
  258. And user "user0" exists
  259. And User "user0" from server "LOCAL" shares "/PARENT" with user "user1" from server "REMOTE"
  260. And User "user1" from server "REMOTE" accepts last pending share
  261. And Using server "REMOTE"
  262. And As an "user1"
  263. #And user "user1" uploads chunk file "1" of "3" with "AAAAA" to "/PARENT (2)/textfile0.txt"
  264. #And user "user1" uploads chunk file "2" of "3" with "BBBBB" to "/PARENT (2)/textfile0.txt"
  265. #And user "user1" uploads chunk file "3" of "3" with "CCCCC" to "/PARENT (2)/textfile0.txt"
  266. #When Downloading file "/PARENT (2)/textfile0.txt" with range "bytes=3-13"
  267. #Then Downloaded content should be "AABBBBBCCCC"
  268. Scenario: List federated share from another server not accepted yet
  269. Given Using server "LOCAL"
  270. And user "user0" exists
  271. Given Using server "REMOTE"
  272. And user "user1" exists
  273. # Rename file so it has a unique name in the target server (as the target
  274. # server may have its own /textfile0.txt" file)
  275. And User "user1" copies file "/textfile0.txt" to "/remote-share.txt"
  276. And User "user1" from server "REMOTE" shares "/remote-share.txt" with user "user0" from server "LOCAL"
  277. And Using server "LOCAL"
  278. When As an "user0"
  279. And sending "GET" to "/apps/files_sharing/api/v1/remote_shares"
  280. Then the list of returned shares has 0 shares
  281. Scenario: List federated share from another server
  282. Given Using server "LOCAL"
  283. And user "user0" exists
  284. Given Using server "REMOTE"
  285. And user "user1" exists
  286. # Rename file so it has a unique name in the target server (as the target
  287. # server may have its own /textfile0.txt" file)
  288. And User "user1" copies file "/textfile0.txt" to "/remote-share.txt"
  289. And User "user1" from server "REMOTE" shares "/remote-share.txt" with user "user0" from server "LOCAL"
  290. And Using server "LOCAL"
  291. And User "user0" from server "LOCAL" accepts last pending share
  292. When As an "user0"
  293. And sending "GET" to "/apps/files_sharing/api/v1/remote_shares"
  294. Then the list of returned shares has 1 shares
  295. And remote share 0 is returned with
  296. | remote | http://localhost:8180/ |
  297. | name | /remote-share.txt |
  298. | owner | user1 |
  299. | user | user0 |
  300. | mountpoint | /remote-share.txt |
  301. | mimetype | text/plain |
  302. | mtime | A_NUMBER |
  303. | permissions | 27 |
  304. | type | file |
  305. | file_id | A_NUMBER |
  306. Scenario: List federated share from another server no longer reachable
  307. Given Using server "LOCAL"
  308. And user "user0" exists
  309. Given Using server "REMOTE"
  310. And user "user1" exists
  311. # Rename file so it has a unique name in the target server (as the target
  312. # server may have its own /textfile0.txt" file)
  313. And User "user1" copies file "/textfile0.txt" to "/remote-share.txt"
  314. And User "user1" from server "REMOTE" shares "/remote-share.txt" with user "user0" from server "LOCAL"
  315. And Using server "LOCAL"
  316. And User "user0" from server "LOCAL" accepts last pending share
  317. And remote server is stopped
  318. When As an "user0"
  319. And sending "GET" to "/apps/files_sharing/api/v1/remote_shares"
  320. Then the list of returned shares has 1 shares
  321. And remote share 0 is returned with
  322. | remote | http://localhost:8180/ |
  323. | name | /remote-share.txt |
  324. | owner | user1 |
  325. | user | user0 |
  326. | mountpoint | /remote-share.txt |
  327. Scenario: List federated share from another server no longer reachable after caching the file entry
  328. Given Using server "LOCAL"
  329. And user "user0" exists
  330. Given Using server "REMOTE"
  331. And user "user1" exists
  332. # Rename file so it has a unique name in the target server (as the target
  333. # server may have its own /textfile0.txt" file)
  334. And User "user1" copies file "/textfile0.txt" to "/remote-share.txt"
  335. And User "user1" from server "REMOTE" shares "/remote-share.txt" with user "user0" from server "LOCAL"
  336. And Using server "LOCAL"
  337. And User "user0" from server "LOCAL" accepts last pending share
  338. # Checking that the file exists caches the file entry, which causes an
  339. # exception to be thrown when getting the file info if the remote server is
  340. # unreachable.
  341. And as "user0" the file "/remote-share.txt" exists
  342. And remote server is stopped
  343. When As an "user0"
  344. And sending "GET" to "/apps/files_sharing/api/v1/remote_shares"
  345. Then the list of returned shares has 1 shares
  346. And remote share 0 is returned with
  347. | remote | http://localhost:8180/ |
  348. | name | /remote-share.txt |
  349. | owner | user1 |
  350. | user | user0 |
  351. | mountpoint | /remote-share.txt |
  352. Scenario: Delete federated share with another server
  353. Given Using server "LOCAL"
  354. And user "user0" exists
  355. Given Using server "REMOTE"
  356. And user "user1" exists
  357. # Rename file so it has a unique name in the target server (as the target
  358. # server may have its own /textfile0.txt" file)
  359. And User "user1" copies file "/textfile0.txt" to "/remote-share.txt"
  360. And User "user1" from server "REMOTE" shares "/remote-share.txt" with user "user0" from server "LOCAL"
  361. And As an "user1"
  362. And sending "GET" to "/apps/files_sharing/api/v1/shares"
  363. And the list of returned shares has 1 shares
  364. And Using server "LOCAL"
  365. And User "user0" from server "LOCAL" accepts last pending share
  366. And as "user0" the file "/remote-share.txt" exists
  367. And As an "user0"
  368. And sending "GET" to "/apps/files_sharing/api/v1/remote_shares"
  369. And the list of returned shares has 1 shares
  370. And Using server "REMOTE"
  371. When As an "user1"
  372. And Deleting last share
  373. Then the OCS status code should be "100"
  374. And the HTTP status code should be "200"
  375. And As an "user1"
  376. And sending "GET" to "/apps/files_sharing/api/v1/shares"
  377. And the list of returned shares has 0 shares
  378. And Using server "LOCAL"
  379. And as "user0" the file "/remote-share.txt" does not exist
  380. And As an "user0"
  381. And sending "GET" to "/apps/files_sharing/api/v1/remote_shares"
  382. And the list of returned shares has 0 shares
  383. Scenario: Delete federated share from another server
  384. Given Using server "LOCAL"
  385. And user "user0" exists
  386. Given Using server "REMOTE"
  387. And user "user1" exists
  388. # Rename file so it has a unique name in the target server (as the target
  389. # server may have its own /textfile0.txt" file)
  390. And User "user1" copies file "/textfile0.txt" to "/remote-share.txt"
  391. And User "user1" from server "REMOTE" shares "/remote-share.txt" with user "user0" from server "LOCAL"
  392. And As an "user1"
  393. And sending "GET" to "/apps/files_sharing/api/v1/shares"
  394. And the list of returned shares has 1 shares
  395. And Using server "LOCAL"
  396. And User "user0" from server "LOCAL" accepts last pending share
  397. And as "user0" the file "/remote-share.txt" exists
  398. And As an "user0"
  399. And sending "GET" to "/apps/files_sharing/api/v1/remote_shares"
  400. And the list of returned shares has 1 shares
  401. When user "user0" deletes last accepted remote share
  402. Then the OCS status code should be "100"
  403. And the HTTP status code should be "200"
  404. And as "user0" the file "/remote-share.txt" does not exist
  405. And As an "user0"
  406. And sending "GET" to "/apps/files_sharing/api/v1/remote_shares"
  407. And the list of returned shares has 0 shares
  408. And Using server "REMOTE"
  409. And As an "user1"
  410. And sending "GET" to "/apps/files_sharing/api/v1/shares"
  411. And the list of returned shares has 0 shares
  412. Scenario: Delete federated share from another server no longer reachable
  413. Given Using server "LOCAL"
  414. And user "user0" exists
  415. Given Using server "REMOTE"
  416. And user "user1" exists
  417. # Rename file so it has a unique name in the target server (as the target
  418. # server may have its own /textfile0.txt" file)
  419. And User "user1" copies file "/textfile0.txt" to "/remote-share.txt"
  420. And User "user1" from server "REMOTE" shares "/remote-share.txt" with user "user0" from server "LOCAL"
  421. And Using server "LOCAL"
  422. And User "user0" from server "LOCAL" accepts last pending share
  423. And as "user0" the file "/remote-share.txt" exists
  424. And As an "user0"
  425. And sending "GET" to "/apps/files_sharing/api/v1/remote_shares"
  426. And the list of returned shares has 1 shares
  427. And remote server is stopped
  428. When user "user0" deletes last accepted remote share
  429. Then the OCS status code should be "100"
  430. And the HTTP status code should be "200"
  431. And as "user0" the file "/remote-share.txt" does not exist
  432. And As an "user0"
  433. And sending "GET" to "/apps/files_sharing/api/v1/remote_shares"
  434. And the list of returned shares has 0 shares
  435. Scenario: Delete federated share file from another server
  436. Given Using server "LOCAL"
  437. And user "user0" exists
  438. Given Using server "REMOTE"
  439. And user "user1" exists
  440. # Rename file so it has a unique name in the target server (as the target
  441. # server may have its own /textfile0.txt" file)
  442. And User "user1" copies file "/textfile0.txt" to "/remote-share.txt"
  443. And User "user1" from server "REMOTE" shares "/remote-share.txt" with user "user0" from server "LOCAL"
  444. And As an "user1"
  445. And sending "GET" to "/apps/files_sharing/api/v1/shares"
  446. And the list of returned shares has 1 shares
  447. And Using server "LOCAL"
  448. And User "user0" from server "LOCAL" accepts last pending share
  449. And as "user0" the file "/remote-share.txt" exists
  450. And As an "user0"
  451. And sending "GET" to "/apps/files_sharing/api/v1/remote_shares"
  452. And the list of returned shares has 1 shares
  453. When User "user0" deletes file "/remote-share.txt"
  454. Then the HTTP status code should be "204"
  455. And as "user0" the file "/remote-share.txt" does not exist
  456. And As an "user0"
  457. And sending "GET" to "/apps/files_sharing/api/v1/remote_shares"
  458. And the list of returned shares has 0 shares
  459. And Using server "REMOTE"
  460. And As an "user1"
  461. And sending "GET" to "/apps/files_sharing/api/v1/shares"
  462. And the list of returned shares has 0 shares
  463. Scenario: Delete federated share file from another server no longer reachable
  464. Given Using server "LOCAL"
  465. And user "user0" exists
  466. Given Using server "REMOTE"
  467. And user "user1" exists
  468. # Rename file so it has a unique name in the target server (as the target
  469. # server may have its own /textfile0.txt" file)
  470. And User "user1" copies file "/textfile0.txt" to "/remote-share.txt"
  471. And User "user1" from server "REMOTE" shares "/remote-share.txt" with user "user0" from server "LOCAL"
  472. And Using server "LOCAL"
  473. And User "user0" from server "LOCAL" accepts last pending share
  474. And as "user0" the file "/remote-share.txt" exists
  475. And As an "user0"
  476. And sending "GET" to "/apps/files_sharing/api/v1/remote_shares"
  477. And the list of returned shares has 1 shares
  478. And remote server is stopped
  479. When User "user0" deletes file "/remote-share.txt"
  480. Then the HTTP status code should be "204"
  481. And as "user0" the file "/remote-share.txt" does not exist
  482. And As an "user0"
  483. And sending "GET" to "/apps/files_sharing/api/v1/remote_shares"
  484. And the list of returned shares has 0 shares