I would like to add that all the patches that have been submitted for review 
(corresponding to the supported EC2 API's) have been extensively tested using 
boto scripts and the AWS Java SDK. For e.g. for patch 
https://reviews.apache.org/r/8480/ (EC2AttachVolume) the following manual tests 
were performed,

1.       Attach volume to an existing instance

2.       Attach volume to multiple instances

3.       Attach volume using invalid values for each of the parameters - 
invalid instance id, invalid device id, instance id corresponding to a vm in 
the invalid state

And for every test the response and behavior was verified against AWS EC2 
document.

I also see that some work has been going on to automate EC2 testing using ec2 
test suite provided by jClouds [1]. I will let Anshul speak more on that.



We don't currently have a unit test framework in place for AWSAPI. To write 
unit tests for the patches that were sent for EC2 Query API, an attempt was 
made at writing the framework.

But I faced the following issues -  for some of the internal classes there is 
no way to access the member variables so we can pass in a mock (for e.g. a 
setter method or a constructor which takes a parameter). And all of the 
internal classes of awsapi don't follow any CloudStack manager/dao design and 
hence cannot be injected using MockComponentLocator. So, we could instead try 
to mock CloudStack servlet and return dummy responses to awsapi http calls. But 
as Prachi mentioned this would need some more analysis and time to code.



With the above in consideration, is it possible to commit these patches to 
master for 4.1 while we continue to work on writing a unit-test framework for 
AWSAPI?



[1] 
http://mail-archives.apache.org/mod_mbox/incubator-cloudstack-dev/201210.mbox/%3C7914B38A4445B34AA16EB9F1352942F1012F109D6278%40SJCPMAILBOX01.citrite.net%3E



Thank you,

Likitha



-----Original Message-----
From: Prachi Damle [mailto:prachi.da...@citrix.com]
Sent: Thursday, January 31, 2013 8:29 AM
To: cloudstack-dev@incubator.apache.org
Subject: [DISCUSS] EC2 QUERY API Pending Merge



Hi All,





I have reviewed the patches for the  [EC2 Query API] support in awsapi and they 
look good. However there are no unit tests added [like many other feature 
branches].

So the merge of these patches is pending.



Should I merge them to master, since  4.1 release may miss out EC2 Query API 
support.

Given that EC2 Soap API is being deprecated by AWS, this feature is definitely 
a value-add to apache 4.1 release IMHO.





I understand that since awsapi holds most of its logic in a servlet and calls 
CloudStack over http, writing unit tests to mock up the servletcontainer and a 
mock CloudStack servlet is a bigger task.



So Is it reasonable to commit these patches to master for 4.1 and develop a 
unit-test framework for awsapi in the coming bug fixing phase?

Please comment.



Thanks,

Prachi






Reply via email to