diff --git a/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_1.yml b/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_1.yml
new file mode 100644
index 00000000000..fde5895a0f3
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_1.yml
@@ -0,0 +1,234 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Neque facilis et quia sit quia omnis. Vel neque sunt molestiae. Autem
+ iste ducimus. Hic recusandae dolor a voluptatem.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ aff5250eaa2ebbcdd481eab682e87e2d
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Qui laudantium omnis aut perspiciatis optio. Fugiat nemo odit consequatur
+ nihil in quaerat. Deserunt dolor minus rerum.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ bc15f3c4dd61daf0f93117f3a3556713
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '119'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Qui laudantium omnis aut perspiciatis optio. Fugiat nemo odit consequatur
+ nihil in quaerat. Deserunt dolor minus rerum.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_2.yml b/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_2.yml
new file mode 100644
index 00000000000..b1662a09a90
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_2.yml
@@ -0,0 +1,234 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:13 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:14 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:14 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Soluta et dignissimos provident. Molestias nihil explicabo aliquam et.
+ Dolorem quis eos. Id est est magnam. Libero ipsam et dignissimos dolorem.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 609123470a7962de0a7690f9fdb18e6e
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:14 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Eaque vel suscipit fugit sit. Doloremque enim eveniet. Praesentium et
+ doloribus rerum dicta. Ipsam deleniti non. Dolorem eum veniam labore.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ ce444e736253ef3083006b046a22ad4e
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:14 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '139'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Eaque vel suscipit fugit sit. Doloremque enim eveniet. Praesentium et
+ doloribus rerum dicta. Ipsam deleniti non. Dolorem eum veniam labore.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:14 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_3.yml b/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_3.yml
new file mode 100644
index 00000000000..2bc9f002ed8
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_3.yml
@@ -0,0 +1,237 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Iure ducimus modi cum corporis ab laborum vitae. Id modi quis quibusdam
+ consequatur. Perferendis dicta sequi ea sed et nesciunt dignissimos. Qui recusandae
+ sint libero quia perferendis ut blanditiis.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 6421f0e84c704f74f1839b1b8d66d21f
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Et dolores sed voluptas et vitae. Officiis et reiciendis aliquam recusandae
+ mollitia explicabo asperiores. Quas ipsam iste officia nesciunt quia inventore
+ neque. Vel eaque quia dolorem ut vel ut. Qui velit nisi veniam.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ a8064b3d30ac882fe5464ef96764d74f
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '218'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Et dolores sed voluptas et vitae. Officiis et reiciendis aliquam recusandae
+ mollitia explicabo asperiores. Quas ipsam iste officia nesciunt quia inventore
+ neque. Vel eaque quia dolorem ut vel ut. Qui velit nisi veniam.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_4.yml b/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_4.yml
new file mode 100644
index 00000000000..0876ae9023a
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_4.yml
@@ -0,0 +1,236 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Voluptatem amet est placeat et incidunt aut ipsum. Corporis aut ut doloribus
+ asperiores est. Quis aut explicabo sit sequi magnam.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 3d8e4a86ede8549447374201bda66d7f
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Veritatis et voluptas recusandae occaecati repellendus sed cum. Voluptas
+ mollitia aliquam sed totam ut ab rem. Cupiditate officiis totam et et placeat
+ delectus non.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ fb713b0000df2b1bd65bc8ef87ed5cfd
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '164'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Veritatis et voluptas recusandae occaecati repellendus sed cum. Voluptas
+ mollitia aliquam sed totam ut ab rem. Cupiditate officiis totam et et placeat
+ delectus non.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:12 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_5.yml b/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_5.yml
new file mode 100644
index 00000000000..944cdba83f5
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_5.yml
@@ -0,0 +1,236 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:13 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:13 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:13 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Molestias aut et velit. Quia iure nesciunt quos. Eum magnam molestias
+ rerum.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ b69e78934e1f804a5df51c92c309485f
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:13 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Eveniet illo et et eaque possimus. Quaerat accusamus libero voluptas
+ aut molestias. Corrupti vel velit est voluptatem facilis aperiam ex. Et aut
+ maxime qui cumque.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 9ae9fd32a0527ca1b831f9d0e27250d5
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:13 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '163'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Eveniet illo et et eaque possimus. Quaerat accusamus libero voluptas
+ aut molestias. Corrupti vel velit est voluptatem facilis aperiam ex. Et aut
+ maxime qui cumque.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:13 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_6.yml b/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_6.yml
new file mode 100644
index 00000000000..1bbf28c94e7
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_destroy/with_a_backend_error/1_10_1_6.yml
@@ -0,0 +1,236 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:13 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:13 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:13 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Aut esse maiores rem sed quidem. Similique sapiente et. Et sed et est
+ et.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ ab83b5ed01ee0383cc6dcca42027b8c9
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:13 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Architecto nulla accusantium voluptas nostrum aut harum numquam. Enim
+ velit porro quis voluptas nihil nesciunt exercitationem. In ut necessitatibus
+ eveniet excepturi.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 3566a04e282a8a8bd82bd97422a4004f
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:13 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '166'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Architecto nulla accusantium voluptas nostrum aut harum numquam. Enim
+ velit porro quis voluptas nihil nesciunt exercitationem. In ut necessitatibus
+ eveniet excepturi.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:13 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_destroy_/1_9_1.yml b/src/api/spec/cassettes/Backend_File/_destroy_/1_9_1.yml
new file mode 100644
index 00000000000..9f973d76264
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_destroy_/1_9_1.yml
@@ -0,0 +1,277 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:03 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=_nobody_
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:03 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:03 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Vel quae ut totam impedit ducimus minima nostrum. Velit molestias itaque
+ neque ad. Voluptas reiciendis perferendis asperiores laudantium repellendus
+ eius.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 84ad098ccd6642c473387e910a0b7ce9
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:03 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Rerum id explicabo et. Qui sint excepturi sit sunt praesentium optio.
+ Architecto ut id possimus magni. Est non exercitationem delectus at.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ f5b17a42b0a12cfeef6b54573fc968c2
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:04 GMT
+- request:
+ method: delete
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 84ad098ccd6642c473387e910a0b7ce9
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:04 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 404
+ message: somefile.txt no such file
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '130'
+ body:
+ encoding: UTF-8
+ string: |
+
+ somefile.txt: no such file
+ 404 somefile.txt: no such file
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:04 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_destroy_/1_9_2.yml b/src/api/spec/cassettes/Backend_File/_destroy_/1_9_2.yml
new file mode 100644
index 00000000000..0f00e80b028
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_destroy_/1_9_2.yml
@@ -0,0 +1,242 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:02 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=_nobody_
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:02 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:02 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Eum nam distinctio aut. Velit voluptatem excepturi vel voluptas rem
+ incidunt. Aspernatur a est veritatis qui vel et.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ c94fe2d0b471e0af91403eb61f1842c9
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:02 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Id et beatae omnis nemo sunt odit. Praesentium quibusdam esse exercitationem
+ qui voluptate. Quaerat qui enim eum dolor. Quod qui ipsum. Inventore porro
+ ut vel qui et ipsa non.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 9ffeec1bee73764f01f07035de13cecc
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:02 GMT
+- request:
+ method: delete
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 279381783932f622a46f8f17cb955087
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:02 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_destroy_/1_9_3.yml b/src/api/spec/cassettes/Backend_File/_destroy_/1_9_3.yml
new file mode 100644
index 00000000000..706a5fdafc8
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_destroy_/1_9_3.yml
@@ -0,0 +1,242 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:02 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=_nobody_
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:02 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:02 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Perspiciatis quis soluta commodi dolorem porro. Itaque molestias magni
+ ipsa rerum et dolore. Tempora ut ut amet quaerat veniam autem id. Veritatis
+ voluptatem sed molestias et et quis neque. Saepe quia est est aut.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 2ef0def80f0d4362d6e58e02e91bea67
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:02 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Amet voluptatem fugit. Ea cumque quia deserunt temporibus fugit magnam.
+ Quam sed velit ducimus. Adipisci autem ut et.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 69c3616dcaacdf1ca1319da63e15e74f
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:03 GMT
+- request:
+ method: delete
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 2ef0def80f0d4362d6e58e02e91bea67
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:03 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_destroy_/1_9_4.yml b/src/api/spec/cassettes/Backend_File/_destroy_/1_9_4.yml
new file mode 100644
index 00000000000..6ef9f90787a
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_destroy_/1_9_4.yml
@@ -0,0 +1,241 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:04 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=_nobody_
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:04 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:04 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Quos eaque velit. Sit et in. Magni voluptatibus et repellendus unde
+ consequatur.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 762cf1e06e0c90f4c57e0ecace11c989
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:04 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Quasi soluta ut est autem. Autem ad qui asperiores natus alias. Ut incidunt
+ vel aut sit consequatur animi laudantium.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 0a98c250110875531795471769dbe8b4
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:04 GMT
+- request:
+ method: delete
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 762cf1e06e0c90f4c57e0ecace11c989
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:04 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_destroy_/1_9_5.yml b/src/api/spec/cassettes/Backend_File/_destroy_/1_9_5.yml
new file mode 100644
index 00000000000..4c2137a065d
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_destroy_/1_9_5.yml
@@ -0,0 +1,241 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:03 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=_nobody_
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:03 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:03 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Nam est officia voluptas accusantium. Ea rerum ut repellat voluptatem
+ nostrum qui. Ad magni nulla porro harum natus nam.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ eb44d45242d391a07fc3623a57c49e6a
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:03 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Quia sequi laboriosam enim. Sunt et modi aut. Ut facilis consectetur
+ ut aut explicabo.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ d004a57e0575a70ff001c14f12d03cc5
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:03 GMT
+- request:
+ method: delete
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ eb44d45242d391a07fc3623a57c49e6a
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:03 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_file/with_a_backend_error/1_4_3_1.yml b/src/api/spec/cassettes/Backend_File/_file/with_a_backend_error/1_4_3_1.yml
new file mode 100644
index 00000000000..961a01d4598
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_file/with_a_backend_error/1_4_3_1.yml
@@ -0,0 +1,205 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:07 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:07 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:07 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Et animi nulla delectus hic. Consequatur facilis veritatis voluptatem
+ sit. Ut magni saepe est architecto reprehenderit. Dolorem laboriosam tempore
+ incidunt numquam sed molestiae quisquam. Voluptatem dolore est provident quae
+ et est.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 5a22999c2255d793efabdc4bedda55e5
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:07 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Expedita autem quis id iusto esse repellendus. Et incidunt consequatur
+ aspernatur qui explicabo unde. Dolorem cumque tenetur pariatur totam odit.
+ Repudiandae optio aut dolores.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 40d2bcc61b69f96f32bf5488ed6b44f2
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:07 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_file/with_a_backend_error/it_will_have_error_messages.yml b/src/api/spec/cassettes/Backend_File/_file/with_a_backend_error/it_will_have_error_messages.yml
new file mode 100644
index 00000000000..d5fe74a84b9
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_file/with_a_backend_error/it_will_have_error_messages.yml
@@ -0,0 +1,202 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:07 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:07 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:07 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Odio nulla voluptas quaerat ducimus temporibus et voluptatem. Sed nisi
+ est cupiditate est similique. Et ut reiciendis dolorem.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 8656397ec32ed23dcfe1d0ce916ffbb0
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:07 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Facere repellendus omnis et. Reiciendis quia repellendus iure. Placeat
+ suscipit neque natus voluptatum eos. Quibusdam hic vero.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 703192d4939fa532cfb12851ce45eea4
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:07 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_file/with_a_backend_error/left_the_object_invalid_if_errors_are_present.yml b/src/api/spec/cassettes/Backend_File/_file/with_a_backend_error/left_the_object_invalid_if_errors_are_present.yml
new file mode 100644
index 00000000000..0ed511375ed
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_file/with_a_backend_error/left_the_object_invalid_if_errors_are_present.yml
@@ -0,0 +1,204 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:06 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:06 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:06 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Repellendus iste adipisci reprehenderit. Amet voluptatem cum corporis
+ magni accusantium sit. Rerum necessitatibus quasi reprehenderit hic. Ea soluta
+ aliquam iusto ab officia. Sed omnis qui architecto inventore ipsa rerum enim.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 3c7870279a1efcdaeb7c426709e0f0f4
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:07 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Quam repellat tenetur dignissimos earum minima in et. Totam rerum occaecati.
+ Quisquam sed consequatur qui aut est. Nam voluptate magnam rerum. Iusto voluptatem
+ dolorem debitis sunt.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ d53946ac62af2a0cebab5a977ba82bf0
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:07 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_file/without_a_file_already_loaded/and_a_valid_object/1_4_2_2_1.yml b/src/api/spec/cassettes/Backend_File/_file/without_a_file_already_loaded/and_a_valid_object/1_4_2_2_1.yml
new file mode 100644
index 00000000000..78b9def16d3
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_file/without_a_file_already_loaded/and_a_valid_object/1_4_2_2_1.yml
@@ -0,0 +1,236 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:04 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:04 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:04 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Ut id architecto. Voluptas et quis occaecati aut deserunt illo non.
+ Unde sit veniam nisi natus est ab. Voluptatem autem labore ex corrupti.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ c68b181a4ddceb6665fec8487ba6e0a9
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:04 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Eius porro optio omnis eveniet voluptatem. Distinctio error laborum
+ qui quam veniam deserunt ipsa. Quibusdam at nostrum aut quos velit. Iste incidunt
+ officia eum aut voluptas et. Ad deserunt rerum tempora.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ a84f3b66f5c9220d0cecac192513f3aa
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:04 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '205'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Eius porro optio omnis eveniet voluptatem. Distinctio error laborum
+ qui quam veniam deserunt ipsa. Quibusdam at nostrum aut quos velit. Iste incidunt
+ officia eum aut voluptas et. Ad deserunt rerum tempora.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:05 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_file/without_a_file_already_loaded/and_a_valid_object/1_4_2_2_2.yml b/src/api/spec/cassettes/Backend_File/_file/without_a_file_already_loaded/and_a_valid_object/1_4_2_2_2.yml
new file mode 100644
index 00000000000..f1f8836a219
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_file/without_a_file_already_loaded/and_a_valid_object/1_4_2_2_2.yml
@@ -0,0 +1,236 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:05 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:05 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:05 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Est corrupti et. Maxime voluptatum dolores nulla. Et reiciendis sunt
+ laboriosam harum.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 0774694e71f269099ae9319c6b8c488f
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:05 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Inventore quia rerum et ipsam consequatur. Placeat natus voluptatem
+ quia explicabo nobis pariatur. Ad voluptatem et dicta maxime natus. Quidem
+ soluta distinctio aliquam expedita dolorum nostrum.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 60f249583c65b74fc56c70e67a65fe7a
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:05 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '194'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Inventore quia rerum et ipsam consequatur. Placeat natus voluptatem
+ quia explicabo nobis pariatur. Ad voluptatem et dicta maxime natus. Quidem
+ soluta distinctio aliquam expedita dolorum nostrum.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:05 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_file/without_a_file_already_loaded/and_a_valid_object/1_4_2_2_3.yml b/src/api/spec/cassettes/Backend_File/_file/without_a_file_already_loaded/and_a_valid_object/1_4_2_2_3.yml
new file mode 100644
index 00000000000..ded40332482
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_file/without_a_file_already_loaded/and_a_valid_object/1_4_2_2_3.yml
@@ -0,0 +1,235 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:06 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:06 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:06 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Ipsum eos et nulla ut facilis atque facere. Sequi debitis atque. Ab
+ ullam impedit molestias. Eos sed distinctio qui consequatur. Tenetur inventore
+ odit asperiores pariatur vel facere.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 81ac54aae31d82d83cd0edff7ed4c790
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:06 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Nihil itaque aut omnis soluta unde sit ipsam. Tempora quae nemo nihil
+ aspernatur. Neque atque molestias perferendis quaerat magni sint.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 6cd9009804cbdc5d2a17cdb1b6185c99
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:06 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '135'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Nihil itaque aut omnis soluta unde sit ipsam. Tempora quae nemo nihil
+ aspernatur. Neque atque molestias perferendis quaerat magni sint.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:06 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_file/without_a_file_already_loaded/and_a_valid_object/1_4_2_2_4.yml b/src/api/spec/cassettes/Backend_File/_file/without_a_file_already_loaded/and_a_valid_object/1_4_2_2_4.yml
new file mode 100644
index 00000000000..e020a66093a
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_file/without_a_file_already_loaded/and_a_valid_object/1_4_2_2_4.yml
@@ -0,0 +1,239 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:06 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:06 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:06 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Incidunt culpa vero ex et mollitia quis impedit. Non omnis amet. Dolorum
+ autem sunt natus explicabo maiores illum pariatur. Autem officiis quasi est
+ deserunt tempore. Autem quaerat assumenda et.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ bc1b49b055a52c16134665ba5b9a0689
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:06 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Eligendi quibusdam facilis repellat sed aut sint. Dolor neque dicta
+ ipsum laudantium qui quod et. Expedita quia quis ratione nesciunt est tempore
+ dolorem. Eum nemo nobis quam praesentium necessitatibus voluptatibus autem.
+ Dolorem sed adipisci voluptatum.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ dd8b3f47bd15c9ed9da56ad1221e5afd
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:06 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '254'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Eligendi quibusdam facilis repellat sed aut sint. Dolor neque dicta
+ ipsum laudantium qui quod et. Expedita quia quis ratione nesciunt est tempore
+ dolorem. Eum nemo nobis quam praesentium necessitatibus voluptatibus autem.
+ Dolorem sed adipisci voluptatum.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:06 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_file/without_a_file_already_loaded/and_a_valid_object/1_4_2_2_5.yml b/src/api/spec/cassettes/Backend_File/_file/without_a_file_already_loaded/and_a_valid_object/1_4_2_2_5.yml
new file mode 100644
index 00000000000..4bda8c710bf
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_file/without_a_file_already_loaded/and_a_valid_object/1_4_2_2_5.yml
@@ -0,0 +1,236 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:05 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:05 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:05 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Blanditiis dolorem illo. Repellendus eum autem ea aut sit. Quia accusantium
+ fugit sunt occaecati blanditiis praesentium.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 7e763c51897a720bd6a241a0bd6ef321
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:05 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Voluptatem impedit quo quos delectus. Aut corporis facere est. Ipsa
+ neque vitae ratione unde. Sunt molestiae dolore laudantium assumenda id. Tempore
+ culpa consequuntur esse quia consectetur.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 43b7ec75f07dd63b2a61e9f04f15f422
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:05 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '190'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Voluptatem impedit quo quos delectus. Aut corporis facere est. Ipsa
+ neque vitae ratione unde. Sunt molestiae dolore laudantium assumenda id. Tempore
+ culpa consequuntur esse quia consectetur.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:05 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_reload/with_an_existing_file_in_the_backend/1_6_1_1.yml b/src/api/spec/cassettes/Backend_File/_reload/with_an_existing_file_in_the_backend/1_6_1_1.yml
new file mode 100644
index 00000000000..e76f59b5d7e
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_reload/with_an_existing_file_in_the_backend/1_6_1_1.yml
@@ -0,0 +1,338 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Eos occaecati quis nesciunt quam sint voluptatem. Non rerum voluptas
+ culpa exercitationem sapiente nihil. Non facere quis sit neque earum necessitatibus
+ sequi. Delectus veritatis molestiae nemo dolorem.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ ad2ff64290555406c049487f8906ac2b
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Quia harum rerum odit est aperiam asperiores. Ipsa architecto suscipit
+ sed. Ratione qui necessitatibus dolor sed ab perferendis. Et aut quas repellat.
+ Fuga totam ipsa corrupti aut.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 778af1638e371bd29b9fc7ab8cec37ed
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '180'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Quia harum rerum odit est aperiam asperiores. Ipsa architecto suscipit
+ sed. Ratione qui necessitatibus dolor sed ab perferendis. Et aut quas repellat.
+ Fuga totam ipsa corrupti aut.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: hello
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ ad2ff64290555406c049487f8906ac2b
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '5'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: hello
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '5'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: hello
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_save/with_a_backend_error/it_will_have_error_messages.yml b/src/api/spec/cassettes/Backend_File/_save/with_a_backend_error/it_will_have_error_messages.yml
new file mode 100644
index 00000000000..84d114d6dc5
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_save/with_a_backend_error/it_will_have_error_messages.yml
@@ -0,0 +1,83 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:07 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:08 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_save/with_a_backend_error/left_the_object_invalid_if_errors_are_present.yml b/src/api/spec/cassettes/Backend_File/_save/with_a_backend_error/left_the_object_invalid_if_errors_are_present.yml
new file mode 100644
index 00000000000..c9299d42937
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_save/with_a_backend_error/left_the_object_invalid_if_errors_are_present.yml
@@ -0,0 +1,83 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:08 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:08 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_save_/with_a_file_as_content/1_7_2_1.yml b/src/api/spec/cassettes/Backend_File/_save_/with_a_file_as_content/1_7_2_1.yml
new file mode 100644
index 00000000000..50e242f2349
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_save_/with_a_file_as_content/1_7_2_1.yml
@@ -0,0 +1,278 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:09 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:09 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:09 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Quia est nesciunt mollitia autem. Suscipit aut soluta officiis. Hic
+ rem quaerat ipsa deserunt. Assumenda omnis debitis aliquam est. Voluptatum
+ et perspiciatis numquam itaque porro natus distinctio.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 0cdb870790ffde7e75360aeafee0a5c2
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:09 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Optio odit qui libero. Placeat et reiciendis voluptatem. Perspiciatis
+ atque accusantium et velit recusandae exercitationem aliquid. Et tenetur iure
+ fugiat praesentium occaecati qui.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ a6e0a8bb08be1f17cdd0d5756c70a94b
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:09 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '181'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Optio odit qui libero. Placeat et reiciendis voluptatem. Perspiciatis
+ atque accusantium et velit recusandae exercitationem aliquid. Et tenetur iure
+ fugiat praesentium occaecati qui.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:09 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: ASCII-8BIT
+ string: hello
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ Content-Length:
+ - '5'
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 43653b9164e00e73e99ab9875b1021c5
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:09 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_save_/with_a_file_as_content/1_7_2_2.yml b/src/api/spec/cassettes/Backend_File/_save_/with_a_file_as_content/1_7_2_2.yml
new file mode 100644
index 00000000000..c51298dee32
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_save_/with_a_file_as_content/1_7_2_2.yml
@@ -0,0 +1,277 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:09 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:10 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:10 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Voluptate reprehenderit dolorum consequatur rem sint non. Sequi voluptates
+ omnis et doloremque consequatur deserunt nobis. Deserunt incidunt officia
+ inventore assumenda repudiandae sed. Eveniet aut distinctio quis repellendus
+ est.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ f2905054edb775b28add4279ce7f20c9
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:10 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Qui dolor quae molestias voluptatem exercitationem. Et alias molestiae
+ minima id. Nihil eligendi soluta architecto qui.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ ad12362ad00c6f3e922a61d185b3de93
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:10 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '119'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Qui dolor quae molestias voluptatem exercitationem. Et alias molestiae
+ minima id. Nihil eligendi soluta architecto qui.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:10 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: ASCII-8BIT
+ string: hello
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ Content-Length:
+ - '5'
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ f2905054edb775b28add4279ce7f20c9
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:10 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_save_/with_a_string_as_content/1_7_1_1.yml b/src/api/spec/cassettes/Backend_File/_save_/with_a_string_as_content/1_7_1_1.yml
new file mode 100644
index 00000000000..51658e3c876
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_save_/with_a_string_as_content/1_7_1_1.yml
@@ -0,0 +1,307 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:10 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Laudantium vel sed minima maiores totam veritatis. Voluptatibus libero
+ corporis nostrum. Possimus nobis dolorum in fugiat. Modi officia reiciendis
+ nihil. Repudiandae veritatis et et non et quia.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ b3d2bc1d1578223054e82bf443e80f46
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Nobis quas expedita rerum nihil. Et aut nihil iusto. Odit ex distinctio
+ voluptatibus cumque nesciunt rerum. Rerum distinctio odit voluptatem deleniti
+ soluta provident incidunt.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 34760bb857b5a3a7a931acb76a88995f
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '176'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Nobis quas expedita rerum nihil. Et aut nihil iusto. Odit ex distinctio
+ voluptatibus cumque nesciunt rerum. Rerum distinctio odit voluptatem deleniti
+ soluta provident incidunt.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: hello
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ b3d2bc1d1578223054e82bf443e80f46
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '5'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: hello
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:11 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_save_/with_a_string_as_content/1_7_1_2.yml b/src/api/spec/cassettes/Backend_File/_save_/with_a_string_as_content/1_7_1_2.yml
new file mode 100644
index 00000000000..5a692cbe2a1
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_save_/with_a_string_as_content/1_7_1_2.yml
@@ -0,0 +1,306 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:10 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:10 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:10 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Laudantium ullam aliquam asperiores corporis. Suscipit est nulla et
+ enim. Non laborum sed earum quia. Vel ut dolor quia similique.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 945156d17a47c036e6b68fc188429a77
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:10 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Omnis ut molestiae quod nisi voluptas iste dolore. Rerum tempora ducimus.
+ Ut quaerat esse omnis hic. Nam ratione nesciunt magni error explicabo nihil.
+ Deleniti sed at non dolor.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 5a6a69be0868b800b5f2745652595de2
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:10 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '177'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Omnis ut molestiae quod nisi voluptas iste dolore. Rerum tempora ducimus.
+ Ut quaerat esse omnis hic. Nam ratione nesciunt magni error explicabo nihil.
+ Deleniti sed at non dolor.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:10 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: hello
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 945156d17a47c036e6b68fc188429a77
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:10 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '5'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: hello
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:10 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_to_s/with_an_existing_file_in_the_backend/1_5_1_1.yml b/src/api/spec/cassettes/Backend_File/_to_s/with_an_existing_file_in_the_backend/1_5_1_1.yml
new file mode 100644
index 00000000000..202d8ac7901
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_to_s/with_an_existing_file_in_the_backend/1_5_1_1.yml
@@ -0,0 +1,234 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:08 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:09 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:09 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Enim est iusto ut animi cumque. Est eos autem voluptas. Recusandae quae
+ omnis non esse.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 3ba015823c5bbf7048da479cbe346e83
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:09 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Esse earum aut sed adipisci itaque debitis. Optio facilis nulla voluptate
+ consequatur quis. Est et totam rerum et aspernatur necessitatibus.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 866d742a25d03483bdfebfa0108436cd
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:09 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '140'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Esse earum aut sed adipisci itaque debitis. Optio facilis nulla voluptate
+ consequatur quis. Est et totam rerum et aspernatur necessitatibus.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:09 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_to_s/with_an_existing_file_in_the_backend/1_5_1_2.yml b/src/api/spec/cassettes/Backend_File/_to_s/with_an_existing_file_in_the_backend/1_5_1_2.yml
new file mode 100644
index 00000000000..314249f08fe
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_to_s/with_an_existing_file_in_the_backend/1_5_1_2.yml
@@ -0,0 +1,239 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:08 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:08 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_meta
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '115'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:08 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/_config
+ body:
+ encoding: UTF-8
+ string: Expedita veniam odit quas voluptatum impedit doloribus nulla. Corrupti
+ veniam ipsam perspiciatis odit officiis cupiditate. Repellat et vel qui. Et
+ voluptatum delectus et eligendi.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 1b0ff1299ea73ac1fda85dbe7488092f
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:08 GMT
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: UTF-8
+ string: Eligendi sit recusandae eum nihil cupiditate. Inventore animi magnam
+ error asperiores atque delectus non. Tempora atque libero eos ipsa. Consectetur
+ amet nesciunt quia pariatur accusantium. Qui suscipit eligendi necessitatibus
+ autem ab dolor.
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '211'
+ body:
+ encoding: UTF-8
+ string: |
+
+ 53a67f26538076ebbf3202eafee795c7
+ unknown
+
+ unknown
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:08 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/package_with_files/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - application/octet-stream
+ Content-Length:
+ - '242'
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ body:
+ encoding: UTF-8
+ string: Eligendi sit recusandae eum nihil cupiditate. Inventore animi magnam
+ error asperiores atque delectus non. Tempora atque libero eos ipsa. Consectetur
+ amet nesciunt quia pariatur accusantium. Qui suscipit eligendi necessitatibus
+ autem ab dolor.
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:08 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/cassettes/Backend_File/_to_s/without_an_existing_file_in_the_backend/1_5_2_1.yml b/src/api/spec/cassettes/Backend_File/_to_s/without_an_existing_file_in_the_backend/1_5_2_1.yml
new file mode 100644
index 00000000000..711ad646a6b
--- /dev/null
+++ b/src/api/spec/cassettes/Backend_File/_to_s/without_an_existing_file_in_the_backend/1_5_2_1.yml
@@ -0,0 +1,79 @@
+---
+http_interactions:
+- request:
+ method: put
+ uri: http://localhost:3200/source/home:user/_meta?user=user
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '131'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+
+
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:09 GMT
+- request:
+ method: get
+ uri: http://localhost:3200/source/home:user/fake_package/somefile.txt
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 404
+ message: package 'fake_package' does not exist
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '152'
+ body:
+ encoding: UTF-8
+ string: |
+
+ package 'fake_package' does not exist
+ 404 package 'fake_package' does not exist
+
+ http_version:
+ recorded_at: Wed, 19 Apr 2017 13:32:09 GMT
+recorded_with: VCR 3.0.3
diff --git a/src/api/spec/models/backend/file_spec.rb b/src/api/spec/models/backend/file_spec.rb
new file mode 100644
index 00000000000..f068a03f085
--- /dev/null
+++ b/src/api/spec/models/backend/file_spec.rb
@@ -0,0 +1,310 @@
+require 'rails_helper'
+# WARNING: If you change #file_exists or #has_file test make sure
+# you uncomment the next line and start a test backend.
+# CONFIG['global_write_through'] = true
+
+RSpec.describe Backend::File, vcr: true do
+ let(:user) { create(:user, login: 'user') }
+ let(:fake_filename) { 'fake_filename' }
+ let(:backend_file_without_name) { described_class.new }
+ let(:backend_file_with_name) { described_class.new(name: fake_filename) }
+ let(:package_with_file) { create(:package_with_file, name: 'package_with_files', project: user.home_project) }
+ let(:fake_file) do
+ Tempfile.open([fake_filename, '.txt']) do |file|
+ file.write("hello")
+ file
+ end
+ end
+ let(:fake_file_without_extension) do
+ Tempfile.open(fake_filename) do |file|
+ file.write("hello world!")
+ file
+ end
+ end
+ let(:somefile_txt_url) { "/source/#{user.home_project_name}/#{package_with_file.name}/somefile.txt" }
+ let(:mock_full_path) do
+ # Needed because full_path is only defined in subclasses of Backend::File
+ allow_any_instance_of(Backend::File).to receive(:full_path) do
+ URI.encode(somefile_txt_url)
+ end
+ end
+
+ describe '#initialize' do
+ context 'without any param' do
+ subject { backend_file_without_name }
+
+ it { expect(subject.name).to be_blank }
+ it { expect(subject.response).to be_empty }
+ end
+
+ context 'with a name' do
+ subject { backend_file_with_name }
+
+ it { expect(subject.name).to eq(fake_filename) }
+ it { expect(subject.response).to be_empty }
+ end
+ end
+
+ describe '#file=' do
+ subject { backend_file_with_name }
+
+ before do
+ @input_stream = File.open(fake_file.path)
+ subject.file = @input_stream
+ end
+
+ after do
+ @input_stream.close
+ end
+
+ it { expect(subject.file.class).to eq(Tempfile) }
+ it { expect(File.open(subject.file.path).read).to eq("hello") }
+ end
+
+ describe '#file_from_path' do
+ subject { backend_file_with_name }
+
+ context 'with a well formed filename' do
+ before do
+ subject.file_from_path(fake_file.path)
+ end
+
+ it { expect(subject.file.class).to eq(File) }
+ it { expect(subject.response[:type]).to eq("text/plain") }
+ it { expect(subject.response[:status]).to eq(200) }
+ it { expect(subject.response[:size]).to eq(5) }
+ it { expect(File.open(subject.file.path).read).to eq("hello") }
+ end
+
+ context 'with a file without extension' do
+ before do
+ subject.file_from_path(fake_file_without_extension.path)
+ end
+
+ it { expect(subject.file.class).to eq(File) }
+ it { expect(subject.response[:type]).to be_nil }
+ it { expect(subject.response[:status]).to eq(200) }
+ it { expect(subject.response[:size]).to eq(12) }
+ it { expect(File.open(subject.file.path).read).to eq("hello world!") }
+ end
+ end
+
+ describe '#file' do
+ context 'with a file already loaded' do
+ subject { backend_file_with_name }
+
+ before do
+ subject.file_from_path(fake_file.path)
+ end
+
+ it { expect(subject.file.class).to eq(File) }
+ it { expect(subject.response[:type]).to eq("text/plain") }
+ it { expect(subject.response[:status]).to eq(200) }
+ it { expect(subject.response[:size]).to eq(5) }
+ it { expect(File.open(subject.file.path).read).to eq("hello") }
+ end
+
+ context 'without a file already loaded' do
+ context 'and an invalid object' do
+ subject { backend_file_without_name }
+
+ it { expect(subject.file).to be_nil }
+ it { expect(subject.valid?).to be_falsy }
+ end
+
+ context 'and a valid object' do
+ subject { backend_file_with_name }
+
+ before do
+ login user
+
+ mock_full_path
+
+ subject.file
+ end
+
+ it { expect(subject.file.class).to eq(Tempfile) }
+ it { expect(subject.response[:type]).to eq("application/octet-stream") }
+ it { expect(subject.response[:status]).to eq("200") }
+ it { expect(subject.response[:size]).to be > 0 }
+ it { expect(File.open(subject.file.path).read).not_to be_empty }
+ end
+ end
+
+ context 'with a backend error' do
+ subject { backend_file_with_name }
+
+ before do
+ allow(Backend::Connection).to receive(:get).and_raise(StandardError, 'message')
+
+ mock_full_path
+ end
+
+ it { expect(subject.file).to be_nil }
+
+ it "left the object invalid if errors are present" do
+ subject.file
+ expect(subject.valid?).to be_falsy
+ end
+
+ it "it will have error messages" do
+ subject.file
+ expect(subject.errors.full_messages).to match_array(['Content message'])
+ end
+ end
+ end
+
+ describe '#to_s' do
+ context 'with an existing file in the backend' do
+ subject { backend_file_with_name }
+
+ before do
+ login user
+
+ mock_full_path
+
+ subject.file
+ end
+
+ it { expect(subject.to_s.class).to eq(String) }
+ it { expect(subject.to_s).not_to be_empty }
+ end
+
+ context 'without an existing file in the backend' do
+ let(:somefile_txt_url) { "/source/#{user.home_project_name}/fake_package/somefile.txt" }
+
+ subject { backend_file_with_name }
+
+ before do
+ login user
+
+ mock_full_path
+
+ subject.file
+ end
+
+ it { expect(subject.to_s).to be_nil }
+ end
+ end
+
+ describe '#reload' do
+ context 'with an existing file in the backend' do
+ subject { backend_file_with_name }
+
+ before do
+ login user
+
+ mock_full_path
+
+ @previous_content = subject.to_s
+ subject.save({}, 'hello') # Change the content of the file
+ end
+
+ it { expect(File.open(subject.reload.path).read).not_to eq(@previous_content) }
+ end
+ end
+
+ describe '#save!' do
+ context 'with a string as content' do
+ subject { backend_file_with_name }
+
+ before do
+ mock_full_path
+
+ @previous_content = subject.to_s
+ subject.save!({}, 'hello') # Change the content of the file with a string
+ end
+
+ it { expect(File.open(subject.file.path).read).not_to eq(@previous_content) }
+ it { expect(File.open(subject.file.path).read).to eq('hello') }
+ end
+
+ context 'with a file as content' do
+ subject { backend_file_with_name }
+
+ before do
+ mock_full_path
+
+ @previous_content = subject.to_s
+
+ subject.file = File.open(fake_file.path)
+ subject.save!
+ end
+
+ it { expect(File.open(subject.file.path).read).not_to eq(@previous_content) }
+ it { expect(File.open(subject.file.path).read).to eq('hello') }
+ end
+ end
+
+ describe '#save' do
+ context 'with a backend error' do
+ subject { backend_file_with_name }
+
+ before do
+ allow(Backend::Connection).to receive(:put).and_raise(StandardError, 'message')
+
+ mock_full_path
+ end
+
+ it "left the object invalid if errors are present" do
+ subject.save({}, 'hello')
+ expect(subject.valid?).to be_falsy
+ end
+
+ it "it will have error messages" do
+ subject.save({}, 'hello')
+ expect(subject.errors.full_messages).to match_array(['Content message'])
+ end
+ end
+ end
+
+ describe '#destroy!' do
+ subject { backend_file_with_name }
+
+ before do
+ mock_full_path
+
+ subject.destroy!
+ end
+
+ it { expect{ Backend::Connection.get(somefile_txt_url) }.to raise_error(ActiveXML::Transport::NotFoundError) }
+ it { expect(subject.frozen?).to be_truthy }
+ it { expect(subject.response[:type]).to eq('text/xml') }
+ it { expect(subject.response[:status]).to eq("200") }
+ it { expect(subject.response[:size]).to be > 0 }
+ end
+
+ describe '#destroy' do
+ context 'with a backend error' do
+ subject { backend_file_with_name }
+
+ before do
+ allow(Backend::Connection).to receive(:delete).and_raise(StandardError, 'message')
+
+ mock_full_path
+
+ subject.file
+
+ subject.destroy
+ end
+
+ it { expect(subject.frozen?).to be_falsy }
+ it { expect(subject.valid?).to be_falsy }
+ it { expect(subject.errors.full_messages).to match_array(['Content message']) }
+ it { expect(subject.response[:type]).to eq("application/octet-stream") }
+ it { expect(subject.response[:status]).to eq("200") }
+ it { expect(subject.response[:size]).to be > 0 }
+ end
+ end
+
+ describe '.query_from_list' do
+ let(:hash) { {a: 1, b: 2} }
+ let(:hash_with_nil_values) { {a: 1, b: 2, c: nil, d: 6} }
+ let(:key_list) { [:a] }
+
+ it { expect(Backend::File.query_from_list({})).to be_empty }
+ it { expect(Backend::File.query_from_list(hash)).to eq("?a=1&b=2") }
+ it { expect(Backend::File.query_from_list(hash_with_nil_values)).to eq("?a=1&b=2&c=&d=6") }
+ it { expect(Backend::File.query_from_list(hash, key_list)).to eq("?a=1") }
+ end
+end