plntr-fakes3 1.0.0.pre.9test8 → 1.0.0.pre.9test9

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: 5b739788195db42a3d1d4c5da7050550c5bfd4b3b6ef19c0a4fe5841e9c07be4
4
- data.tar.gz: 572690c009f95b300c7b82b70999ad7f0ba1ec7c9fae943eca7c4c1805fef8d1
3
+ metadata.gz: 0d7d7534e1cb3a29382c746a57c385dcf4c2562398fc9f48ed3080ad1edcf09b
4
+ data.tar.gz: a1a7eed1674f3b1bc8723ec12d03cc3571f92f0f878c8ab33255aa6bbedd6355
5
5
  SHA512:
6
- metadata.gz: 2887298e1f44d9fe4076394c75ffe4916f9810a0d29172d7740df69be691b8e187e258c4cbce3d3770601d640b75a4845879df29d5e8ceb1119a91878fc18a43
7
- data.tar.gz: 77537015a1531ca1c03d02142a4583da5f4c975aea49cfc630a423fa50ddf0e1272a8925fa58fd121d67d7343573919707bb55dab5a3eb700995b6462182714f
6
+ metadata.gz: f40ab027de1f168e10219a4abe8d0b7b2318236f4ea3374f96e85f69edc89ca9d002d6ff9c24caa156220ea8b509c91d59d729398ebeb2115908a9762e3c7b5e
7
+ data.tar.gz: eb3f2a7b1ec661e48d00002a9a39b724833a0b589af75474676d6b3267c511d11126dc7c2ac2e3ad4a470d9f9703980ac7245a99c33d99582ea0183424707c12
@@ -110,65 +110,71 @@ module FakeS3
110
110
  end
111
111
 
112
112
  def copy_object(src_bucket_name, src_name, dst_bucket_name, dst_name, request)
113
- warn "copy_object:"
114
- warn ". root: '#{@root}'"
115
- warn ". dst bucket: '#{dst_bucket_name}'"
116
- warn ". dst path: '#{dst_name}'"
117
- warn ". src bucket: '#{src_bucket_name}'"
118
- warn ". src path: '#{src_name}'"
119
- src_root = File.join(@root,src_bucket_name,src_name,FAKE_S3_METADATA_DIR)
120
- src_metadata_filename = File.join(src_root, "metadata")
121
- warn ". src metadata: '#{src_metadata_filename}'"
122
- warn ""
123
- # src_metadata = YAML.load(File.open(src_metadata_filename, 'rb').read)
124
- src_metadata = File.open(src_metadata_filename) { |file| YAML::load(file) }
125
- src_content_filename = File.join(src_root, "content")
126
-
127
- dst_filename= File.join(@root,dst_bucket_name,dst_name)
128
- FileUtils.mkdir_p(dst_filename)
129
-
130
- metadata_dir = File.join(dst_filename,FAKE_S3_METADATA_DIR)
131
- FileUtils.mkdir_p(metadata_dir)
132
-
133
- content = File.join(metadata_dir, "content")
134
- metadata = File.join(metadata_dir, "metadata")
135
-
136
- if src_bucket_name != dst_bucket_name || src_name != dst_name
137
- File.open(content, 'wb') do |f|
138
- File.open(src_content_filename, 'rb') do |input|
139
- f << input.read
113
+ begin
114
+ warn "copy_object:"
115
+ warn ". root: '#{@root}'"
116
+ warn ". dst bucket: '#{dst_bucket_name}'"
117
+ warn ". dst path: '#{dst_name}'"
118
+ warn ". src bucket: '#{src_bucket_name}'"
119
+ warn ". src path: '#{src_name}'"
120
+ src_root = File.join(@root,src_bucket_name,src_name,FAKE_S3_METADATA_DIR)
121
+ src_metadata_filename = File.join(src_root, "metadata")
122
+ warn ". src metadata: '#{src_metadata_filename}'"
123
+ warn ""
124
+ # src_metadata = YAML.load(File.open(src_metadata_filename, 'rb').read)
125
+ src_metadata = File.open(src_metadata_filename) { |file| YAML::load(file) }
126
+ src_content_filename = File.join(src_root, "content")
127
+
128
+ dst_filename= File.join(@root,dst_bucket_name,dst_name)
129
+ FileUtils.mkdir_p(dst_filename)
130
+
131
+ metadata_dir = File.join(dst_filename,FAKE_S3_METADATA_DIR)
132
+ FileUtils.mkdir_p(metadata_dir)
133
+
134
+ content = File.join(metadata_dir, "content")
135
+ metadata = File.join(metadata_dir, "metadata")
136
+
137
+ if src_bucket_name != dst_bucket_name || src_name != dst_name
138
+ File.open(content, 'wb') do |f|
139
+ File.open(src_content_filename, 'rb') do |input|
140
+ f << input.read
141
+ end
140
142
  end
