2012-12-12 1 views
10

"가짜 Amazon EC2"엔드 포인트를 구현 한 오픈 소스 패키지가 있습니까? 특히 EC2와 통신하는 클라이언트 (특히 boto를 사용)에 대한 테스트에 사용할 수있는 것은 무엇입니까?가짜 EC2 엔드 포인트 테스트

거기에는 EC2 API (예 : OpenStack, Eucalyptus, CloudStack)를 구현하는 몇 가지 오픈 소스 클라우드 솔루션이 있지만 가짜 EC2 서버를 신속하게 가져 와서 구성 할 수있는 무언가를 찾고 있습니다. 테스트 목적으로 미리 준비된 응답이 있습니다.

+1

이것은 EC2와 관련이 없으므로 * 정확하게 대답이 아니지만 Ruby에서 [webmock] (https://github.com/bblimke/webmock)을 사용하여 해결할 수 있습니다. 응용 프로그램에서 생성 된 HTTP 요청을 가로채는 도구로 테스트 스위트에서 임의의 응답을 반환 할 수 있습니다. 파이썬은 비슷한 방식으로 작동하는 것으로 보이는 [HTTPretty] (http://falcao.it/HTTPretty/)가 있습니다. – willglynn

+0

@willglynn 내 앱에서 원숭이 패치를하는 것보다 독립형 테스트 앱을 찾고 있습니다. 또한 스펙을 가지고 시작하는 것보다 EC2 API의 다른 구현을 활용할 수 있기를 희망했습니다. –

+0

webmock/HTTPretty를 사용하면 원숭이 패치를 할 필요가 없습니다. 앱과 관련하여 원격 엔드 포인트와 대화하고 있습니다. 모든 hackery는 업스트림 라이브러리에서 발생합니다. 어떤 요청에서 어떤 응답을 받아야 하는지를 지정하면됩니다. Ruby에는 [VCR] (http://www.rubyinside.com/vcr-a-recorder-for-all-your-tests-http-interactions-4169.html)도있어 상호 작용을 기록하고 재생할 수 있습니다. 테스트 스위트의 원격 API – willglynn

답변

7

moto을 확인해보십시오. 기본적으로 HTTP 레이어를 조롱하기 위해 HTTPretty를 사용하여 boto 자체를 조롱합니다. 그것의 멋지게 완료하고 정말 유용하게 보입니다.

1

유칼립투스는 http://www.eucalyptus.com/eucalyptus-cloud/community-cloud에서 무료로 사용할 수있는 커뮤니티 클라우드를 오랫동안 사용해 왔습니다. 다른 EC2 API 응답을 조롱하고 싶다면 작동하지 않을 것입니다 (유칼립투스 API가 ' EC2 API를 완벽하게 따르십시오. 특히 다른 필드를 설정하는 방법은 특히 그렇습니다.) - 실제 EC2 응답으로 테스트하고 싶다면 Boto에게 전화를 조롱하는 것이 최선책 인 것 같습니다.