Release Name: 0.6.0
Notes:
= Stella - 0.6.0 ALPHA
Stella is a Ruby library for writing functional tests in a sexy DSL (domain specific language).
==== NOTE: The 0.6 release was a complete rewrite from previous versions. All commands, APIs, and documentation have changed!*
== Example 1
testplan :product_api do
desc "Maintain a value between requests"
auth :basic, "stella", "stella"
protocol :http
post "/upload" do
name "Add Product"
body "bill", "/path/2/file.txt"
header "X-Stella" => "Version #{Stella::VERSION}"
param :convert => true
param :rand => rand
response 200, 201 do |headers, body, objid|
data = YAML.load(body)
@product_id = data[:id] # Save a response value
end
end
get "/product" do
name "View Product"
param 'id' => @product_id # Use the saved value
response 200 do |header, body, objid|
data = YAML.load(body)
repeat :times => 2, :wait => 1.second # Repeat this request twice
end
end
end
functest :quick_test do
plan :product_api
clients 2
duration 5.minutes
verbose
end
environment :development do
machines "localhost:3114"
# machine "localhost:3115"
# ...
end
run :development, :quick_test
See bin/example_test.rb for a running example.
== Installation
Get it in one of the following ways:
* RubyForge: http://stella.rubyforge.org/
* gem install stella
* git clone git://github.com/solutious/stella.git
* gem install solutious-stella --source http://gems.github.com
== More Information
Stellaaahhhh[http://www.youtube.com/watch?v=wmq-JDonTpc]
== Credits
* Delano Mandelbaum (delano@solutious.com)
== Thanks
* Harm Aarts for the great test case and feedback!
* Kalin Harvey for keeping me on track.
* Dave L, the best intern money can't buy.
== License
See LICENSE.txt
Changes:
STELLA, CHANGES
#### TODO
* TODO: prepend instance variables with "stella_"
* TODO: implement session handling
* BUG: http://jira.codehaus.org/browse/JRUBY-2992
* TODO: variable interpolation that happens at test time so instance variables can be grabbed from the calling space.
#
# get "/product/${token}" do
# ## TODO: Override environment settings.
# #protocol :https
# response 200 do |headers, body|
# data = YAML.load(body)
# puts "ID: #{data[:id]}"
# end
# end
#### 0.6.0 (2009-03-15) ###############################
http://github.com/solutious/stella/tree/0.6
* COMPLETE REWRITE!
* The commands and API from 0.5.x are no longer supported. This ain't your grandmother's Stella.
* NEW: Tests are now defined using a DSL. See tryouts/dsl_tryout.rb for an example.
* NEW: Tests are run with Ruby directly: ruby testplan.rb (for now)
#### 0.5.6 (2009-02-04) ###############################
* API Change: watch is replaced by pcap and proxy.
* "stella watch -C" is now "stella pcap"
* "stella watch -P" is now "stella proxy"
* Fixed body printing bug for stella -v watch -C
* Added adapter tests
* Improved RDocs
#### 0.5.5 (2009-01-14) ###############################
http://github.com/solutious/stella/tree/stella-0.5.5
* Now has specs (33 specifications, 303 requirements)
* New dependency: test-spec (development copy only)
* Added delano/drydock to vendor (was delano/frylock).
* Improved argument handling for load tool adapters (httperf not complete)
* Re-built Stella::Storable and subclasses (now using "field" method)
* Test::Stats, Test::Run::Summary cleanup
* Fixed RubyGems require error
* Fixed stddev bug by removing weak math, adding stats class from Mongrel
* Fixed --agent error
#### 0.5.4-alpha (2009-01-07) #########################
http://github.com/solutious/stella/tree/stella-0.5.4-alpha
* New command: watch. Monitor HTTP traffic with Ruby-Pcap (unix only) or proxy. Pcap also supports DNS sniffing.
* Improved error handling for stats output
* Now runs on Ruby 1.9.1, JRuby
* Added Windows support for most features
* Added patch for Ruby-Pcap
* Added friendly error handling for Apache Bench, Siege, and Httperf
#### 0.5.3-preview (2008-12-23) #######################
http://github.com/solutious/stella/tree/e4d2bd8db3d1323fbc3b8bbb7f703ce7b8c88551
* Initial public release
|