| OLD | NEW |
| (Empty) |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | |
| 2 # Use of this source code is governed by a BSD-style license that can be | |
| 3 # found in the LICENSE file. | |
| 4 | |
| 5 """Subclass of CloudBucket used for testing.""" | |
| 6 | |
| 7 import os | |
| 8 import sys | |
| 9 | |
| 10 sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir)) | |
| 11 import cloud_bucket | |
| 12 | |
| 13 | |
| 14 class MockCloudBucket(cloud_bucket.BaseCloudBucket): | |
| 15 """Subclass of CloudBucket used for testing.""" | |
| 16 | |
| 17 def __init__(self): | |
| 18 """Initializes the MockCloudBucket with its datastore. | |
| 19 | |
| 20 Returns: | |
| 21 An instance of MockCloudBucket. | |
| 22 """ | |
| 23 self.datastore = {} | |
| 24 | |
| 25 def Reset(self): | |
| 26 """Clears the MockCloudBucket's datastore.""" | |
| 27 self.datastore = {} | |
| 28 | |
| 29 # override | |
| 30 def UploadFile(self, path, contents, content_type): | |
| 31 self.datastore[path] = contents | |
| 32 | |
| 33 # override | |
| 34 def DownloadFile(self, path): | |
| 35 if self.datastore.has_key(path): | |
| 36 return self.datastore[path] | |
| 37 else: | |
| 38 raise cloud_bucket.FileNotFoundError | |
| 39 | |
| 40 # override | |
| 41 def UpdateFile(self, path, contents): | |
| 42 if not self.FileExists(path): | |
| 43 raise cloud_bucket.FileNotFoundError | |
| 44 self.UploadFile(path, contents, '') | |
| 45 | |
| 46 # override | |
| 47 def RemoveFile(self, path): | |
| 48 if self.datastore.has_key(path): | |
| 49 self.datastore.pop(path) | |
| 50 | |
| 51 # override | |
| 52 def FileExists(self, path): | |
| 53 return self.datastore.has_key(path) | |
| 54 | |
| 55 # override | |
| 56 def GetImageURL(self, path): | |
| 57 if self.datastore.has_key(path): | |
| 58 return path | |
| 59 else: | |
| 60 raise cloud_bucket.FileNotFoundError | |
| 61 | |
| 62 # override | |
| 63 def GetAllPaths(self, prefix): | |
| 64 return (item[0] for item in self.datastore.items() | |
| 65 if item[0].startswith(prefix)) | |
| OLD | NEW |