From 58b7da6ce365409791e63ba605ba0c0633a7e1e9 Mon Sep 17 00:00:00 2001 From: Alan deLevie Date: Tue, 9 Oct 2012 17:47:57 -0400 Subject: [PATCH] using VCR for most tests --- Gemfile | 7 +- Gemfile.lock | 8 +- .../vcr_cassettes/test_cloud_function.yml | 81 ++++ fixtures/vcr_cassettes/test_created_at.yml | 83 ++++ fixtures/vcr_cassettes/test_deep_parse.yml | 244 +++++++++++ fixtures/vcr_cassettes/test_destroy.yml | 161 +++++++ fixtures/vcr_cassettes/test_get.yml | 163 +++++++ fixtures/vcr_cassettes/test_new_object.yml | 83 ++++ .../vcr_cassettes/test_nils_delete_keys.yml | 241 +++++++++++ fixtures/vcr_cassettes/test_object_id.yml | 83 ++++ fixtures/vcr_cassettes/test_parse_delete.yml | 317 ++++++++++++++ fixtures/vcr_cassettes/test_pointer.yml | 83 ++++ fixtures/vcr_cassettes/test_server_update.yml | 399 ++++++++++++++++++ fixtures/vcr_cassettes/test_simple_save.yml | 83 ++++ fixtures/vcr_cassettes/test_update.yml | 161 +++++++ fixtures/vcr_cassettes/test_updated_at.yml | 161 +++++++ fixtures/vcr_cassettes/test_user_save.yml | 83 ++++ test/helper.rb | 8 + test/test_client.rb | 76 ++-- test/test_cloud.rb | 10 +- test/test_object.rb | 116 ++--- test/test_query.rb | 66 +-- test/test_user.rb | 56 +-- 23 files changed, 2626 insertions(+), 147 deletions(-) create mode 100644 fixtures/vcr_cassettes/test_cloud_function.yml create mode 100644 fixtures/vcr_cassettes/test_created_at.yml create mode 100644 fixtures/vcr_cassettes/test_deep_parse.yml create mode 100644 fixtures/vcr_cassettes/test_destroy.yml create mode 100644 fixtures/vcr_cassettes/test_get.yml create mode 100644 fixtures/vcr_cassettes/test_new_object.yml create mode 100644 fixtures/vcr_cassettes/test_nils_delete_keys.yml create mode 100644 fixtures/vcr_cassettes/test_object_id.yml create mode 100644 fixtures/vcr_cassettes/test_parse_delete.yml create mode 100644 fixtures/vcr_cassettes/test_pointer.yml create mode 100644 fixtures/vcr_cassettes/test_server_update.yml create mode 100644 fixtures/vcr_cassettes/test_simple_save.yml create mode 100644 fixtures/vcr_cassettes/test_update.yml create mode 100644 fixtures/vcr_cassettes/test_updated_at.yml create mode 100644 fixtures/vcr_cassettes/test_user_save.yml diff --git a/Gemfile b/Gemfile index 3783832..f4eaa5c 100644 --- a/Gemfile +++ b/Gemfile @@ -6,13 +6,14 @@ source "http://rubygems.org" # Add dependencies to develop your gem here. # Include everything needed to run rake, tests, features, etc. group :development do + gem "bundler", "~> 1.1.5" gem "shoulda", ">= 0" gem "test-unit", '= 2.5.0' gem "mocha", '= 0.12.0', :require => false - gem "bundler", "~> 1.0.0" gem "jeweler", "~> 1.6.4" gem "rcov", ">= 0" + gem "webmock" + gem "vcr" end -gem "patron" -gem "vcr" +gem "patron" \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 30ab984..09a0784 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,8 @@ GEM remote: http://rubygems.org/ specs: + addressable (2.3.2) + crack (0.3.1) git (1.2.5) jeweler (1.6.4) bundler (~> 1.0) @@ -15,12 +17,15 @@ GEM shoulda (2.11.3) test-unit (2.5.0) vcr (2.0.1) + webmock (1.8.10) + addressable (>= 2.2.7) + crack (>= 0.1.7) PLATFORMS ruby DEPENDENCIES - bundler (~> 1.0.0) + bundler (~> 1.1.5) jeweler (~> 1.6.4) mocha (= 0.12.0) patron @@ -28,3 +33,4 @@ DEPENDENCIES shoulda test-unit (= 2.5.0) vcr + webmock diff --git a/fixtures/vcr_cassettes/test_cloud_function.yml b/fixtures/vcr_cassettes/test_cloud_function.yml new file mode 100644 index 0000000..86f40b7 --- /dev/null +++ b/fixtures/vcr_cassettes/test_cloud_function.yml @@ -0,0 +1,81 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.parse.com/1/functions/trivial + body: + encoding: UTF-8 + string: ! '{"foo":"bar"}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 200 + message: !binary |- + T0s= + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToyNSBHTVQ= + !binary "RXRhZw==": + - !binary |- + IjA4Mjc0OGIyN2FjM2RiZTJhMWQxNWMzM2RjMjFlODNkIg== + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxaRGxqTlRObU9HUTFabUZoTVRabU9HTmlaVEkyTldGalltRTJOamd5T1Rr + JTNELS1iN2U3YjFhZmEzY2M5NGVjMTk3NDk3ZTlkMDg4YmNhN2UwMmJjOWY4 + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MjUgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAwIE9L + !binary "WC1SdW50aW1l": + - !binary |- + MC4wNDkzNjA= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + MjQ= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJyZXN1bHQiOnsiZm9vIjoiYmFyIn19 + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:25 GMT +recorded_with: VCR 2.0.1 diff --git a/fixtures/vcr_cassettes/test_created_at.yml b/fixtures/vcr_cassettes/test_created_at.yml new file mode 100644 index 0000000..0107ae4 --- /dev/null +++ b/fixtures/vcr_cassettes/test_created_at.yml @@ -0,0 +1,83 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.parse.com/1/classes/Post + body: + encoding: UTF-8 + string: ! '{}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 201 + message: !binary |- + Q3JlYXRlZA== + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToyNiBHTVQ= + !binary "TG9jYXRpb24=": + - !binary |- + aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9Qb3N0L2F1NjJqZ0pj + S3g= + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxaamszTTJJMVptRTFPRFZqWXpGaU16ZzBZMk0zT1RRMllqUmlNamhoT1Rr + JTNELS0zZjczYmYxMmQ0Mzc0ZmJlOWNkMjY1NGM4MjQ0YjIwNWM2NjhhZWU2 + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MjYgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAxIENyZWF0ZWQ= + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMTYxMTU= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NjQ= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjI2LjE0NVoiLCJvYmpl + Y3RJZCI6ImF1NjJqZ0pjS3gifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:26 GMT +recorded_with: VCR 2.0.1 diff --git a/fixtures/vcr_cassettes/test_deep_parse.yml b/fixtures/vcr_cassettes/test_deep_parse.yml new file mode 100644 index 0000000..299c56d --- /dev/null +++ b/fixtures/vcr_cassettes/test_deep_parse.yml @@ -0,0 +1,244 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.parse.com/1/classes/Post + body: + encoding: UTF-8 + string: ! '{}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 201 + message: !binary |- + Q3JlYXRlZA== + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToyNyBHTVQ= + !binary "TG9jYXRpb24=": + - !binary |- + aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9Qb3N0L1p3Zk9vbmZH + TEM= + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxaVEkzWWpZNU1XSTRaV1l3TUdSaFpqWTJZVGczTmpCalpXSmxOekV6WW1N + JTNELS05NTViMDQ2OWExMDgzZmUwNzIyYThmZGYzYjEyYWY1YWExNDFkOGY4 + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MjcgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAxIENyZWF0ZWQ= + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMjE3ODA= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NjQ= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjI3LjU2NloiLCJvYmpl + Y3RJZCI6Ilp3Zk9vbmZHTEMifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:27 GMT +- request: + method: post + uri: https://api.parse.com/1/classes/Post + body: + encoding: UTF-8 + string: ! '{"other":{"__type":"Pointer","className":"Post","objectId":"ZwfOonfGLC"}}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 201 + message: !binary |- + Q3JlYXRlZA== + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToyNyBHTVQ= + !binary "TG9jYXRpb24=": + - !binary |- + aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9Qb3N0L0hvckhJQ25N + REE= + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxOV1F6TmpFMU1tWmhOekUwTkRFNU5ESTJaV1kwTTJaaU4yRTVNR05rWXpn + JTNELS04YTFlYmRmNDZkZGMyNjQ3MDVkNDI4NzQ5ODA1YTc0M2YwM2EwNTQz + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MjcgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAxIENyZWF0ZWQ= + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMTgyMDc= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NjQ= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjI3LjYwM1oiLCJvYmpl + Y3RJZCI6IkhvckhJQ25NREEifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:27 GMT +- request: + method: get + uri: https://api.parse.com/1/classes/Post/HorHICnMDA + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 200 + message: !binary |- + T0s= + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToyNyBHTVQ= + !binary "RXRhZw==": + - !binary |- + ImU4Y2ZiYjM5ODg1ZGI2ZGE0NTFmYmJhMDMzMDdlYTY1Ig== + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxabUl4T0dKalptUXdNRFU1T1RjeFpERTNObUkyWlRGbU1USTJaams1Tnpr + JTNELS1lODE1YTU1NjU5ZWEwNWM4NTNiM2U4NDE4OWIxMWEyNmEwNDg3MmU0 + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MjcgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAwIE9L + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMjE1OTM= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + MTc1 + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJvdGhlciI6eyJfX3R5cGUiOiJQb2ludGVyIiwiY2xhc3NOYW1lIjoiUG9z + dCIsIm9iamVjdElkIjoiWndmT29uZkdMQyJ9LCJjcmVhdGVkQXQiOiIyMDEy + LTEwLTA5VDIxOjQ1OjI3LjYwM1oiLCJ1cGRhdGVkQXQiOiIyMDEyLTEwLTA5 + VDIxOjQ1OjI3LjYwM1oiLCJvYmplY3RJZCI6IkhvckhJQ25NREEifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:27 GMT +recorded_with: VCR 2.0.1 diff --git a/fixtures/vcr_cassettes/test_destroy.yml b/fixtures/vcr_cassettes/test_destroy.yml new file mode 100644 index 0000000..59da8b3 --- /dev/null +++ b/fixtures/vcr_cassettes/test_destroy.yml @@ -0,0 +1,161 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.parse.com/1/classes/toBeDeleted + body: + encoding: UTF-8 + string: ! '{"foo":"bar"}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 201 + message: !binary |- + Q3JlYXRlZA== + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToxNyBHTVQ= + !binary "TG9jYXRpb24=": + - !binary |- + aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy90b0JlRGVsZXRlZC9n + bzA3TFFES3Nx + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxabVZrWVRRek9EUm1NV0V4WTJWaE56SmlOREl3WWpKall6RTFaRFEzWVdJ + JTNELS01MGQ2ZTBiOWUzMWI3OGYwYmYzMzMwMTZhMDg2NDAyYjFhNjZmMzUw + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MTcgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAxIENyZWF0ZWQ= + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMTc3OTU= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NjQ= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjE3Ljc2N1oiLCJvYmpl + Y3RJZCI6ImdvMDdMUURLc3EifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:18 GMT +- request: + method: delete + uri: https://api.parse.com/1/classes/toBeDeleted/go07LQDKsq + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 200 + message: !binary |- + T0s= + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToxNyBHTVQ= + !binary "RXRhZw==": + - !binary |- + Ijk5OTE0YjkzMmJkMzdhNTBiOTgzYzVlN2M5MGFlOTNiIg== + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxZbVk0WWpjM01UbGtaREJpWm1SbU1Ua3paVGMzTURjeE5UWXlORFE0WVdV + JTNELS03YzViNGUwMTQ0MWY3MjE0N2FiOGZiYWZkNDUyYWY5YTllODBhYTJk + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MTcgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAwIE9L + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMjgyMDI= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + Mg== + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + e30= + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:18 GMT +recorded_with: VCR 2.0.1 diff --git a/fixtures/vcr_cassettes/test_get.yml b/fixtures/vcr_cassettes/test_get.yml new file mode 100644 index 0000000..14e54bd --- /dev/null +++ b/fixtures/vcr_cassettes/test_get.yml @@ -0,0 +1,163 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.parse.com/1/classes/Post + body: + encoding: UTF-8 + string: ! '{"title":"foo"}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 201 + message: !binary |- + Q3JlYXRlZA== + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NTozMiBHTVQ= + !binary "TG9jYXRpb24=": + - !binary |- + aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9Qb3N0L0VEUHEyZmhE + UjQ= + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxZemMwTTJGbU9EZGtaakJrTVRZNE9UbGpOR1poTVRZMFlUTTVaRFE1WlRZ + JTNELS1mZmQ1OGVmYzAwZGMwYmMzZTEwOTE1NmQyNDllOTMwYzRhMjgzZDBj + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MzIgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAxIENyZWF0ZWQ= + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMTM2NTU= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NjQ= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjMyLjcxNloiLCJvYmpl + Y3RJZCI6IkVEUHEyZmhEUjQifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:32 GMT +- request: + method: get + uri: https://api.parse.com/1/classes/Post/EDPq2fhDR4 + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 200 + message: !binary |- + T0s= + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NTozMiBHTVQ= + !binary "RXRhZw==": + - !binary |- + IjU2YzU5MTZlZDdiOTlhMzhkZmFhNzVkZGNmNWI1YTNmIg== + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxaVFEwWlRobE5tSTNZVFpoWm1JMU1UUTJPV0kyWXpZNVpqaGhOMk00T0dF + JTNELS01NjMwYjQ3N2RkZjQ1ZTFkZjJlODVjMDk2ZDhhYjk2YjNiYWY5OTgw + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MzIgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAwIE9L + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMzQ1NjY= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + MTE3 + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJ0aXRsZSI6ImZvbyIsImNyZWF0ZWRBdCI6IjIwMTItMTAtMDlUMjE6NDU6 + MzIuNzE2WiIsInVwZGF0ZWRBdCI6IjIwMTItMTAtMDlUMjE6NDU6MzIuNzE2 + WiIsIm9iamVjdElkIjoiRURQcTJmaERSNCJ9 + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:33 GMT +recorded_with: VCR 2.0.1 diff --git a/fixtures/vcr_cassettes/test_new_object.yml b/fixtures/vcr_cassettes/test_new_object.yml new file mode 100644 index 0000000..a8389d6 --- /dev/null +++ b/fixtures/vcr_cassettes/test_new_object.yml @@ -0,0 +1,83 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.parse.com/1/classes/Post + body: + encoding: UTF-8 + string: ! '{}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 201 + message: !binary |- + Q3JlYXRlZA== + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NTozMCBHTVQ= + !binary "TG9jYXRpb24=": + - !binary |- + aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9Qb3N0L09vdEtkRlR3 + d3M= + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxNek13T0dNMk5qWmlZVEE0TURnd1lqWTFOV1V4WldZellUbG1NVGhoWVRn + JTNELS0yOGM4NTE4YTk1YTlhODc0YWIwZWMyMTY5NmE0Y2MwNGEzNTcwZDAy + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MzAgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAxIENyZWF0ZWQ= + !binary "WC1SdW50aW1l": + - !binary |- + MC4xNDEwNDU= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NjQ= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjI5Ljg3NFoiLCJvYmpl + Y3RJZCI6Ik9vdEtkRlR3d3MifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:30 GMT +recorded_with: VCR 2.0.1 diff --git a/fixtures/vcr_cassettes/test_nils_delete_keys.yml b/fixtures/vcr_cassettes/test_nils_delete_keys.yml new file mode 100644 index 0000000..c4adbf6 --- /dev/null +++ b/fixtures/vcr_cassettes/test_nils_delete_keys.yml @@ -0,0 +1,241 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.parse.com/1/classes/Post + body: + encoding: UTF-8 + string: ! '{"title":"hello"}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 201 + message: !binary |- + Q3JlYXRlZA== + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NTozMSBHTVQ= + !binary "TG9jYXRpb24=": + - !binary |- + aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9Qb3N0L3g5Tmk5RkM2 + clU= + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxaR0poWkdJM05EQm1OVFkwT1RZd1lXVmlObU5tTlRkbVkySXpPVGRtWTJF + JTNELS05YzRkMTE3M2ZkZDI4ODcyNzU3NmUxOTIzOWM3MmIxN2Q0N2MxMDkw + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MzEgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAxIENyZWF0ZWQ= + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMTU4OTA= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NjQ= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjMxLjIxN1oiLCJvYmpl + Y3RJZCI6Ing5Tmk5RkM2clUifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:31 GMT +- request: + method: put + uri: https://api.parse.com/1/classes/Post/x9Ni9FC6rU + body: + encoding: UTF-8 + string: ! '{"title":{"__op":"Delete"}}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 200 + message: !binary |- + T0s= + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NTozMSBHTVQ= + !binary "RXRhZw==": + - !binary |- + ImMzMTVlMGI3MjQ1Mzg5NTNhODg1NDA3Y2U3NjE5M2JhIg== + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxOVEppWmpkbVlqbGlPVEExTlRBNVlUQmhabVV3T1dVeVpUVTROV1l4WVRJ + JTNELS02YmQzOTUzNmViOTM3NzBkN2JhYmE4YTM5N2E0ZTM1NjJlNDNhN2E1 + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MzEgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAwIE9L + !binary "WC1SdW50aW1l": + - !binary |- + MC4wNDEzOTI= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NDA= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJ1cGRhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjMxLjMyNVoifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:31 GMT +- request: + method: get + uri: https://api.parse.com/1/classes/Post/x9Ni9FC6rU + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 200 + message: !binary |- + T0s= + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NTozMSBHTVQ= + !binary "RXRhZw==": + - !binary |- + IjU4YWU4OWE5OWYwZWNhODBkMjJmY2JkZWQzYzczYzIwIg== + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxZbUpsWWpCalkySm1aVEEwTkRObU5tWXdPR1JtTTJGaE16YzFNR0ZpTXpJ + JTNELS1lOWFiYmZjNjhlOTNlM2U0NGMzZDEyZWFkNDZhNDg0MzdkMjhkOGVh + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MzEgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAwIE9L + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMzg5OTg= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + MTAz + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjMxLjIxN1oiLCJ1cGRh + dGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjMxLjMyNVoiLCJvYmplY3RJZCI6 + Ing5Tmk5RkM2clUifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:31 GMT +recorded_with: VCR 2.0.1 diff --git a/fixtures/vcr_cassettes/test_object_id.yml b/fixtures/vcr_cassettes/test_object_id.yml new file mode 100644 index 0000000..1283fc6 --- /dev/null +++ b/fixtures/vcr_cassettes/test_object_id.yml @@ -0,0 +1,83 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.parse.com/1/classes/Post + body: + encoding: UTF-8 + string: ! '{"title":"hello world"}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 201 + message: !binary |- + Q3JlYXRlZA== + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NTozMSBHTVQ= + !binary "TG9jYXRpb24=": + - !binary |- + aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9Qb3N0L1hBV2htNmlU + Nm0= + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxaVFV5T1Rnd05qa3lZbVZoTmpCbVkySm1NVFl4WWpBNVpUVmhNamt6TnpZ + JTNELS00ZmM0MmY1MWQ3ZjdiMjY1MGNkM2RjM2U2YmY5MmQ3Y2M3NzFhMzNh + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MzEgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAxIENyZWF0ZWQ= + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMjUxNzM= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NjQ= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjMxLjUyMVoiLCJvYmpl + Y3RJZCI6IlhBV2htNmlUNm0ifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:31 GMT +recorded_with: VCR 2.0.1 diff --git a/fixtures/vcr_cassettes/test_parse_delete.yml b/fixtures/vcr_cassettes/test_parse_delete.yml new file mode 100644 index 0000000..2e54ec4 --- /dev/null +++ b/fixtures/vcr_cassettes/test_parse_delete.yml @@ -0,0 +1,317 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.parse.com/1/classes/Post + body: + encoding: UTF-8 + string: ! '{}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 201 + message: !binary |- + Q3JlYXRlZA== + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NTozMSBHTVQ= + !binary "TG9jYXRpb24=": + - !binary |- + aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9Qb3N0L2xzN1lJb2Yy + cUY= + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxNRGt3WTJGak4yWTNOamxtTVdKbE1qTTBNMkZoTXpnM056RTRPR013TVdR + JTNELS0wMjEwMjZiNGZlYWYwYjY4MjRjMGUyNmI2YWVlMDA5NjNhYTk0ODFk + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MzEgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAxIENyZWF0ZWQ= + !binary "WC1SdW50aW1l": + - !binary |- + MC4yNDc3MDA= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NjQ= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjMxLjg1NloiLCJvYmpl + Y3RJZCI6ImxzN1lJb2YycUYifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:32 GMT +- request: + method: get + uri: https://api.parse.com/1/classes/Post/ls7YIof2qF + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 200 + message: !binary |- + T0s= + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NTozMiBHTVQ= + !binary "RXRhZw==": + - !binary |- + ImM5YzQ4Y2FkMTE0ZGQ0M2Q0YjVlNDVlYjc2ODBlMmJkIg== + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxZMlV3TmpjMlpEZzNNMlEwWTJFNU5qYzJaakZoWXpJd05tWmxZMk5rT1RB + JTNELS0yNzg2MDU4ZjhlM2EyYmNmYWM5MzJiMmRiN2JkZTg2M2UxMDMwMTgy + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MzIgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAwIE9L + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMzEyMTM= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + MTAz + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjMxLjg1NloiLCJ1cGRh + dGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjMxLjg1NloiLCJvYmplY3RJZCI6 + ImxzN1lJb2YycUYifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:32 GMT +- request: + method: delete + uri: https://api.parse.com/1/classes/Post/ls7YIof2qF + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 200 + message: !binary |- + T0s= + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NTozMiBHTVQ= + !binary "RXRhZw==": + - !binary |- + Ijk5OTE0YjkzMmJkMzdhNTBiOTgzYzVlN2M5MGFlOTNiIg== + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxaVE0xTTJVNE1qZGhNR1UyWlRZMlpEQmlPVE01TnpSaFptTTFNalpsWTJF + JTNELS1mODE4M2U1YmZlYjM0MjRjOWIxNzVlM2NlM2E3Y2JlMTNkOTc3N2Yy + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MzIgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAwIE9L + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMjk5OTE= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + Mg== + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + e30= + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:32 GMT +- request: + method: get + uri: https://api.parse.com/1/classes/Post/ls7YIof2qF + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 404 + message: !binary |- + Tm90IEZvdW5k + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NTozMiBHTVQ= + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxNekk0TTJVNU1tTmhOVGN6WkRBMFpUTTBORFUyWldKa1l6STNNV0ZoTmpn + JTNELS05NmQ2MzQ5YjFjZDVjMjRhMmIzODA5NmYyOGVlMDdkN2RlYzIyNjcz + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MzIgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + NDA0IE5vdCBGb3VuZA== + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMjE0NDk= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NDc= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjb2RlIjoxMDEsImVycm9yIjoib2JqZWN0IG5vdCBmb3VuZCBmb3IgZ2V0 + In0= + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:32 GMT +recorded_with: VCR 2.0.1 diff --git a/fixtures/vcr_cassettes/test_pointer.yml b/fixtures/vcr_cassettes/test_pointer.yml new file mode 100644 index 0000000..170dc20 --- /dev/null +++ b/fixtures/vcr_cassettes/test_pointer.yml @@ -0,0 +1,83 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.parse.com/1/classes/Post + body: + encoding: UTF-8 + string: ! '{}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 201 + message: !binary |- + Q3JlYXRlZA== + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NTozMiBHTVQ= + !binary "TG9jYXRpb24=": + - !binary |- + aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9Qb3N0L09mTVQ5alJD + Rm0= + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxZbVl6WVRWa056Z3pNV1poTldNM09UUTBNVGhpWlRKa1l6ZGxaRGs0WTJJ + JTNELS02ZWM1M2NkM2Q3ZmE0ZTM5MmQyZTEyMDUxZDgxZGUzNjhjZjVlZWE4 + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MzIgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAxIENyZWF0ZWQ= + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMjYyMTQ= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NjQ= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjMyLjM2NFoiLCJvYmpl + Y3RJZCI6Ik9mTVQ5alJDRm0ifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:32 GMT +recorded_with: VCR 2.0.1 diff --git a/fixtures/vcr_cassettes/test_server_update.yml b/fixtures/vcr_cassettes/test_server_update.yml new file mode 100644 index 0000000..aaf62e1 --- /dev/null +++ b/fixtures/vcr_cassettes/test_server_update.yml @@ -0,0 +1,399 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.parse.com/1/classes/TestSave + body: + encoding: UTF-8 + string: ! '{}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 201 + message: !binary |- + Q3JlYXRlZA== + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToxOSBHTVQ= + !binary "TG9jYXRpb24=": + - !binary |- + aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9UZXN0U2F2ZS92a2pT + d0JLc1RN + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxOMk5rT1RBek9USmpPR014TkRJd1lUaGhOamc1WTJNMU1qSTFNakppWTJV + JTNELS02YWJiNThlYWNmMTk2NjU2OTkxYWQ0NzVkY2U2NDQyZWNlMDhkYzdk + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MTkgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAxIENyZWF0ZWQ= + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMzMwNTM= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NjQ= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjE5LjA3NVoiLCJvYmpl + Y3RJZCI6InZralN3QktzVE0ifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:19 GMT +- request: + method: put + uri: https://api.parse.com/1/classes/TestSave/vkjSwBKsTM + body: + encoding: UTF-8 + string: ! '{"name":"john"}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 200 + message: !binary |- + T0s= + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToxOSBHTVQ= + !binary "RXRhZw==": + - !binary |- + IjM0MTAxZjA3OTUyMGM0ZjE2NTI0NGI1OWU5MjI2OGZlIg== + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxZakF6TkdKaU9URmlZalkxT1RGalpUQTRZak00WldGaE16WTVNR0pqTURF + JTNELS01Y2MwYjkzMjZkZTQ4MzJkNGE2NTU1OWZlNjc4YjVhMTdkYjM2Njk5 + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MTkgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAwIE9L + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMjI3MTY= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NDA= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJ1cGRhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjE5LjEyMVoifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:19 GMT +- request: + method: get + uri: https://api.parse.com/1/classes/TestSave/vkjSwBKsTM + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 200 + message: !binary |- + T0s= + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToxOSBHTVQ= + !binary "RXRhZw==": + - !binary |- + IjZmNmY0MmYwYmZmMjdjOTIyMzhjMmYxMGFhNDg4ZGUyIg== + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxZemt5T0dRellqSXdaRFUyWXpVNU1tRTBOR0kyWTJObFpqUTRPRFZqTWpB + JTNELS01MWJhOGE3NGUyY2Q5NDhhNzZmNzc4ODQxNTRlZDQ1YmZmZGJjMTc2 + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MTkgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAwIE9L + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMjM3NzY= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + MTE3 + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJuYW1lIjoiam9obiIsImNyZWF0ZWRBdCI6IjIwMTItMTAtMDlUMjE6NDU6 + MTkuMDc1WiIsInVwZGF0ZWRBdCI6IjIwMTItMTAtMDlUMjE6NDU6MTkuMTIx + WiIsIm9iamVjdElkIjoidmtqU3dCS3NUTSJ9 + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:19 GMT +- request: + method: put + uri: https://api.parse.com/1/classes/TestSave/vkjSwBKsTM + body: + encoding: UTF-8 + string: ! '{"name":"dave"}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 200 + message: !binary |- + T0s= + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToxOSBHTVQ= + !binary "RXRhZw==": + - !binary |- + IjA3Yzk3NGMyNGZjNzVhNDdkYzM1NjE5NGEwODNjMmUzIg== + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxaak0xTUdJek9EUmpOakl3TlRNeFpHTmxOVEpqTW1ZM056bGxPRFZqWmpn + JTNELS1mOTgxZDQ0MTZiNjZjOTQxM2FiMWM4ZmY4YmYyODAyMzM1MjJlNzFj + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MTkgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAwIE9L + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMjU2MDI= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NDA= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJ1cGRhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjE5LjMwMFoifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:19 GMT +- request: + method: get + uri: https://api.parse.com/1/classes/TestSave/vkjSwBKsTM + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 200 + message: !binary |- + T0s= + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToxOSBHTVQ= + !binary "RXRhZw==": + - !binary |- + ImQ2OWI4YzJjMjJmNGVkMmM3ZjQyODQ2NmE5Y2U4YjIwIg== + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxZVGRsTkRSaU9XSXhNRGcwTjJJNU5XWmhabVJrT1RZd09XUXhaR0ptWVdV + JTNELS0zMTA1NjFjYTM1MmFhNDc4ZjE1ODE0YjRjZTU4ZTc3M2E3ZDY0ZWEz + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MTkgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAwIE9L + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMjM4NTc= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + MTE3 + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJuYW1lIjoiZGF2ZSIsImNyZWF0ZWRBdCI6IjIwMTItMTAtMDlUMjE6NDU6 + MTkuMDc1WiIsInVwZGF0ZWRBdCI6IjIwMTItMTAtMDlUMjE6NDU6MTkuMzAw + WiIsIm9iamVjdElkIjoidmtqU3dCS3NUTSJ9 + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:19 GMT +recorded_with: VCR 2.0.1 diff --git a/fixtures/vcr_cassettes/test_simple_save.yml b/fixtures/vcr_cassettes/test_simple_save.yml new file mode 100644 index 0000000..1d70125 --- /dev/null +++ b/fixtures/vcr_cassettes/test_simple_save.yml @@ -0,0 +1,83 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.parse.com/1/classes/TestSave + body: + encoding: UTF-8 + string: ! '{"foo":"bar"}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 201 + message: !binary |- + Q3JlYXRlZA== + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToxOSBHTVQ= + !binary "TG9jYXRpb24=": + - !binary |- + aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9UZXN0U2F2ZS9EOFpY + MlFkV0tW + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxNbVl3WTJFeE16STRPV1JrT1RnNE5qUmxaV0psWWpka01qWmpZekZrTm1J + JTNELS00MGI2MGE3ZmM3ZGRiZmU2NzBmYzdmNWQwOGNmODAwMDVkMGY5MmY5 + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MTkgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAxIENyZWF0ZWQ= + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMzE3Mjg= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NjQ= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjE5LjUxOVoiLCJvYmpl + Y3RJZCI6IkQ4WlgyUWRXS1YifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:19 GMT +recorded_with: VCR 2.0.1 diff --git a/fixtures/vcr_cassettes/test_update.yml b/fixtures/vcr_cassettes/test_update.yml new file mode 100644 index 0000000..89d8d7a --- /dev/null +++ b/fixtures/vcr_cassettes/test_update.yml @@ -0,0 +1,161 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.parse.com/1/classes/TestSave + body: + encoding: UTF-8 + string: ! '{"age":20}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 201 + message: !binary |- + Q3JlYXRlZA== + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToyMCBHTVQ= + !binary "TG9jYXRpb24=": + - !binary |- + aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9UZXN0U2F2ZS9LOWRB + M0FnMUlo + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxPV00xTURneE5ERXdNMlUzWW1Ka1l6aGhZalJtT0RVMVptTTNOREJpWXpZ + JTNELS00ZGEyZDM2YTZhNGYzYjM4ODFkNmQ4NTI1ZTJiMDNjMjdmNGQ3NDg2 + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MjAgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAxIENyZWF0ZWQ= + !binary "WC1SdW50aW1l": + - !binary |- + MC4xMTM2NjE= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NjQ= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjIwLjcyNloiLCJvYmpl + Y3RJZCI6Iks5ZEEzQWcxSWgifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:21 GMT +- request: + method: put + uri: https://api.parse.com/1/classes/TestSave/K9dA3Ag1Ih + body: + encoding: UTF-8 + string: ! '{"age":40}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 200 + message: !binary |- + T0s= + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToyNCBHTVQ= + !binary "RXRhZw==": + - !binary |- + Ijg4YmNhYjgxNDczMjI1MmRhMDY5MTliYmUxYTcyOWRhIg== + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxPR013TWprME1XUTBZelppTjJNMk1EVTJNVFZpTVRobVlXSmhOalJpTkRr + JTNELS0yNmU3YTJjZjE5N2U4MzFiNDkzODIwM2VhMWYxMGNiMjg0NTc3MDg4 + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MjQgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAwIE9L + !binary "WC1SdW50aW1l": + - !binary |- + MC4xNTE0ODc= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NDA= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJ1cGRhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjI0Ljc2MFoifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:25 GMT +recorded_with: VCR 2.0.1 diff --git a/fixtures/vcr_cassettes/test_updated_at.yml b/fixtures/vcr_cassettes/test_updated_at.yml new file mode 100644 index 0000000..e1817fc --- /dev/null +++ b/fixtures/vcr_cassettes/test_updated_at.yml @@ -0,0 +1,161 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.parse.com/1/classes/Post + body: + encoding: UTF-8 + string: ! '{"title":"hello"}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 201 + message: !binary |- + Q3JlYXRlZA== + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NTozMiBHTVQ= + !binary "TG9jYXRpb24=": + - !binary |- + aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9Qb3N0LzNiODJoeWI2 + UUY= + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxPR1ZrTVdWbFpqWmpZbU5qWVdNell6Tm1NMk5rTmpoa09UTTFZV1pqTjJZ + JTNELS05N2M1NmUwNDBmMWUyMGQ3MmZlNzA0MGRhOGViZjFlYWM1ZjYwMGNm + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MzIgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAxIENyZWF0ZWQ= + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMTg5OTc= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NjQ= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjMyLjQ4OFoiLCJvYmpl + Y3RJZCI6IjNiODJoeWI2UUYifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:32 GMT +- request: + method: put + uri: https://api.parse.com/1/classes/Post/3b82hyb6QF + body: + encoding: UTF-8 + string: ! '{"title":"hello 2"}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 200 + message: !binary |- + T0s= + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NTozMiBHTVQ= + !binary "RXRhZw==": + - !binary |- + IjhhZTRmMTQzOGY1ZWM3M2Q1NzkyMDdjZTg5MjVmYTFjIg== + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxZVFJpTlRabFkyRXpaVGMyWWpCaFl6SmhaV1l6TnpsaE1XTTFaakl6WldZ + JTNELS1hYTJkNjdlN2FkNjZhODBlZGRmMTk5OTJjZjg4YmFiYWU1NDJiNzVm + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MzIgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAwIE9L + !binary "WC1SdW50aW1l": + - !binary |- + MC4wMzUwODU= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + NDA= + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJ1cGRhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjMyLjU5N1oifQ== + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:32 GMT +recorded_with: VCR 2.0.1 diff --git a/fixtures/vcr_cassettes/test_user_save.yml b/fixtures/vcr_cassettes/test_user_save.yml new file mode 100644 index 0000000..caf5e48 --- /dev/null +++ b/fixtures/vcr_cassettes/test_user_save.yml @@ -0,0 +1,83 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.parse.com/1/users + body: + encoding: UTF-8 + string: ! '{"username":"0.71975770632902","password":"topsecret"}' + headers: + Content-Type: + - application/json + Accept: + - application/json + User-Agent: + - Parse for Ruby, 0.0 + X-Parse-Master-Key: + - '' + X-Parse-Rest-Api-Key: + - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ + X-Parse-Application-Id: + - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT + X-Parse-Session-Token: + - '' + Expect: + - '' + response: + status: + code: 201 + message: !binary |- + Q3JlYXRlZA== + headers: + !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": + - !binary |- + Kg== + !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=": + - !binary |- + Kg== + !binary "Q2FjaGUtQ29udHJvbA==": + - !binary |- + bm8tY2FjaGU= + !binary "Q29udGVudC1UeXBl": + - !binary |- + YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== + !binary "RGF0ZQ==": + - !binary |- + VHVlLCAwOSBPY3QgMjAxMiAyMTo0NTozNCBHTVQ= + !binary "TG9jYXRpb24=": + - !binary |- + aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvdXNlcnMvTDlnWm1FVkZFSA== + !binary "U2VydmVy": + - !binary |- + bmdpbngvMS4yLjI= + !binary "U2V0LUNvb2tpZQ==": + - !binary |- + X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp + SWxORE5pWXpWaFpUSTRNVE00TWprd016YzBPRFk0TXpSaFpHSTRZamsxTXpr + JTNELS00MWE4YTBmMzNjZGQ3NjU5MDIyNmNhZWNiMjY0Y2FlNjFlOTM4N2Zj + OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt + T2N0LTIwMjIgMjE6NDU6MzQgR01UOyBzZWN1cmU7IEh0dHBPbmx5 + !binary "U3RhdHVz": + - !binary |- + MjAxIENyZWF0ZWQ= + !binary "WC1SdW50aW1l": + - !binary |- + MC4yNDczNTA= + !binary "WC1VYS1Db21wYXRpYmxl": + - !binary |- + SUU9RWRnZSxjaHJvbWU9MQ== + !binary "Q29udGVudC1MZW5ndGg=": + - !binary |- + MTA3 + !binary "Q29ubmVjdGlvbg==": + - !binary |- + a2VlcC1hbGl2ZQ== + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjM0LjI4N1oiLCJvYmpl + Y3RJZCI6Ikw5Z1ptRVZGRUgiLCJzZXNzaW9uVG9rZW4iOiJjejU0YmtmMm8w + eXg4dDF5cnpvMndjMHE4In0= + http_version: + recorded_at: Tue, 09 Oct 2012 21:45:34 GMT +recorded_with: VCR 2.0.1 diff --git a/test/helper.rb b/test/helper.rb index bc1b6bf..dd5c31d 100644 --- a/test/helper.rb +++ b/test/helper.rb @@ -10,6 +10,14 @@ require 'test/unit' require 'shoulda' require 'mocha' +require 'vcr' +require 'webmock/test_unit' + +VCR.configure do |c| + c.cassette_library_dir = 'fixtures/vcr_cassettes' + c.hook_into :webmock # or :fakeweb + c.allow_http_connections_when_no_cassette = true +end $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) $LOAD_PATH.unshift(File.dirname(__FILE__)) diff --git a/test/test_client.rb b/test/test_client.rb index 68c6cb7..72cec1f 100644 --- a/test/test_client.rb +++ b/test/test_client.rb @@ -6,56 +6,64 @@ def setup end def test_simple_save - test_save = Parse::Object.new "TestSave" - test_save["foo"] = "bar" - test_save.save + VCR.use_cassette('test_simple_save', :record => :new_episodes) do + test_save = Parse::Object.new "TestSave" + test_save["foo"] = "bar" + test_save.save - assert_equal test_save["foo"], "bar" - assert_equal test_save[Parse::Protocol::KEY_CREATED_AT].class, String - assert_equal test_save[Parse::Protocol::KEY_OBJECT_ID].class, String + assert_equal test_save["foo"], "bar" + assert_equal test_save[Parse::Protocol::KEY_CREATED_AT].class, String + assert_equal test_save[Parse::Protocol::KEY_OBJECT_ID].class, String + end end def test_update - foo = Parse::Object.new "TestSave" - foo["age"] = 20 - foo.save + VCR.use_cassette('test_update', :record => :new_episodes) do + foo = Parse::Object.new "TestSave" + foo["age"] = 20 + foo.save - assert_equal foo["age"], 20 - assert_equal foo[Parse::Protocol::KEY_UPDATED_AT], nil + assert_equal foo["age"], 20 + assert_equal foo[Parse::Protocol::KEY_UPDATED_AT], nil - foo["age"] = 40 - orig = foo.dup - foo.save + foo["age"] = 40 + orig = foo.dup + foo.save - assert_equal foo["age"], 40 - assert_equal foo[Parse::Protocol::KEY_UPDATED_AT].class, String + assert_equal foo["age"], 40 + assert_equal foo[Parse::Protocol::KEY_UPDATED_AT].class, String - # only difference should be updatedAt - orig_assoc = orig.reject{|k,v| k == Parse::Protocol::KEY_UPDATED_AT}.to_a - foo_assoc = foo.reject{|k,v| k == Parse::Protocol::KEY_UPDATED_AT}.to_a - assert_equal foo_assoc, orig_assoc + # only difference should be updatedAt + orig_assoc = orig.reject{|k,v| k == Parse::Protocol::KEY_UPDATED_AT}.to_a + foo_assoc = foo.reject{|k,v| k == Parse::Protocol::KEY_UPDATED_AT}.to_a + assert_equal foo_assoc, orig_assoc + end end def test_server_update - foo = Parse::Object.new("TestSave").save - foo["name"] = 'john' - foo.save + VCR.use_cassette('test_server_update', :record => :new_episodes) do + foo = Parse::Object.new("TestSave").save + foo["name"] = 'john' + foo.save - bar = Parse.get("TestSave",foo.id) # pull it from the server - assert_equal bar["name"], 'john' - bar["name"] = 'dave' - bar.save + bar = Parse.get("TestSave",foo.id) # pull it from the server + assert_equal bar["name"], 'john' + bar["name"] = 'dave' + bar.save - bat = Parse.get("TestSave",foo.id) - assert_equal bat["name"], 'dave' + bat = Parse.get("TestSave",foo.id) + assert_equal bat["name"], 'dave' + end end def test_destroy - d = Parse::Object.new "toBeDeleted" - d["foo"] = "bar" - d.save - d.parse_delete + VCR.use_cassette('test_destroy', :record => :new_episodes) do + d = Parse::Object.new "toBeDeleted" + d["foo"] = "bar" + d.save + d.parse_delete - assert_equal d.keys.length, 0 + assert_equal d.keys.length, 0 + end end end diff --git a/test/test_cloud.rb b/test/test_cloud.rb index b7e9dad..2495173 100644 --- a/test/test_cloud.rb +++ b/test/test_cloud.rb @@ -19,9 +19,11 @@ def test_cloud_function_initialize end def test_cloud_function - function = Parse::Cloud::Function.new("trivial") - params = {} - resp = function.call(params) - assert_equal resp, params + VCR.use_cassette('test_cloud_function', :record => :new_episodes) do + function = Parse::Cloud::Function.new("trivial") + params = {"foo" => "bar"} + resp = function.call(params) + assert_equal resp, params + end end end \ No newline at end of file diff --git a/test/test_object.rb b/test/test_object.rb index 0453725..05e4a90 100644 --- a/test/test_object.rb +++ b/test/test_object.rb @@ -6,81 +6,97 @@ def setup end def test_new? - post = Parse::Object.new "Post" - assert_equal post.new?, true - post.save - assert_equal post.new?, false + VCR.use_cassette('test_new_object', :record => :new_episodes) do + post = Parse::Object.new "Post" + assert_equal post.new?, true + post.save + assert_equal post.new?, false + end end - def test_id - post = Parse::Object.new "Post" - assert_equal post.id, nil - post["title"] = "hello world" - post.save - assert_equal post.id.class, String + def test_object_id + VCR.use_cassette('test_object_id', :record => :new_episodes) do + post = Parse::Object.new "Post" + assert_equal post.id, nil + post["title"] = "hello world" + post.save + assert_equal post.id.class, String + end end def test_pointer - post = Parse::Object.new "Post" - assert_nil post.pointer + VCR.use_cassette('test_pointer', :record => :new_episodes) do + post = Parse::Object.new "Post" + assert_nil post.pointer - post.save - pointer = post.pointer - assert_equal pointer.class_name, post.class_name - assert_equal pointer.parse_object_id, post.parse_object_id + post.save + pointer = post.pointer + assert_equal pointer.class_name, post.class_name + assert_equal pointer.parse_object_id, post.parse_object_id + end end def test_created_at - post = Parse::Object.new "Post" - assert_equal post.created_at, nil - post.save - assert_equal post.created_at.class, DateTime + VCR.use_cassette('test_created_at', :record => :new_episodes) do + post = Parse::Object.new "Post" + assert_equal post.created_at, nil + post.save + assert_equal post.created_at.class, DateTime + end end def test_updated_at - post = Parse::Object.new "Post" - assert_equal post.updated_at, nil - post["title"] = "hello" - post.save - assert_equal post.updated_at, nil - post["title"] = "hello 2" - post.save - assert_equal post.updated_at.class, DateTime + VCR.use_cassette('test_updated_at', :record => :new_episodes) do + post = Parse::Object.new "Post" + assert_equal post.updated_at, nil + post["title"] = "hello" + post.save + assert_equal post.updated_at, nil + post["title"] = "hello 2" + post.save + assert_equal post.updated_at.class, DateTime + end end def test_parse_delete - post = Parse::Object.new "Post" - post.save - assert_equal post.id.class, String + VCR.use_cassette('test_parse_delete', :record => :new_episodes) do + post = Parse::Object.new "Post" + post.save + assert_equal post.id.class, String - q = Parse.get("Post", post.id) - assert_equal q.id, post.id + q = Parse.get("Post", post.id) + assert_equal q.id, post.id - post.parse_delete + post.parse_delete - assert_raise Parse::ParseError do - q = Parse.get("Post", post.id) + assert_raise Parse::ParseError do + q = Parse.get("Post", post.id) + end end end def test_deep_parse - other = Parse::Object.new "Post" - other.save - post = Parse::Object.new "Post" - post["other"] = other.pointer - post.save + VCR.use_cassette('test_deep_parse', :record => :new_episodes) do + other = Parse::Object.new "Post" + other.save + post = Parse::Object.new "Post" + post["other"] = other.pointer + post.save - q = Parse.get("Post", post.id) - assert_equal Parse::Pointer, q["other"].class - assert_equal other.pointer, q["other"] + q = Parse.get("Post", post.id) + assert_equal Parse::Pointer, q["other"].class + assert_equal other.pointer, q["other"] + end end def test_nils_delete_keys - post = Parse::Object.new "Post" - post["title"] = "hello" - post.save - post["title"] = nil - post.save - assert_false post.refresh.keys.include?("title") + VCR.use_cassette('test_nils_delete_keys', :record => :new_episodes) do + post = Parse::Object.new "Post" + post["title"] = "hello" + post.save + post["title"] = nil + post.save + assert_false post.refresh.keys.include?("title") + end end end diff --git a/test/test_query.rb b/test/test_query.rb index 03b68d7..291a760 100644 --- a/test/test_query.rb +++ b/test/test_query.rb @@ -5,14 +5,16 @@ class TestQuery < Test::Unit::TestCase def test_get - post = Parse::Object.new "Post" - post["title"] = "foo" - post.save + VCR.use_cassette('test_get', :record => :new_episodes) do + post = Parse::Object.new "Post" + post["title"] = "foo" + post.save - q = Parse.get("Post", post.id) + q = Parse.get("Post", post.id) - assert_equal q.id, post.id - assert_equal q["title"], post["title"] + assert_equal q.id, post.id + assert_equal q["title"], post["title"] + end end def test_add_contraint @@ -37,37 +39,43 @@ def test_eq end def test_limit_skip - q = Parse::Query.new "TestQuery" - q.limit = 2 - q.skip = 3 - query_matcher = has_entries(:limit => 2, :skip => 3) - Parse::Client.any_instance.expects(:request).with(anything, :get, nil, query_matcher).returns({}.to_json) - q.get + VCR.use_cassette('test_limit_skip', :record => :new_episodes) do + q = Parse::Query.new "TestQuery" + q.limit = 2 + q.skip = 3 + query_matcher = has_entries(:limit => 2, :skip => 3) + Parse::Client.any_instance.expects(:request).with(anything, :get, nil, query_matcher).returns({}.to_json) + q.get + end end def test_count - q = Parse::Query.new "TestQuery" - q.count = true - query_matcher = has_entries(:count => true) - Parse::Client.any_instance.expects(:request).with(anything, :get, nil, query_matcher).returns({}.to_json) - q.get + VCR.use_cassette('test_count', :record => :new_episodes) do + q = Parse::Query.new "TestQuery" + q.count = true + query_matcher = has_entries(:count => true) + Parse::Client.any_instance.expects(:request).with(anything, :get, nil, query_matcher).returns({}.to_json) + q.get + end end def test_or - foo = Parse::Object.new "Post" - foo["random"] = rand - foo.save - foo_query = Parse::Query.new("Post").eq("random", foo["random"]) - assert_equal 1, foo_query.get.size + #VCR.use_cassette('test_or', :record => :new_episodes) do + foo = Parse::Object.new "Post" + foo["random"] = rand + foo.save + foo_query = Parse::Query.new("Post").eq("random", foo["random"]) + assert_equal 1, foo_query.get.size - bar = Parse::Object.new "Post" - bar["random"] = rand - bar.save - bar_query = Parse::Query.new("Post").eq("random", bar["random"]) - assert_equal 1, foo_query.get.size + bar = Parse::Object.new "Post" + bar["random"] = rand + bar.save + bar_query = Parse::Query.new("Post").eq("random", bar["random"]) + assert_equal 1, foo_query.get.size - query = foo_query.or(bar_query) - assert_equal 2, query.get.size + query = foo_query.or(bar_query) + assert_equal 2, query.get.size + #end end def test_in_query diff --git a/test/test_user.rb b/test/test_user.rb index aa70ab1..b2642f6 100644 --- a/test/test_user.rb +++ b/test/test_user.rb @@ -6,36 +6,40 @@ def setup Parse.init end - def test_save - username = rand.to_s - data = { - :username => username, - :password => "topsecret" - } - user = Parse::User.new data - user.save - assert_equal user[Parse::Protocol::KEY_OBJECT_ID].class, String - assert_equal user[Parse::Protocol::KEY_CREATED_AT].class, String + def test_user_save + VCR.use_cassette('test_user_save', :record => :new_episodes) do + username = rand.to_s + data = { + :username => username, + :password => "topsecret" + } + user = Parse::User.new data + user.save + assert_equal user[Parse::Protocol::KEY_OBJECT_ID].class, String + assert_equal user[Parse::Protocol::KEY_CREATED_AT].class, String + end end - def test_login - u = "alan" + rand(10000000000000).to_s - data = { - :username => u, - :password => "secret" - } + def test_user_login + #VCR.use_cassette('test_user_login', :record => :new_episodes) do + u = "alan" + rand(10000000000000).to_s + data = { + :username => u, + :password => "secret" + } - user = Parse::User.new(data) + user = Parse::User.new(data) - user.save - - assert_equal user["username"], u - assert_equal user[Parse::Protocol::KEY_USER_SESSION_TOKEN].class, String - - login = Parse::User.authenticate(u, "secret") - - assert_equal login["username"], user["username"] - assert_equal login["sessionToken"].class, String + user.save + + assert_equal user["username"], u + assert_equal user[Parse::Protocol::KEY_USER_SESSION_TOKEN].class, String + + login = Parse::User.authenticate(u, "secret") + + assert_equal login["username"], user["username"] + assert_equal login["sessionToken"].class, String + #end end end