duracloud-client 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/duracloud/rest_methods.rb +2 -1
- data/lib/duracloud/version.rb +1 -1
- data/spec/unit/client_spec.rb +37 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f562bbe280990009391a82bc2480a8b829622eff
|
4
|
+
data.tar.gz: 25b2dec1653acd45e707a21b0b2d80c27728baaf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 742c9b3da2bb773f25f0cd4521981cb65fa1e620f74a8028ff31ddafc5d3eb0359e1a4ed2450fc718b7d25d9c2de2da6d57282d77e22b750306f07862eda183d
|
7
|
+
data.tar.gz: d909359cb467c461d89854eca31cc5c116db8c6d782ea5fed0daf13db8a1a540fbddf6ded1fc550772cd7420cec62d92685255c8b81cf0c949ab59960d1f229e
|
@@ -91,7 +91,8 @@ module Duracloud
|
|
91
91
|
end
|
92
92
|
|
93
93
|
def durastore_content(http_method, space_id, content_id, **options)
|
94
|
-
|
94
|
+
escaped_content_id = content_id.gsub(/%/, "%25")
|
95
|
+
url = [ space_id, escaped_content_id ].join("/")
|
95
96
|
durastore(http_method, url, **options)
|
96
97
|
end
|
97
98
|
|
data/lib/duracloud/version.rb
CHANGED
data/spec/unit/client_spec.rb
CHANGED
@@ -111,6 +111,11 @@ module Duracloud
|
|
111
111
|
subject.get_content("foo", "bar")
|
112
112
|
expect(stub).to have_been_requested
|
113
113
|
}
|
114
|
+
it "escapes percent signs in the content id" do
|
115
|
+
stub = stub_request(:get, "https://example.com/durastore/foo/z/z/bar%252Fbaz")
|
116
|
+
subject.get_content("foo", "z/z/bar%2Fbaz")
|
117
|
+
expect(stub).to have_been_requested
|
118
|
+
end
|
114
119
|
specify {
|
115
120
|
stub = stub_request(:get, "https://example.com/durastore/foo/bar")
|
116
121
|
.with(query: {storeID: 1})
|
@@ -125,6 +130,11 @@ module Duracloud
|
|
125
130
|
subject.get_content_properties("foo", "bar")
|
126
131
|
expect(stub).to have_been_requested
|
127
132
|
}
|
133
|
+
it "escapes percent signs in the content id" do
|
134
|
+
stub = stub_request(:head, "https://example.com/durastore/foo/z/z/bar%252Fbaz")
|
135
|
+
subject.get_content_properties("foo", "z/z/bar%2Fbaz")
|
136
|
+
expect(stub).to have_been_requested
|
137
|
+
end
|
128
138
|
specify {
|
129
139
|
stub = stub_request(:head, "https://example.com/durastore/foo/bar")
|
130
140
|
.with(query: {storeID: 1})
|
@@ -141,6 +151,13 @@ module Duracloud
|
|
141
151
|
headers: {'x-dura-meta-owner'=>'testuser'})
|
142
152
|
expect(stub).to have_been_requested
|
143
153
|
}
|
154
|
+
it "escapes percent signs in the content id" do
|
155
|
+
stub = stub_request(:post, "https://example.com/durastore/foo/z/z/bar%252Fbaz")
|
156
|
+
.with(headers: {'x-dura-meta-owner'=>'testuser'})
|
157
|
+
subject.set_content_properties("foo", "z/z/bar%2Fbaz",
|
158
|
+
headers: {'x-dura-meta-owner'=>'testuser'})
|
159
|
+
expect(stub).to have_been_requested
|
160
|
+
end
|
144
161
|
specify {
|
145
162
|
stub = stub_request(:post, "https://example.com/durastore/foo/bar")
|
146
163
|
.with(headers: {'x-dura-meta-owner'=>'testuser'},
|
@@ -168,6 +185,21 @@ module Duracloud
|
|
168
185
|
})
|
169
186
|
expect(stub).to have_been_requested
|
170
187
|
}
|
188
|
+
it "escapes percent signs in the content id" do
|
189
|
+
stub = stub_request(:put, "https://example.com/durastore/foo/z/z/bar%252Fbaz")
|
190
|
+
.with(body: "File content",
|
191
|
+
headers: {
|
192
|
+
'Content-Type'=>'text/plain',
|
193
|
+
'Content-MD5'=>'8bb2564936980e92ceec8a5759ec34a8'
|
194
|
+
})
|
195
|
+
subject.store_content("foo", "z/z/bar%2Fbaz",
|
196
|
+
body: "File content",
|
197
|
+
headers: {
|
198
|
+
'Content-Type'=>'text/plain',
|
199
|
+
'Content-MD5'=>'8bb2564936980e92ceec8a5759ec34a8'
|
200
|
+
})
|
201
|
+
expect(stub).to have_been_requested
|
202
|
+
end
|
171
203
|
specify {
|
172
204
|
stub = stub_request(:put, "https://example.com/durastore/foo/bar")
|
173
205
|
.with(body: "File content",
|
@@ -193,6 +225,11 @@ module Duracloud
|
|
193
225
|
subject.delete_content("foo", "bar")
|
194
226
|
expect(stub).to have_been_requested
|
195
227
|
}
|
228
|
+
it "escapes percent signs in the content id" do
|
229
|
+
stub = stub_request(:delete, "https://example.com/durastore/foo/z/z/bar%252Fbaz")
|
230
|
+
subject.delete_content("foo", "z/z/bar%2Fbaz")
|
231
|
+
expect(stub).to have_been_requested
|
232
|
+
end
|
196
233
|
specify {
|
197
234
|
stub = stub_request(:delete, "https://example.com/durastore/foo/bar")
|
198
235
|
.with(query: {storeID: 1})
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: duracloud-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Chandek-Stark
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hashie
|