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

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: 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