Amazon Kinesis - + - Integration-Tests

Derzeit arbeite ich an einer Serie von web-services, die wir integrieren müssen, mit Kinesis - die Umsetzung getan worden, aber wir haben eine Reihe von Integrations-tests (unsere web-services sind alle mit Spring Boot, so verwenden wir die @WebIntegrationTest annotation auf unserem test-Klassen zu beginnen, eine lokale Instanz des Servers und rufen Sie dann unsere Ressourcen mit einem TestRestTemplate), die derzeit versuchen, und nicht, um eine Verbindung zu der realen Kinesis.

Obwohl in der ganz normalen unit-tests ist es kein problem, zu verspotten heraus Aufrufe der Methoden innerhalb der Kinesis-Bibliothek, können wir Sie nicht wirklich dazu in der integration tests, die das gesamte application stack ist verdrahtet mit Feder. Für ein paar andere Dinge (wie OAuth2 und Anrufe auf unsere anderen web-services) haben wir in der Lage gewesen, WireMock zu verspotten, die die tatsächlichen Endpunkte - also das, was ich wirklich gerne tun, ist mit WireMock in dieser Weise zu verhöhnen, als Sie den Aufruf der AmazonKinesisClient aber ich kann nicht finden, alle Ratschläge, wie dies zu tun.

Alternativ habe ich gesehen, dass einige AWS-Komponenten haben den test-Bibliotheken von Drittanbietern geschrieben, die ermöglichen es Ihnen, eine lokale version davon (z.B.: DynamoDbLocal), aber nicht finden können, eine Lösung für Kinesis.

Ist jemand in der Lage, geben Sie mir einige Ratschläge, wie Sie führen Integrations-tests mit Kinesis?

  • Ich bin nicht vertraut mit WebIntegrationTests, aber, könnten Sie: Erstellen Sie eine non-Produktion-test-stream mit einer einzigen Scherbe, bevor Sie Ihre tests starten Sie den test, und schließen Sie es nach? Oder erstellen Sie einen dünnen wrapper um die aws-api auf Ihre put - /get-Aufrufe, die könnte Trichter Objekte über eine Warteschlange?
  • Ich lief auch in diesem "problem". Ein mehr Fall, dass ich brauche, ist, dass jeder Entwickler sollte in der Lage sein zu führen Integrations-tests von der lokalen Umgebung. Ich will nicht um streams zu erstellen, die für jeden dev.
  • 2017 und immer noch nicht sehen, keine tools um.
InformationsquelleAutor Ian Jones | 2015-06-11
Schreibe einen Kommentar