Вопрос

Кажется, я припоминаю, что читал о тестовом сервере, совместимом с Amazon S3, который вы могли бы запустить на своем собственном сервере для модульных тестов или чего-то еще.Однако я только что исчерпал свое терпение, ища это как в Google, так и в AWS.Существует ли такая вещь?Если нет, я, пожалуй, напишу один.

Примечание:Я спрашиваю об Amazon S3 (системе хранения данных), а не об Amazon EC2 (облачных вычислениях).

Это было полезно?

Решение

Вы думаете о Парковочное место?

К вашему сведению, его старая домашняя страница сейчас он отключен.

Другие советы

Я думаю , что мото (https://github.com/spulec/moto) - это идеальный инструмент для ваших unittests.Moto высмеивает все обращения к S3, SQS и т.д.и может быть использован на любом языке программирования с использованием их веб-сервера.

Он прост в настройке, легок и быстр.

Из README от moto's:

Представьте, что у вас есть следующий код, который вы хотите протестировать:

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

Эвкалипт http://eucalyptus.cs.ucsb.edu/

EUCALYPTUS - Elastic Utility Computing Архитектура для связывания ваших программ С полезными системами - это открытая программная инфраструктура для реализации "облачных вычислений" на кластерах.Текущий интерфейс для EUCALYPTUS совместим с интерфейсом Amazon EC2, но инфраструктура предназначена для поддержки нескольких клиентских интерфейсов.

Обратите внимание, что, согласно документации, Eucalypus включает в себя повторную реализацию не только интерфейса EC2, но и системы хранения данных S3.Этот компонент для хранения называется Walrus.(http://open.eucalyptus.com/wiki/EucalyptusUserGuide_v1.5.2)

Поддельный S3 похоже, это обновленная повторная реализация S3, специально разработанная для использования в тестировании.

Мы столкнулись с проблемой локального тестирования нашего кода на основе S3 и фактически внедрили небольшой Java-сервер, который эмулирует объектный API S3.Поскольку это может быть полезно другим, мы создаем репозиторий github вместе с небольшим веб-сайтом: http://s3ninja.net - все с открытым исходным кодом по лицензии MIT.

Он довольно маленький и простой, и его можно настроить за считанные минуты.(Будучи СИРИУС приложение на основе statup на умеренном сервере занимает меньше секунды).

Amazon использует Xen, так что вы, вероятно, можете просто запустить AMI в своей собственной установке Xen.Однако я бы просто запустил экземпляр и запустил тесты там.Это стоит недорого, и обычно вас вполне устроит локальная разработка и нечастое тестирование в их системе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top