plntr-fakes3 1.0.0.pre.10alpha46 → 1.0.0.pre.10alpha47

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7b787f4925cf0186e0b39877980c0c64d81e292c57742672ba2e085bed54810d
4
- data.tar.gz: b4e11d23e5f0bed09da5b69b5289ec32ca5a344aaa6271c3058849f7cc7bdb4a
3
+ metadata.gz: 6199fe28260288a5dd88de8f495388a37d2032527eacf177dded63ecc984d8e5
4
+ data.tar.gz: 02116b1ce0d287335a2e6d88f81fc9e73f7f2cff3bad48c33e22b0ba1ec1f111
5
5
  SHA512:
6
- metadata.gz: 064fb587cd7b72b3b0133773cdb6e78358c9956ca2b3808ca08cb00a1ab6f795003f2adb4784ca9825aafb2bc10822a950a98f0a1ba9f82d676d290c64be0b21
7
- data.tar.gz: 5b8e4e843c5fa57819b6c92c8f87d27971cef6f73854035be901c3576e40b86a853deed24b768672bf7bc4b799f89b011491e75a2b27169c9887e22ab7cd6f07
6
+ metadata.gz: 9de3d9bc2699a6014c4f8278b6fb810a0a13a2d033fd963b1bfb617e273557ebafeccb8552bb02c9fbc4158156b0e0c82aa88e2c377682d3331256a626d8b3ee
7
+ data.tar.gz: b28af92f0a0737a61e9703462316ed5008e4ec042c1edd65f139d8f00718fe8b51a2082479058cd3533f9c3097031482be0d5f4062f51d470d1dda8d415f75b9
data/lib/fakes3/server.rb CHANGED
@@ -340,28 +340,24 @@ module FakeS3
340
340
  warn "bucket: #{s_req.bucket}"
341
341
  objects = parse_delete_objects s_req.webrick_request
342
342
  bucket_obj = @store.get_bucket(s_req.bucket)
343
- response.status = 200
344
- response.body = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
345
- response.body << "<DeleteResult>\n"
346
- objects.each do |obj|
343
+ results = objects.collect do |obj|
347
344
  warn "process key=#{obj[:key]} version_id=#{obj[:version_id]}"
348
345
  if not obj[:version_id].nil?
349
- response.body << <<-eos
350
- <Error>
351
- <Key>#{obj[:key]}</Key>
352
- <Code>XXX_Unimplmented_XXX</Code>
353
- <Message>Deletion of object verions is not implemented</Message>
354
- </Error>
355
- eos
346
+ {
347
+ key: obj[:key],
348
+ code: 'XXX_Unimplmented_XXX',
349
+ message: 'Deletion of object verions is not implemented',
350
+ }
356
351
  else
357
352
  @store.delete_object(bucket_obj, obj[:key])
358
- response.body << <<-eos
359
- <Deleted>
360
- <Key>#{obj[:key]}</Key>
361
- </Deleted>
362
- eos
353
+ {
354
+ key: obj[:key],
355
+ }
363
356
  end
364
357
  end
358
+
359
+ response.status = 200
360
+ response.body = XmlAdapter.delete_objects_result(results)
365
361
  response.body << "</DeleteResult>"
366
362
  warn '--- RESPONSE ---'
367
363
  warn response.body
@@ -1,3 +1,3 @@
1
1
  module FakeS3
2
- VERSION = "1.0.0-10alpha46"
2
+ VERSION = "1.0.0-10alpha47"
3
3
  end
@@ -218,5 +218,31 @@ module FakeS3
218
218
  }
219
219
  output
220
220
  end
221
+
222
+ # <CompleteMultipartUploadResult>
223
+ # <Location>http://Example-Bucket.s3.amazonaws.com/Example-Object</Location>
224
+ # <Bucket>Example-Bucket</Bucket>
225
+ # <Key>Example-Object</Key>
226
+ # <ETag>"3858f62230ac3c915f300c664312c11f-9"</ETag>
227
+ # </CompleteMultipartUploadResult>
228
+ def self.delete_objects_result(results)
229
+ output = ""
230
+ xml = Builder::XmlMarkup.new(:target => output)
231
+ xml.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"
232
+ xml.DeleteResult { |lst|
233
+ results.each do |res|
234
+ if res[:error]
235
+ lst.Error { |err|
236
+ err.Key(res[:key])
237
+ err.Code(res[:code])
238
+ err.Code(res[:message])
239
+ }
240
+ else
241
+ lst.Deleted { |del| del.Key(res[:key]) }
242
+ end
243
+ end
244
+ }
245
+ output
246
+ end
221
247
  end
222
248
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plntr-fakes3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre.10alpha46
4
+ version: 1.0.0.pre.10alpha47
5
5
  platform: ruby
6
6
  authors:
7
7
  - Curtis Spencer