141
- end
142
143
 
143
- File.open(metadata,'w') do |f|
144
- File.open(src_metadata_filename,'r') do |input|
145
- f << input.read
144
+ File.open(metadata,'w') do |f|
145
+ File.open(src_metadata_filename,'r') do |input|
146
+ f << input.read
147
+ end
146
148
  end
147
149
  end
148
- end
149
150
 
150
- metadata_directive = request.header["x-amz-metadata-directive"].first
151
- if metadata_directive == "REPLACE"
152
- metadata_struct = create_metadata(content,request)
153
- File.open(metadata,'w') do |f|
154
- f << YAML::dump(metadata_struct)
151
+ metadata_directive = request.header["x-amz-metadata-directive"].first
152
+ if metadata_directive == "REPLACE"
153
+ metadata_struct = create_metadata(content,request)
154
+ File.open(metadata,'w') do |f|
155
+ f << YAML::dump(metadata_struct)
156
+ end
155
157
  end
156
- end
157
-
158
- src_bucket = get_bucket(src_bucket_name) || create_bucket(src_bucket_name)
159
- dst_bucket = get_bucket(dst_bucket_name) || create_bucket(dst_bucket_name)
160
158
 
161
- obj = S3Object.new
162
- obj.name = dst_name
163
- obj.md5 = src_metadata[:md5]
164
- obj.content_type = src_metadata[:content_type]
165
- obj.content_encoding = src_metadata[:content_encoding]
166
- obj.size = src_metadata[:size]
167
- obj.modified_date = src_metadata[:modified_date]
159
+ src_bucket = get_bucket(src_bucket_name) || create_bucket(src_bucket_name)
160
+ dst_bucket = get_bucket(dst_bucket_name) || create_bucket(dst_bucket_name)
168
161
 
169
- src_bucket.find(src_name)
170
- dst_bucket.add(obj)
171
- return obj
162
+ obj = S3Object.new
163
+ obj.name = dst_name
164
+ obj.md5 = src_metadata[:md5]
165
+ obj.content_type = src_metadata[:content_type]
166
+ obj.content_encoding = src_metadata[:content_encoding]
167
+ obj.size = src_metadata[:size]
168
+ obj.modified_date = src_metadata[:modified_date]
169
+
170
+ src_bucket.find(src_name)
171
+ dst_bucket.add(obj)
172
+ return obj
173
+ rescue
174
+ puts $!
175
+ $!.backtrace.each { |line| puts line }
176
+ return nil
177
+ end
172
178
  end
173
179
 
174
180
  def store_object(bucket, object_name, request)
data/lib/fakes3/server.rb CHANGED
@@ -188,6 +188,12 @@ module FakeS3
188
188
  case s_req.type
189
189
  when Request::COPY
190
190
  object = @store.copy_object(s_req.src_bucket, s_req.src_object, s_req.bucket, s_req.object, request)
191
+ if !object
192
+ response.status = 404
193
+ response.body = XmlAdapter.error_no_such_key(s_req.object)
194
+ response['Content-Type'] = "application/xml"
195
+ return
196
+ end
191
197
  response.body = XmlAdapter.copy_object_result(object)
192
198
  when Request::STORE
193
199
  bucket_obj = @store.get_bucket(s_req.bucket)
@@ -1,3 +1,3 @@
1
1
  module FakeS3
2
- VERSION = "1.0.0-9test8"
2
+ VERSION = "1.0.0-9test9"
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.9test8
4
+ version: 1.0.0.pre.9test9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Curtis Spencer