plntr-fakes3 1.0.0.pre.10alpha29 → 1.0.0.pre.10alpha33

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a090d373d3c4efb368d92ad4b36fca98539b6e6cc6db3860b70f1bd9d8ee1bda
4
- data.tar.gz: 3e1a11b8d48930a638cd090f3686f8835ef37ac29d3ec7462e2b961f1d82eddf
3
+ metadata.gz: 2f0e9a469b82f105ed857e8d6864ef896f72bcdbac8ba3e58ebce5f111711aaa
4
+ data.tar.gz: d813f49a103bd4bd188614845c3334986a1fd3251be5b120db0e4043f9ec60e7
5
5
  SHA512:
6
- metadata.gz: 2546d4943cff9fdc2933ee9e4636f0bbfded93d7bf050cc48770dcae9ac8d781de6655f8f0a52733c08afa9652be4ca6702fab538343bf28221634d5810c310d
7
- data.tar.gz: 3be0ccb3e486d6873fe40d735b44da58a79c63963e4fd48b0a55892e4b30c82483aad5340edb4f74de82609041f8e143177123e1cfc7232d5a07966f97342016
6
+ metadata.gz: c79dfb5b59e9eba9317349f79b78e282475a7886d73a2c689c481f55b723e6a6242f2bf7b02eb17399e8b27d74890ce1868be5be1b38504b1580b3865f747c45
7
+ data.tar.gz: 43130d209c04b5af118ee352fc82d18443d8878da375cc9c2c16cd3c2642d490e5d86b296ece7465c82d33deb5d98670641ce0bcc41ae2ab0d4a23bfbe1b7425
data/lib/fakes3/server.rb CHANGED
@@ -328,7 +328,7 @@ module FakeS3
328
328
  case s_req.type
329
329
  when Request::DELETE_OBJECT
330
330
  bucket_obj = @store.get_bucket(s_req.bucket)
331
- @store.delete_object(bucket_obj,s_req.object,s_req.webrick_request)
331
+ @store.delete_object(bucket_obj,s_req.object)
332
332
  response.status = 204
333
333
  response.body = ""
334
334
  when Request::DELETE_BUCKET
@@ -338,7 +338,23 @@ module FakeS3
338
338
  when Request::DELETE_OBJECTS
339
339
  warn 'Request::DELETE_OBJECTS'
340
340
  warn "bucket: #{s_req.bucket}"
341
- parse_delete_objects s_req.webrick_request
341
+ bucket_obj = @store.get_bucket(s_req.bucket)
342
+ objects = parse_delete_objects s_req.webrick_request
343
+ responses = objects.collect do |obj|
344
+ warn "process key=#{obj[:key]} version_id=#{obj[:version_id]}"
345
+ # @store.delete_object(bucket_obj, obj.key)
346
+ "<Deleted><Key>#{obj[:key]}</Key></Deleted>"
347
+ end
348
+ response.status = 200
349
+ response.body = <<-eos.strip
350
+ <?xml version="1.0" encoding="UTF-8"?>
351
+ <DeleteResult>
352
+ #{responses.join '\n'}
353
+ </DeleteResult>
354
+ eos
355
+ warn '--- RESPONSE ---'
356
+ warn response.body
357
+ warn '--- RESPONSE END ---'
342
358
  warn ''
343
359
  end
344
360
 
@@ -542,11 +558,21 @@ module FakeS3
542
558
  end
543
559
 
544
560
  def parse_delete_objects(request)
545
- parts_xml = ""
546
- request.body { |chunk| parts_xml << chunk }
547
- warn " ::: BODY ::: (type=#{parts_xml.class})"
548
- warn parts_xml
561
+ objects_xml = ""
562
+ request.body { |chunk| objects_xml << chunk }
563
+ warn " ::: BODY ::: (type=#{objects_xml.class})"
564
+ warn objects_xml
549
565
  warn " ::: END BODY :::"
566
+
567
+ # TODO: improve parsing xml
568
+ objects_xml = objects_xml.scan(/<Object>.*?<\/Object>/)
569
+
570
+ objects_xml.collect do |obj|
571
+ {
572
+ key: obj[/<Key>(.+)<\/Key>/, 1],
573
+ version_id: obj[/<VersionId>(.+)<\/VersionId>/, 1]
574
+ }
575
+ end
550
576
  end
551
577
 
552
578
  def dump_request(request)
@@ -1,3 +1,3 @@
1
1
  module FakeS3
2
- VERSION = "1.0.0-10alpha29"
2
+ VERSION = "1.0.0-10alpha33"
3
3
  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.10alpha29
4
+ version: 1.0.0.pre.10alpha33
5
5
  platform: ruby
6
6
  authors:
7
7
  - Curtis Spencer