aboutsummaryrefslogtreecommitdiffstats
path: root/activeresource/test/abstract_unit.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activeresource/test/abstract_unit.rb')
-rw-r--r--activeresource/test/abstract_unit.rb127
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