Factories are a good idea. For CS entities that take a large amount of parameters, the parser could choose an exemplar of that entity. For example: Given a zone called "Advanced-with-Netscaler-Provider"
This would cause the parser to choose a particular cfg file that specifies an Advanced zone with a Netscaler provider and perhaps provision it. On 1/24/13 12:48 AM, "Prasanna Santhanam" <t...@apache.org> wrote: >At first I explored cucumber and saw that it was ruby based. So I >veered off to find pyparsing and how to implment custom DSLs and it >looked like a lot of work. Ruby lends itself well to implementing >custom DSLs it seems [1]. Lettuce, I see now, does this with python >and it doesn't look too hard to get it working for basic scenarios. [2] > >The trouble seems to be creating cloudstack entities that often take a >lot of params to just be created. Eg: networkoffering. For this I >think factories of default objects that we see on the UI can help. So >we have > >NetworkOfferingFactory > DefaultWithIsolatedSourceNAT > DefaultForSharedNetwork > etc > >that will give us default objects that we can pass to marvin's >integration library to interact with the api server and have them >mapped via lettuce. if additional params are required one can >implement a factory and get going. I started working on such factories >in the marvin-refactor-phase1 branch but am open to any other ideas to >implement a dsl with minimal typing. > >[1] http://softwarebyjosh.com/2012/01/08/How-To-Write-Your-Own-DSL.html >[2] http://lettuce.it/tutorial/simple.html#tutorial-simple > >On Thu, Jan 24, 2013 at 12:38:32AM +0530, Chiradeep Vittal wrote: >> I am changing the subject line to make the discussion broader. >> Anybody have any experience with Robot / Cucumber / etc as test >>automation >> frameworks? >> >> Cucumber / Lettuce looks nice for developers -- but I am not sure how it >> can be used for automating the same testcase with a wide variety of >>input >> variables. >> >> >> On 1/23/13 10:22 AM, "Chirag Jog" <chi...@clogeny.com> wrote: >> >> >Interestingly we had evaluated the robot framework : >> >https://code.google.com/p/robotframework/ which isn't really a DSL but >> >more >> >of a keyword driven BDD. One can define key words that map to real >>actions >> >as mentioned in the above thread. It generates logs in HTML format as >> >well. >> > >> >Regards*,* >> >*Chirag Jog* >> >Chief Technology Officer, >> >*Clogeny Technologies* | http://clogeny.com >> >(M) 0091-9766619440 | Skype: chirag.jog >> > >> > >> > >> >On Mon, Jan 21, 2013 at 6:14 PM, Prasanna Santhanam <t...@apache.org> >> >wrote: >> > >> >> On Fri, Jan 18, 2013 at 06:51:07PM -0500, Chiradeep Vittal wrote: >> >> > The idea would be that a dev/QA working on a feature could write a >> >>test >> >> > case like: >> >> > >> >> > Feature: AWS-style health checks >> >> > In order to foo blah blarg >> >> > >> >> > Scenario: create health check >> >> > Given a zone of type "Advanced" >> >> > And a user named "John" >> >> > And a loadbalancer rule called "LB1" created by "John" >> >> > When "John" creates a health check of type "Blargh" for "LB1" >> >> > Then "John" should see <dictionary> >> >> >> >> yup - i checked cucumber for the tokens. it does look enticing. i'll >> >> figure out a similar grammar to see if we can express cloudstack >>tests >> >> and share on the lists. And then go on to build the parser/ASTs. >> >> >> >> -- >> >> Prasanna., >> >> > >-- >Prasanna.,