Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(139)

Side by Side Diff: tests/s3/mock_storage_service.py

Issue 8669001: Pull in upstream boto from github at bcb719937de9ac2851e632d62b777352029a6d55 (Closed) Base URL: svn://svn.chromium.org/boto
Patch Set: Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « boto/utils.py ('k') | tests/s3/test_gsconnection.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2010 Google Inc. 1 # Copyright 2010 Google Inc.
2 # 2 #
3 # Permission is hereby granted, free of charge, to any person obtaining a 3 # Permission is hereby granted, free of charge, to any person obtaining a
4 # copy of this software and associated documentation files (the 4 # copy of this software and associated documentation files (the
5 # "Software"), to deal in the Software without restriction, including 5 # "Software"), to deal in the Software without restriction, including
6 # without limitation the rights to use, copy, modify, merge, publish, dis- 6 # without limitation the rights to use, copy, modify, merge, publish, dis-
7 # tribute, sublicense, and/or sell copies of the Software, and to permit 7 # tribute, sublicense, and/or sell copies of the Software, and to permit
8 # persons to whom the Software is furnished to do so, subject to the fol- 8 # persons to whom the Software is furnished to do so, subject to the fol-
9 # lowing conditions: 9 # lowing conditions:
10 # 10 #
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 return dst_bucket.copy_key(dst_key, self.bucket.name, 118 return dst_bucket.copy_key(dst_key, self.bucket.name,
119 self.name, metadata) 119 self.name, metadata)
120 120
121 121
122 class MockBucket(object): 122 class MockBucket(object):
123 123
124 def __init__(self, connection=None, name=None, key_class=NOT_IMPL): 124 def __init__(self, connection=None, name=None, key_class=NOT_IMPL):
125 self.name = name 125 self.name = name
126 self.keys = {} 126 self.keys = {}
127 self.acls = {name: MockAcl()} 127 self.acls = {name: MockAcl()}
128 # default object ACLs are one per bucket and not supported for keys
129 self.def_acl = MockAcl()
128 self.subresources = {} 130 self.subresources = {}
129 self.connection = connection 131 self.connection = connection
130 self.logging = False 132 self.logging = False
131 133
132 def copy_key(self, new_key_name, src_bucket_name, 134 def copy_key(self, new_key_name, src_bucket_name,
133 src_key_name, metadata=NOT_IMPL, src_version_id=NOT_IMPL, 135 src_key_name, metadata=NOT_IMPL, src_version_id=NOT_IMPL,
134 storage_class=NOT_IMPL, preserve_acl=NOT_IMPL): 136 storage_class=NOT_IMPL, preserve_acl=NOT_IMPL):
135 new_key = self.new_key(key_name=new_key_name) 137 new_key = self.new_key(key_name=new_key_name)
136 src_key = mock_connection.get_bucket( 138 src_key = mock_connection.get_bucket(
137 src_bucket_name).get_key(src_key_name) 139 src_bucket_name).get_key(src_key_name)
138 new_key.data = copy.copy(src_key.data) 140 new_key.data = copy.copy(src_key.data)
139 new_key.size = len(new_key.data) 141 new_key.size = len(new_key.data)
140 return new_key 142 return new_key
141 143
142 def disable_logging(self): 144 def disable_logging(self):
143 self.logging = False 145 self.logging = False
144 146
145 def enable_logging(self, target_bucket_prefix): 147 def enable_logging(self, target_bucket_prefix):
146 self.logging = True 148 self.logging = True
147 149
148 def get_acl(self, key_name='', headers=NOT_IMPL, version_id=NOT_IMPL): 150 def get_acl(self, key_name='', headers=NOT_IMPL, version_id=NOT_IMPL):
149 if key_name: 151 if key_name:
150 # Return ACL for the key. 152 # Return ACL for the key.
151 return self.acls[key_name] 153 return self.acls[key_name]
152 else: 154 else:
153 # Return ACL for the bucket. 155 # Return ACL for the bucket.
154 return self.acls[self.name] 156 return self.acls[self.name]
155 157
158 def get_def_acl(self, key_name=NOT_IMPL, headers=NOT_IMPL,
159 version_id=NOT_IMPL):
160 # Return default ACL for the bucket.
161 return self.def_acl
162
156 def get_subresource(self, subresource, key_name=NOT_IMPL, headers=NOT_IMPL, 163 def get_subresource(self, subresource, key_name=NOT_IMPL, headers=NOT_IMPL,
157 version_id=NOT_IMPL): 164 version_id=NOT_IMPL):
158 if subresource in self.subresources: 165 if subresource in self.subresources:
159 return self.subresources[subresource] 166 return self.subresources[subresource]
160 else: 167 else:
161 return '<Subresource/>' 168 return '<Subresource/>'
162 169
163 def new_key(self, key_name=None): 170 def new_key(self, key_name=None):
164 mock_key = MockKey(self, key_name) 171 mock_key = MockKey(self, key_name)
165 self.keys[key_name] = mock_key 172 self.keys[key_name] = mock_key
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 version_id=NOT_IMPL): 205 version_id=NOT_IMPL):
199 # We only handle setting ACL XML here; if you pass a canned ACL 206 # We only handle setting ACL XML here; if you pass a canned ACL
200 # the get_acl call will just return that string name. 207 # the get_acl call will just return that string name.
201 if key_name: 208 if key_name:
202 # Set ACL for the key. 209 # Set ACL for the key.
203 self.acls[key_name] = acl_or_str 210 self.acls[key_name] = acl_or_str
204 else: 211 else:
205 # Set ACL for the bucket. 212 # Set ACL for the bucket.
206 self.acls[self.name] = acl_or_str 213 self.acls[self.name] = acl_or_str
207 214
215 def set_def_acl(self, acl_or_str, key_name=NOT_IMPL, headers=NOT_IMPL,
216 version_id=NOT_IMPL):
217 # We only handle setting ACL XML here; if you pass a canned ACL
218 # the get_acl call will just return that string name.
219 # Set default ACL for the bucket.
220 self.def_acl = acl_or_str
221
208 def set_subresource(self, subresource, value, key_name=NOT_IMPL, 222 def set_subresource(self, subresource, value, key_name=NOT_IMPL,
209 headers=NOT_IMPL, version_id=NOT_IMPL): 223 headers=NOT_IMPL, version_id=NOT_IMPL):
210 self.subresources[subresource] = value 224 self.subresources[subresource] = value
211 225
212 226
213 class MockConnection(object): 227 class MockConnection(object):
214 228
215 def __init__(self, aws_access_key_id=NOT_IMPL, 229 def __init__(self, aws_access_key_id=NOT_IMPL,
216 aws_secret_access_key=NOT_IMPL, is_secure=NOT_IMPL, 230 aws_secret_access_key=NOT_IMPL, is_secure=NOT_IMPL,
217 port=NOT_IMPL, proxy=NOT_IMPL, proxy_port=NOT_IMPL, 231 port=NOT_IMPL, proxy=NOT_IMPL, proxy_port=NOT_IMPL,
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 validate=NOT_IMPL, headers=NOT_IMPL, 318 validate=NOT_IMPL, headers=NOT_IMPL,
305 version_id=NOT_IMPL): 319 version_id=NOT_IMPL):
306 self.get_bucket().enable_logging(target_bucket) 320 self.get_bucket().enable_logging(target_bucket)
307 321
308 def equals(self, uri): 322 def equals(self, uri):
309 return self.uri == uri.uri 323 return self.uri == uri.uri
310 324
311 def get_acl(self, validate=NOT_IMPL, headers=NOT_IMPL, version_id=NOT_IMPL): 325 def get_acl(self, validate=NOT_IMPL, headers=NOT_IMPL, version_id=NOT_IMPL):
312 return self.get_bucket().get_acl(self.object_name) 326 return self.get_bucket().get_acl(self.object_name)
313 327
328 def get_def_acl(self, validate=NOT_IMPL, headers=NOT_IMPL,
329 version_id=NOT_IMPL):
330 return self.get_bucket().get_def_acl(self.object_name)
331
314 def get_subresource(self, subresource, validate=NOT_IMPL, headers=NOT_IMPL, 332 def get_subresource(self, subresource, validate=NOT_IMPL, headers=NOT_IMPL,
315 version_id=NOT_IMPL): 333 version_id=NOT_IMPL):
316 return self.get_bucket().get_subresource(subresource, self.object_name) 334 return self.get_bucket().get_subresource(subresource, self.object_name)
317 335
318 def get_all_buckets(self, headers=NOT_IMPL): 336 def get_all_buckets(self, headers=NOT_IMPL):
319 return self.connect().get_all_buckets() 337 return self.connect().get_all_buckets()
320 338
321 def get_all_keys(self, validate=NOT_IMPL, headers=NOT_IMPL): 339 def get_all_keys(self, validate=NOT_IMPL, headers=NOT_IMPL):
322 return self.get_bucket().get_all_keys(self) 340 return self.get_bucket().get_all_keys(self)
323 341
(...skipping 17 matching lines...) Expand all
341 return self.object_name 359 return self.object_name
342 360
343 def new_key(self, validate=NOT_IMPL, headers=NOT_IMPL): 361 def new_key(self, validate=NOT_IMPL, headers=NOT_IMPL):
344 bucket = self.get_bucket() 362 bucket = self.get_bucket()
345 return bucket.new_key(self.object_name) 363 return bucket.new_key(self.object_name)
346 364
347 def set_acl(self, acl_or_str, key_name='', validate=NOT_IMPL, 365 def set_acl(self, acl_or_str, key_name='', validate=NOT_IMPL,
348 headers=NOT_IMPL, version_id=NOT_IMPL): 366 headers=NOT_IMPL, version_id=NOT_IMPL):
349 self.get_bucket().set_acl(acl_or_str, key_name) 367 self.get_bucket().set_acl(acl_or_str, key_name)
350 368
369 def set_def_acl(self, acl_or_str, key_name=NOT_IMPL, validate=NOT_IMPL,
370 headers=NOT_IMPL, version_id=NOT_IMPL):
371 self.get_bucket().set_def_acl(acl_or_str)
372
351 def set_subresource(self, subresource, value, validate=NOT_IMPL, 373 def set_subresource(self, subresource, value, validate=NOT_IMPL,
352 headers=NOT_IMPL, version_id=NOT_IMPL): 374 headers=NOT_IMPL, version_id=NOT_IMPL):
353 self.get_bucket().set_subresource(subresource, value, self.object_name) 375 self.get_bucket().set_subresource(subresource, value, self.object_name)
OLDNEW
« no previous file with comments | « boto/utils.py ('k') | tests/s3/test_gsconnection.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698