plntr-fakes3 1.0.0.pre.8 → 1.0.0.pre.9

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: ad35de80cc0ad0cdeadc06efbabcfab575019f752c9de6920b37d828be2e7b90
4
- data.tar.gz: f4d9f748d2b5a00b53caf2aede0d20b8104dff0f3b6d52a33d14ff1d798bf946
3
+ metadata.gz: fcb8df09bf3dcf01c1fa618ac431ded197270a86c23909279630ed1708990310
4
+ data.tar.gz: 9a42f614efb72eb786121118db63db46e560a1224af84ad9a3c8017bc62dceec
5
5
  SHA512:
6
- metadata.gz: 1fdb862334a9e2d2af670dbf6eb71f85bd74998d713997d8a3d8012d6655d9295b5d8b91bd9872cdd79cf253988256a59fdd56f58c0bb95fa4835abc47192312
7
- data.tar.gz: 8fad04cbba235d61df287ce8d27a990d4fc11beecfaa88ddbb7ac20e2ec84b9b0ca6ef71be35dd00a86ca274a878213fc78990252de17669a8608facdb663f5f
6
+ metadata.gz: 266ab8177917fc9fa265ec2501761ea57d58f924016bfc3d71257a5630329eb333a13fda737b3833cab28cba16a683e14cfde0bc75d4332289213791076b7c10
7
+ data.tar.gz: 31cbdcdd05e151a7c02df7b83c7b49220d8bce7c5dbbd9ac900878aef1dfabeef417e5198729bee0074f3b345078e19e36d0add59a687c21d64e22c404b58642
@@ -105,56 +105,62 @@ module FakeS3
105
105
  end
106
106
 
107
107
  def copy_object(src_bucket_name, src_name, dst_bucket_name, dst_name, request)
108
- src_root = File.join(@root,src_bucket_name,src_name,FAKE_S3_METADATA_DIR)
109
- src_metadata_filename = File.join(src_root, "metadata")
110
- src_metadata = YAML.load(File.open(src_metadata_filename, 'rb').read)
111
- src_content_filename = File.join(src_root, "content")
108
+ begin
109
+ src_root = File.join(@root,src_bucket_name,src_name,FAKE_S3_METADATA_DIR)
110
+ src_metadata_filename = File.join(src_root, "metadata")
111
+ src_metadata = File.open(src_metadata_filename) { |file| YAML::load(file) }
112
+ src_content_filename = File.join(src_root, "content")
112
113
 
113
- dst_filename= File.join(@root,dst_bucket_name,dst_name)
114
- FileUtils.mkdir_p(dst_filename)
114
+ dst_filename= File.join(@root,dst_bucket_name,dst_name)
115
+ FileUtils.mkdir_p(dst_filename)
115
116
 
116
- metadata_dir = File.join(dst_filename,FAKE_S3_METADATA_DIR)
117
- FileUtils.mkdir_p(metadata_dir)
117
+ metadata_dir = File.join(dst_filename,FAKE_S3_METADATA_DIR)
118
+ FileUtils.mkdir_p(metadata_dir)
118
119
 
119
- content = File.join(metadata_dir, "content")
120
- metadata = File.join(metadata_dir, "metadata")
120
+ content = File.join(metadata_dir, "content")
121
+ metadata = File.join(metadata_dir, "metadata")
121
122
 
122
- if src_bucket_name != dst_bucket_name || src_name != dst_name
123
- File.open(content, 'wb') do |f|
124
- File.open(src_content_filename, 'rb') do |input|
125
- f << input.read
123
+ if src_bucket_name != dst_bucket_name || src_name != dst_name
124
+ File.open(content, 'wb') do |f|
125
+ File.open(src_content_filename, 'rb') do |input|
126
+ f << input.read
127
+ end
126
128
  end
127
- end
128
129
 
