I'd like to write a test of a REST service wherein XML is submitted as the request entity.
In Test::Unit on Rails, this seems to be possible in an integration test, but not in a functional test. RSpec uses the Rails functional test framework, as far as I can tell, so it suffers the same result; it tries to symbolize the keys of the 'parameters' hash, except the parameters aren't a hash: 1) > NoMethodError in 'Assign Roles to Users should assign a single role' > undefined method `symbolize_keys' for #<String:0xb722d71c> > /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/test_process.rb:101:in > `assign_parameters' > /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/test_process.rb:377:in > `process' > /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/test_process.rb:353:in > `put' > ./spec/controllers/assign_role_to_users_spec.rb:42: > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/dsl/example.rb:81:in > `instance_eval' > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/dsl/example.rb:81:in > `run_example' > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/dsl/example.rb:26:in > `run' > /usr/lib/ruby/1.8/timeout.rb:48:in `timeout' > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/dsl/example.rb:24:in > `run' > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/dsl/behaviour.rb:81:in > `run' > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/dsl/behaviour.rb:75:in > `each' > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/dsl/behaviour.rb:75:in > `run' > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/runner/behaviour_runner.rb:58:in > `run_behaviours' > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/runner/behaviour_runner.rb:57:in > `each' > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/runner/behaviour_runner.rb:57:in > `run_behaviours' > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/runner/behaviour_runner.rb:21:in > `run' > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/runner/command_line.rb:17:in > `run' > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/bin/spec:3: > /usr/bin/spec:16:in `load' > /usr/bin/spec:16: > > Finished in 0.594615 seconds Thoughts? Has anyone found a way around this with the current (1.0.8) RSpec? Is this something that is addressed by the Story Runner in trunk? Thanks in advance for any advice, - Geoffrey -- Geoffrey Wiseman
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users