def test_get_bucket(self, m_get_conn): """Test the get_bucket function.""" class FakeConn(object): """Mock object for an s3 connection.""" @staticmethod def get_bucket(bucket_name, validate=None): """Make sure get_bucket is passed good arguments.""" self.assertEqual(bucket_name, 'bucket') self.assertFalse(validate) m_get_conn.return_value = FakeConn() s3.get_bucket()
def test_get_bucket(self, m_get_conn): """Test the get_bucket function.""" class FakeConn(object): """Mock object for an s3 connection.""" @staticmethod def get_bucket(bucket_name, validate=None): """Make sure get_bucket is passed good arguments.""" self.assertEqual(bucket_name, "bucket") self.assertFalse(validate) m_get_conn.return_value = FakeConn() s3.get_bucket()
def get(quest_id): """List the assets uploaded to S3 for a given quest.""" bucket = s3.get_bucket() prefix = 'quests/%s/' % quest_id prefix_len = len(prefix) # The prefix itself may appear as a key, so we filter # it out leaving only its children. keys = [key for key in bucket.list(prefix=prefix) if len(key.key) != prefix_len] return {'assets': [{ 'url': key.generate_url(0, query_auth=False), 'file_name': key.key[prefix_len:]} for key in keys]}
def get(quest_id): """List the assets uploaded to S3 for a given quest.""" bucket = s3.get_bucket() prefix = 'quests/%s/' % quest_id prefix_len = len(prefix) # The prefix itself may appear as a key, so we filter # it out leaving only its children. keys = [ key for key in bucket.list(prefix=prefix) if len(key.key) != prefix_len ] return { 'assets': [{ 'url': key.generate_url(0, query_auth=False), 'file_name': key.key[prefix_len:] } for key in keys] }
def delete(quest_id, file_name): """Delete the given asset.""" bucket = s3.get_bucket() key = 'quests/%s/%s' % (quest_id, file_name) bucket.delete_key(key)