129
- File.open(metadata,'w') do |f|
130
- File.open(src_metadata_filename,'r') do |input|
131
- f << input.read
130
+ File.open(metadata,'w') do |f|
131
+ File.open(src_metadata_filename,'r') do |input|
132
+ f << input.read
133
+ end
132
134
  end
133
135
  end
134
- end
135
136
 
136
- metadata_directive = request.header["x-amz-metadata-directive"].first
137
- if metadata_directive == "REPLACE"
138
- metadata_struct = create_metadata(content,request)
139
- File.open(metadata,'w') do |f|
140
- f << YAML::dump(metadata_struct)
137
+ metadata_directive = request.header["x-amz-metadata-directive"].first
138
+ if metadata_directive == "REPLACE"
139
+ metadata_struct = create_metadata(content,request)
140
+ File.open(metadata,'w') do |f|
141
+ f << YAML::dump(metadata_struct)
142
+ end
141
143
  end
142
- end
143
144
 
144
- src_bucket = get_bucket(src_bucket_name) || create_bucket(src_bucket_name)
145
- dst_bucket = get_bucket(dst_bucket_name) || create_bucket(dst_bucket_name)
145
+ src_bucket = get_bucket(src_bucket_name) || create_bucket(src_bucket_name)
146
+ dst_bucket = get_bucket(dst_bucket_name) || create_bucket(dst_bucket_name)
146
147
 
147
- obj = S3Object.new
148
- obj.name = dst_name
149
- obj.md5 = src_metadata[:md5]
150
- obj.content_type = src_metadata[:content_type]
151
- obj.content_encoding = src_metadata[:content_encoding]
152
- obj.size = src_metadata[:size]
153
- obj.modified_date = src_metadata[:modified_date]
154
-
155
- src_bucket.find(src_name)
156
- dst_bucket.add(obj)
157
- return obj
148
+ obj = S3Object.new
149
+ obj.name = dst_name
150
+ obj.md5 = src_metadata[:md5]
151
+ obj.content_type = src_metadata[:content_type]
152
+ obj.content_encoding = src_metadata[:content_encoding]
153
+ obj.size = src_metadata[:size]
154
+ obj.modified_date = src_metadata[:modified_date]
155
+
156
+ src_bucket.find(src_name)
157
+ dst_bucket.add(obj)
158
+ return obj
159
+ rescue
160
+ puts $!
161
+ $!.backtrace.each { |line| puts line }
162
+ return nil
163
+ end
158
164
  end
159
165
 
160
166
  def store_object(bucket, object_name, request)
data/lib/fakes3/server.rb CHANGED
@@ -184,6 +184,12 @@ module FakeS3
184
184
  case s_req.type
185
185
  when Request::COPY
186
186
  object = @store.copy_object(s_req.src_bucket, s_req.src_object, s_req.bucket, s_req.object, request)
187
+ if !object
188
+ response.status = 404
189
+ response.body = XmlAdapter.error_no_such_key(s_req.object)
190
+ response['Content-Type'] = "application/xml"
191
+ return
192
+ end
187
193
  response.body = XmlAdapter.copy_object_result(object)
188
194
  when Request::STORE
189
195
  bucket_obj = @store.get_bucket(s_req.bucket)
@@ -1,3 +1,3 @@
1
1
  module FakeS3
2
- VERSION = "1.0.0-8"
2
+ VERSION = "1.0.0-9"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plntr-fakes3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre.8
4
+ version: 1.0.0.pre.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Curtis Spencer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-31 00:00:00.000000000 Z
11
+ date: 2020-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -234,8 +234,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
234
234
  - !ruby/object:Gem::Version
235
235
  version: 1.3.1
236
236
  requirements: []
237
- rubyforge_project:
238
- rubygems_version: 2.7.4
237
+ rubygems_version: 3.0.3
239
238
  signing_key:
240
239
  specification_version: 4
241
240
  summary: Fork of https://github.com/jubos/fake-s3. Fake S3 is a server that simulates