diff options
author | Josh Kalderimis <josh.kalderimis@gmail.com> | 2011-05-17 19:30:43 -0400 |
---|---|---|
committer | Josh Kalderimis <josh.kalderimis@gmail.com> | 2011-05-18 00:34:09 -0400 |
commit | 6b4bbb427455ec1af6bdf0896a62129bd3c8c4aa (patch) | |
tree | 197f51ebb7b9b9c7987bb29aec73b7da9536cff7 /activeresource/test/abstract_unit.rb | |
parent | 4a9365ee18c055d970a5f8faaac9443a8bfb0d24 (diff) | |
download | rails-6b4bbb427455ec1af6bdf0896a62129bd3c8c4aa.tar.gz rails-6b4bbb427455ec1af6bdf0896a62129bd3c8c4aa.tar.bz2 rails-6b4bbb427455ec1af6bdf0896a62129bd3c8c4aa.zip |
updated all the tests in ARes to work with json
Diffstat (limited to 'activeresource/test/abstract_unit.rb')
-rw-r--r-- | activeresource/test/abstract_unit.rb | 127 |
1 files changed, 76 insertions, 51 deletions
diff --git a/activeresource/test/abstract_unit.rb b/activeresource/test/abstract_unit.rb index 195f93f2a6..948dd94a1d 100644 --- a/activeresource/test/abstract_unit.rb +++ b/activeresource/test/abstract_unit.rb @@ -20,16 +20,19 @@ rescue LoadError end def setup_response - @default_request_headers = { 'Content-Type' => 'application/xml' } - @matz = { :id => 1, :name => 'Matz' }.to_xml(:root => 'person') - @david = { :id => 2, :name => 'David' }.to_xml(:root => 'person') - @greg = { :id => 3, :name => 'Greg' }.to_xml(:root => 'person') - @addy = { :id => 1, :street => '12345 Street', :country => 'Australia' }.to_xml(:root => 'address') - @rick = { :name => "Rick", :age => 25 }.to_xml(:root => "person") - @joe = { 'person' => { :id => 6, :name => 'Joe' }}.to_json - @people = [{ :id => 1, :name => 'Matz' }, { :id => 2, :name => 'David' }].to_xml(:root => 'people') - @people_david = [{ :id => 2, :name => 'David' }].to_xml(:root => 'people') - @addresses = [{ :id => 1, :street => '12345 Street', :country => 'Australia' }].to_xml(:root => 'addresses') + matz_hash = { 'person' => { :id => 1, :name => 'Matz' } } + + @default_request_headers = { 'Content-Type' => 'application/json' } + @matz = matz_hash.to_json + @matz_xml = matz_hash.to_xml + @david = { :person => { :id => 2, :name => 'David' } }.to_json + @greg = { :person => { :id => 3, :name => 'Greg' } }.to_json + @addy = { :address => { :id => 1, :street => '12345 Street', :country => 'Australia' } }.to_json + @rick = { :person => { :name => "Rick", :age => 25 } }.to_json + @joe = { :person => { :id => 6, :name => 'Joe', :likes_hats => true }}.to_json + @people = { :people => [ { :person => { :id => 1, :name => 'Matz' } }, { :person => { :id => 2, :name => 'David' } }] }.to_json + @people_david = { :people => [ { :person => { :id => 2, :name => 'David' } }] }.to_json + @addresses = { :addresses => [{ :address => { :id => 1, :street => '12345 Street', :country => 'Australia' } }] }.to_json # - deep nested resource - # - Luis (Customer) @@ -48,19 +51,38 @@ def setup_response # - Natacha (Customer::Friend::Brother::Child) # - Milena (Customer::Friend::Brother) # - @luis = {:id => 1, :name => 'Luis', - :friends => [{:name => 'JK', - :brothers => [{:name => 'Mateo', - :children => [{:name => 'Edith'},{:name => 'Martha'}]}, - {:name => 'Felipe', - :children => [{:name => 'Bryan'},{:name => 'Luke'}]}]}, - {:name => 'Eduardo', - :brothers => [{:name => 'Sebas', - :children => [{:name => 'Andres'},{:name => 'Jorge'}]}, - {:name => 'Elsa', - :children => [{:name => 'Natacha'}]}, - {:name => 'Milena', - :children => []}]}]}.to_xml(:root => 'customer') + @luis = { + :customer => { + :id => 1, + :name => 'Luis', + :friends => [{ + :name => 'JK', + :brothers => [ + { + :name => 'Mateo', + :children => [{ :name => 'Edith' },{ :name => 'Martha' }] + }, { + :name => 'Felipe', + :children => [{ :name => 'Bryan' },{ :name => 'Luke' }] + } + ] + }, { + :name => 'Eduardo', + :brothers => [ + { + :name => 'Sebas', + :children => [{ :name => 'Andres' },{ :name => 'Jorge' }] + }, { + :name => 'Elsa', + :children => [{ :name => 'Natacha' }] + }, { + :name => 'Milena', + :children => [] + } + ] + }] + } + }.to_json # - resource with yaml array of strings; for ARs using serialize :bar, Array @marty = <<-eof.strip <?xml version=\"1.0\" encoding=\"UTF-8\"?> @@ -75,49 +97,52 @@ def setup_response </person> eof - @startup_sound = { - :name => "Mac Startup Sound", :author => { :name => "Jim Reekes" } - }.to_xml(:root => 'sound') + @startup_sound = { + :sound => { + :name => "Mac Startup Sound", :author => { :name => "Jim Reekes" } + } + }.to_json ActiveResource::HttpMock.respond_to do |mock| - mock.get "/people/1.xml", {}, @matz + mock.get "/people/1.json", {}, @matz + mock.get "/people/1.xml", {}, @matz_xml mock.get "/people/2.xml", {}, @david mock.get "/people/5.xml", {}, @marty - mock.get "/people/Greg.xml", {}, @greg + mock.get "/people/Greg.json", {}, @greg mock.get "/people/6.json", {}, @joe - mock.get "/people/4.xml", {'key' => 'value'}, nil, 404 - mock.put "/people/1.xml", {}, nil, 204 - mock.delete "/people/1.xml", {}, nil, 200 + mock.get "/people/4.json", { 'key' => 'value' }, nil, 404 + mock.put "/people/1.json", {}, nil, 204 + mock.delete "/people/1.json", {}, nil, 200 mock.delete "/people/2.xml", {}, nil, 400 - mock.get "/people/99.xml", {}, nil, 404 - mock.post "/people.xml", {}, @rick, 201, 'Location' => '/people/5.xml' - mock.get "/people.xml", {}, @people - mock.get "/people/1/addresses.xml", {}, @addresses - mock.get "/people/1/addresses/1.xml", {}, @addy + mock.get "/people/99.json", {}, nil, 404 + mock.post "/people.json", {}, @rick, 201, 'Location' => '/people/5.xml' + mock.get "/people.json", {}, @people + mock.get "/people/1/addresses.json", {}, @addresses + mock.get "/people/1/addresses/1.json", {}, @addy mock.get "/people/1/addresses/2.xml", {}, nil, 404 - mock.get "/people/2/addresses.xml", {}, nil, 404 + mock.get "/people/2/addresses.json", {}, nil, 404 mock.get "/people/2/addresses/1.xml", {}, nil, 404 - mock.get "/people/Greg/addresses/1.xml", {}, @addy - mock.put "/people/1/addresses/1.xml", {}, nil, 204 - mock.delete "/people/1/addresses/1.xml", {}, nil, 200 - mock.post "/people/1/addresses.xml", {}, nil, 201, 'Location' => '/people/1/addresses/5' - mock.get "/people/1/addresses/99.xml", {}, nil, 404 + mock.get "/people/Greg/addresses/1.json", {}, @addy + mock.put "/people/1/addresses/1.json", {}, nil, 204 + mock.delete "/people/1/addresses/1.json", {}, nil, 200 + mock.post "/people/1/addresses.json", {}, nil, 201, 'Location' => '/people/1/addresses/5' + mock.get "/people/1/addresses/99.json", {}, nil, 404 mock.get "/people//addresses.xml", {}, nil, 404 mock.get "/people//addresses/1.xml", {}, nil, 404 mock.put "/people//addresses/1.xml", {}, nil, 404 mock.delete "/people//addresses/1.xml", {}, nil, 404 mock.post "/people//addresses.xml", {}, nil, 404 - mock.head "/people/1.xml", {}, nil, 200 - mock.head "/people/Greg.xml", {}, nil, 200 - mock.head "/people/99.xml", {}, nil, 404 - mock.head "/people/1/addresses/1.xml", {}, nil, 200 - mock.head "/people/1/addresses/2.xml", {}, nil, 404 - mock.head "/people/2/addresses/1.xml", {}, nil, 404 - mock.head "/people/Greg/addresses/1.xml", {}, nil, 200 + mock.head "/people/1.json", {}, nil, 200 + mock.head "/people/Greg.json", {}, nil, 200 + mock.head "/people/99.json", {}, nil, 404 + mock.head "/people/1/addresses/1.json", {}, nil, 200 + mock.head "/people/1/addresses/2.json", {}, nil, 404 + mock.head "/people/2/addresses/1.json", {}, nil, 404 + mock.head "/people/Greg/addresses/1.json", {}, nil, 200 # customer - mock.get "/customers/1.xml", {}, @luis + mock.get "/customers/1.json", {}, @luis # sound - mock.get "/sounds/1.xml", {}, @startup_sound + mock.get "/sounds/1.json", {}, @startup_sound end Person.user = nil |