Question

Il semble que je me souvienne d'avoir lu des informations sur un serveur de test compatible Amazon S3 que vous pourriez exécuter sur votre propre serveur pour des tests unitaires ou autre. Cependant, je viens d’épuiser ma patience en cherchant cela avec Google et AWS. Est-ce qu'une telle chose existe? Sinon, je pense en écrire un.

Remarque: je pose des questions sur Amazon S3 (le système de stockage) plutôt que sur Amazon EC2 (cloud computing).

Était-ce utile?

La solution

Envisagez-vous de Park Place ?

Pour info, sa l'ancienne page d'accueil est hors ligne.

Autres conseils

Je pense que la moto ( https://github.com/spulec/moto ) est l'outil idéal. pour vos unittests. Moto se moque de tous les accès à S3, SQS, etc. et peut être utilisé dans n’importe quel langage de programmation utilisant son serveur Web.

C’est simple à installer, léger et rapide.

À partir du fichier README de moto:

Imaginez que vous souhaitez tester le code suivant:

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)

Prenez une minute pour réfléchir à la manière dont vous auriez pu tester cela par le passé. Maintenant, voyez comment vous pouvez le tester avec 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 a été transféré sur github: http://github.com/technoweenie/parkplace

Eucalyptus http://eucalyptus.cs.ucsb.edu/

  

EUCALYPTUS - Elastic Utility Computing   Architecture pour lier vos programmes   To Useful Systems - est un logiciel libre   infrastructure logicielle pour   mise en œuvre de & cloud; cloud computing " sur   grappes. L'interface actuelle pour   EUCALYPTUS est compatible avec Amazon   Interface EC2, mais l'infrastructure   est conçu pour supporter plusieurs   interfaces côté client.

Notez que, selon la documentation, Eucalypus inclut une réimplémentation non seulement de l'interface EC2 mais également du système de stockage S3. Ce composant de stockage s'appelle Walrus. ( http://open.eucalyptus.com/wiki/EucalyptusUserGuide_v1.5.2 )

Faux S3 semble être une réimplémentation à jour de S3 spécialement conçue pour utiliser dans les tests.

Nous avons rencontré le problème de tester notre code basé sur S3 localement et avons implémenté un petit serveur Java qui émule l'API d'objet S3. Comme cela pourrait être utile aux autres, nous avons créé un référentiel github avec un petit site Web: http://s3ninja.net - toute OpenSource sous licence MIT.

Il est assez petit et simple et peut être configuré en quelques minutes. (En tant qu’application SIRIUS , la création de statup sur un serveur modéré prend moins d’une seconde).

Amazon utilise Xen, vous pouvez donc probablement simplement exécuter votre AMI dans votre propre installation Xen. Je voudrais juste lancer une instance et y faire les tests, cependant. Cela ne coûte pas cher et vous devriez normalement être en mesure de développer localement et de le tester rarement sur leur système.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top