Ответ 1
Вы думаете о Park Place?
FYI, его старая домашняя страница теперь находится в автономном режиме.
Кажется, я вспоминаю про чтение тестового сервера, совместимого с Amazon S3, который вы можете запускать на своем собственном сервере для модульных тестов или что-то еще. Тем не менее, я только исчерпал свое терпение, ища это как с Google, так и с AWS. Существует ли такая вещь? Если нет, я думаю, что напишу.
Примечание. Я спрашиваю об Amazon S3 (системе хранения), а не Amazon EC2 (облачные вычисления).
Вы думаете о Park Place?
FYI, его старая домашняя страница теперь находится в автономном режиме.
Я думаю, что moto (https://github.com/spulec/moto) - идеальный инструмент для ваших unittests. Moto перебирает все обращения к S3, SQS и т.д. И может использоваться на любом языке программирования с использованием своего веб-сервера.
Тривиально настроить, легко и быстро.
От мото README:
Представьте, что у вас есть следующий код, который вы хотите проверить:
import boto
from boto.s3.key import Key
class MyModel(object):
def __init__(self, name, value):
self.name = name
self.value = value
def save(self):
conn = boto.connect_s3()
bucket = conn.get_bucket('mybucket')
k = Key(bucket)
k.key = self.name
k.set_contents_from_string(self.value)
Потратьте минутку, чтобы подумать, как бы вы протестировали это в прошлом. Теперь посмотрим, как вы можете протестировать его с помощью Moto:
import boto
from moto import mock_s3
from mymodule import MyModel
@mock_s3
def test_my_model_save():
model_instance = MyModel('steve', 'is awesome')
model_instance.save()
conn = boto.connect_s3()
assert conn.get_bucket('mybucket').get_key('steve') == 'is awesome'
Park Place переместился в github: http://github.com/technoweenie/parkplace
Eucalyptus http://eucalyptus.cs.ucsb.edu/
EUCALYPTUS - Эластичная вычислительная техника Архитектура для связывания ваших программ Полезные системы - это open-source программной инфраструктуры для внедрение "облачных вычислений" на кластеры. Текущий интерфейс к EUCALYPTUS совместим с Amazon's EC2, но инфраструктура предназначен для поддержки нескольких клиентские интерфейсы.
Обратите внимание, что в соответствии с документацией Eucalypus включает повторную реализацию не только интерфейса EC2, но и системы хранения S3. Этот компонент хранения называется Walrus. (http://open.eucalyptus.com/wiki/EucalyptusUserGuide_v1.5.2)
Fake S3 является обновленной версией S3, специально разработанной для использования при тестировании.
Мы столкнулись с проблемой локального тестирования нашего кода на базе S3 и фактически реализовали небольшой сервер Java, который эмулирует API-интерфейс объекта S3. Поскольку это может быть полезно другим, мы настраиваем репозиторий github вместе с небольшим веб-сайтом: http://s3ninja.net - все OpenSource под лицензией MIT.
Он довольно маленький и простой и может быть настроен за считанные минуты. (Будучи SIRIUS, приложение statup на умеренном сервере занимает меньше секунды).
Amazon использует Xen, поэтому вы можете просто запустить свой AMI в своей собственной установке Xen. Тем не менее, я просто запускаю экземпляр и запускаю тесты. Это не так дорого, и вы, как правило, должны быть хорошо развиты локально и нечасто тестируете его в своей системе.