-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DSL-ify the tarantula API #9
Comments
Here are some examples of what a revised API might look like. This is not a promise to implement all of these features. I think all of these feature ideas would be useful, but I already know some of them will be very costly and difficult to implement. I'm including them all here because I want to come up with an API syntax and style that will accommodate a lot of different things. I don't yet know whether I'll maintain the current association with test cases; it seems that it might be better to have a standalone Basic crawl, starting from '/'
Basic crawl, starting from '/' and '/admin'
Crawl with the Tidy handler
Reorder requests on the queueThis is necessary to fix this bug
(Unlike most of the declarations in this example document, these will Selectively allowing errors
Attacks
We should have prepackaged attack suites that understand various techniques.
Timeout
Fuzzing
|
As of commit a99e859, a very basic version of this is in place on the 'dslify' branch. There is a new command,
It processes all the files, runs the crawls as directed, and exits with a nonzero status if there were any problems. (A rake task wrapper is not in place yet.) The configuration language is very simple. Here's an example:
Under the covers, things are still based on test/unit, to piggy-back on the Rails integration test support. The configuration object passed into the crawl block is a testcase, so that things like At the moment, some things are hacked together, it won't work under Ruby 1.9, and test coverage is weak. I plan to fix those problems first, and then start fleshing out the API. |
The way tests configure the Tarantula crawler is way too Java-like. It should be more declarative and Rubyish. This will make Tarantula easier to use and document, and also easier to extend and enhance. (The fact that the refactoring described in #8 causes an incompatible change to the Tarantula API is due to the low level of abstraction of the current API.)
The text was updated successfully, but these errors were encountered: