qbo_rails 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +23 -0
  4. data/lib/generators/qbo_rails/install/install_generator.rb +32 -0
  5. data/lib/generators/qbo_rails/install/templates/config/qbo_rails.rb +17 -0
  6. data/lib/generators/qbo_rails/install/templates/db/migrate/create_qbo_errors.rb +12 -0
  7. data/lib/generators/qbo_rails/install/templates/models/qbo_error.rb +3 -0
  8. data/lib/generators/qbo_rails/install/usage.md +3 -0
  9. data/lib/qbo_rails.rb +106 -0
  10. data/lib/qbo_rails/error_handler.rb +4 -0
  11. data/lib/qbo_rails/version.rb +3 -0
  12. data/lib/tasks/qbo_rails_tasks.rake +4 -0
  13. data/spec/dummy/README.rdoc +28 -0
  14. data/spec/dummy/Rakefile +6 -0
  15. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  16. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  17. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  18. data/spec/dummy/app/controllers/settings_controller.rb +33 -0
  19. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  20. data/spec/dummy/app/models/account.rb +2 -0
  21. data/spec/dummy/app/models/customer.rb +2 -0
  22. data/spec/dummy/app/models/qbo_error.rb +3 -0
  23. data/spec/dummy/app/services/qbo_rails.rb +15 -0
  24. data/spec/dummy/app/services/qbo_rails/error_handler.rb +32 -0
  25. data/spec/dummy/app/views/layouts/application.html.erb +26 -0
  26. data/spec/dummy/app/views/settings/close_and_redirect.html.erb +14 -0
  27. data/spec/dummy/app/views/settings/index.html.erb +29 -0
  28. data/spec/dummy/bin/bundle +3 -0
  29. data/spec/dummy/bin/rails +8 -0
  30. data/spec/dummy/bin/rake +8 -0
  31. data/spec/dummy/bin/setup +29 -0
  32. data/spec/dummy/config.ru +4 -0
  33. data/spec/dummy/config/application.rb +41 -0
  34. data/spec/dummy/config/boot.rb +5 -0
  35. data/spec/dummy/config/database.yml +25 -0
  36. data/spec/dummy/config/environment.rb +5 -0
  37. data/spec/dummy/config/environments/development.rb +41 -0
  38. data/spec/dummy/config/environments/production.rb +79 -0
  39. data/spec/dummy/config/environments/test.rb +42 -0
  40. data/spec/dummy/config/initializers/assets.rb +11 -0
  41. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  42. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  43. data/spec/dummy/config/initializers/dotenv.rb +3 -0
  44. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  45. data/spec/dummy/config/initializers/inflections.rb +16 -0
  46. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  47. data/spec/dummy/config/initializers/qbo_rails.rb +17 -0
  48. data/spec/dummy/config/initializers/session_store.rb +3 -0
  49. data/spec/dummy/config/initializers/webmock.rb +2 -0
  50. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  51. data/spec/dummy/config/locales/en.yml +23 -0
  52. data/spec/dummy/config/routes.rb +5 -0
  53. data/spec/dummy/config/secrets.yml +22 -0
  54. data/spec/dummy/db/development.sqlite3 +0 -0
  55. data/spec/dummy/db/migrate/20150319132530_create_accounts.rb +12 -0
  56. data/spec/dummy/db/migrate/20150319132650_create_customers.rb +17 -0
  57. data/spec/dummy/db/migrate/20150328125013_add_qbo_id_to_customer.rb +5 -0
  58. data/spec/dummy/db/migrate/20150418134516_create_qbo_errors.rb +12 -0
  59. data/spec/dummy/db/production.sqlite3 +0 -0
  60. data/spec/dummy/db/schema.rb +50 -0
  61. data/spec/dummy/db/test.sqlite3 +0 -0
  62. data/spec/dummy/log/development.log +584 -0
  63. data/spec/dummy/log/production.log +0 -0
  64. data/spec/dummy/log/test.log +6502 -0
  65. data/spec/dummy/public/404.html +67 -0
  66. data/spec/dummy/public/422.html +67 -0
  67. data/spec/dummy/public/500.html +66 -0
  68. data/spec/dummy/public/favicon.ico +0 -0
  69. data/spec/dummy/tmp/cache/222/7E0/token +2 -0
  70. data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  71. data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  72. data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  73. data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  74. data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  75. data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  76. data/spec/factories/accounts.rb +8 -0
  77. data/spec/factories/customers.rb +15 -0
  78. data/spec/rails_helper.rb +92 -0
  79. data/spec/requests/qbo_rails_spec.rb +118 -0
  80. data/spec/spec_helper.rb +86 -0
  81. data/spec/vcr/qbo_rails/auth/forbidden.yml +119 -0
  82. data/spec/vcr/qbo_rails/customer/create.yml +75 -0
  83. data/spec/vcr/qbo_rails/customer/create_and_then_delete.yml +225 -0
  84. data/spec/vcr/qbo_rails/customer/delete.yml +167 -0
  85. data/spec/vcr/qbo_rails/customer/error_customer_in_use.yml +257 -0
  86. data/spec/vcr/qbo_rails/customer/update.yml +138 -0
  87. metadata +358 -0
@@ -0,0 +1,86 @@
1
+ require 'awesome_print'
2
+ # This file was generated by the `rails generate rspec:install` command. Conventionally, all
3
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
4
+ # The generated `.rspec` file contains `--require spec_helper` which will cause this
5
+ # file to always be loaded, without a need to explicitly require it in any files.
6
+ #
7
+ # Given that it is always loaded, you are encouraged to keep this file as
8
+ # light-weight as possible. Requiring heavyweight dependencies from this file
9
+ # will add to the boot time of your test suite on EVERY test run, even for an
10
+ # individual file that may not need all of that loaded. Instead, consider making
11
+ # a separate helper file that requires the additional dependencies and performs
12
+ # the additional setup, and require it from the spec files that actually need it.
13
+ #
14
+ # The `.rspec` file also contains a few flags that are not defaults but that
15
+ # users commonly want.
16
+ #
17
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
18
+ RSpec.configure do |config|
19
+ # rspec-expectations config goes here. You can use an alternate
20
+ # assertion/expectation library such as wrong or the stdlib/minitest
21
+ # assertions if you prefer.
22
+ config.expect_with :rspec do |expectations|
23
+ # This option will default to `true` in RSpec 4. It makes the `description`
24
+ # and `failure_message` of custom matchers include text for helper methods
25
+ # defined using `chain`, e.g.:
26
+ # be_bigger_than(2).and_smaller_than(4).description
27
+ # # => "be bigger than 2 and smaller than 4"
28
+ # ...rather than:
29
+ # # => "be bigger than 2"
30
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
31
+ end
32
+
33
+ # rspec-mocks config goes here. You can use an alternate test double
34
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
35
+ config.mock_with :rspec do |mocks|
36
+ # Prevents you from mocking or stubbing a method that does not exist on
37
+ # a real object. This is generally recommended, and will default to
38
+ # `true` in RSpec 4.
39
+ mocks.verify_partial_doubles = true
40
+ end
41
+
42
+ # The settings below are suggested to provide a good initial experience
43
+ # with RSpec, but feel free to customize to your heart's content.
44
+ =begin
45
+ # These two settings work together to allow you to limit a spec run
46
+ # to individual examples or groups you care about by tagging them with
47
+ # `:focus` metadata. When nothing is tagged with `:focus`, all examples
48
+ # get run.
49
+ config.filter_run :focus
50
+ config.run_all_when_everything_filtered = true
51
+
52
+ # Limits the available syntax to the non-monkey patched syntax that is recommended.
53
+ # For more details, see:
54
+ # - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
55
+ # - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
56
+ # - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching
57
+ config.disable_monkey_patching!
58
+
59
+ # Many RSpec users commonly either run the entire suite or an individual
60
+ # file, and it's useful to allow more verbose output when running an
61
+ # individual spec file.
62
+ if config.files_to_run.one?
63
+ # Use the documentation formatter for detailed output,
64
+ # unless a formatter has already been configured
65
+ # (e.g. via a command-line flag).
66
+ config.default_formatter = 'doc'
67
+ end
68
+
69
+ # Print the 10 slowest examples and example groups at the
70
+ # end of the spec run, to help surface which specs are running
71
+ # particularly slow.
72
+ config.profile_examples = 10
73
+
74
+ # Run specs in random order to surface order dependencies. If you find an
75
+ # order dependency and want to debug it, you can fix the order by providing
76
+ # the seed, which is printed after each run.
77
+ # --seed 1234
78
+ config.order = :random
79
+
80
+ # Seed global randomization in this process using the `--seed` CLI option.
81
+ # Setting this allows you to use `--seed` to deterministically reproduce
82
+ # test failures related to randomization by passing the same `--seed` value
83
+ # as the one that triggered the failure.
84
+ Kernel.srand config.seed
85
+ =end
86
+ end
@@ -0,0 +1,119 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://sandbox-quickbooks.api.intuit.com/v3/company/<COMPANY_ID>/customer
6
+ body:
7
+ encoding: UTF-8
8
+ string: |-
9
+ <?xml version="1.0" encoding="utf-8"?>
10
+ <Customer xmlns="http://schema.intuit.com/finance/v3" sparse="false">
11
+ <DisplayName>Emer Rackowski</DisplayName>
12
+ <BillAddr>
13
+ <Line1>1 East Haskins Road</Line1>
14
+ <City>Nelson</City>
15
+ <CountrySubDivisionCode>NH</CountrySubDivisionCode>
16
+ <PostalCode>03457-4555</PostalCode>
17
+ </BillAddr>
18
+ </Customer>
19
+ headers:
20
+ Content-Type:
21
+ - application/xml
22
+ Accept:
23
+ - application/xml
24
+ Accept-Encoding:
25
+ - gzip, deflate
26
+ User-Agent:
27
+ - OAuth gem v0.4.7
28
+ Content-Length:
29
+ - '328'
30
+ Authorization:
31
+ - OAuth oauth_body_hash="wOxVokZqs%2Bk30usLgAdy7znRwi8%3D", oauth_consumer_key="<CONSUMER_KEY>",
32
+ oauth_nonce="zWdOSUkuPocTnVUe0EsjHC79J4VlrPHWOmGp1vYBDHI", oauth_signature="PzphZUOTiPsxw7Jjn3D1WjymsXI%3D",
33
+ oauth_signature_method="HMAC-SHA1", oauth_timestamp="1438088072", oauth_version="1.0"
34
+ response:
35
+ status:
36
+ code: 403
37
+ message: Forbidden
38
+ headers:
39
+ Date:
40
+ - Tue, 28 Jul 2015 05:54:33 GMT
41
+ Content-Type:
42
+ - text/xml
43
+ Content-Length:
44
+ - '391'
45
+ Intuit-Tid:
46
+ - gw-f7a67ea9-4700-49d6-86f4-dc5a61402919
47
+ body:
48
+ encoding: UTF-8
49
+ string: |
50
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
51
+ <IntuitResponse time="2015-07-28T05:54:33.302-07:00" xmlns="http://schema.intuit.com/finance/v3">
52
+ <Fault type="SERVICE">
53
+ <Error code="3100">
54
+ <Message>message=ApplicationAuthorizationFailed; errorCode=003100; statusCode=403</Message>
55
+ <Detail></Detail>
56
+ </Error>
57
+ </Fault>
58
+ </IntuitResponse>
59
+ http_version:
60
+ recorded_at: Tue, 28 Jul 2015 12:54:33 GMT
61
+ - request:
62
+ method: post
63
+ uri: https://sandbox-quickbooks.api.intuit.com/v3/company/<COMPANY_ID>/customer
64
+ body:
65
+ encoding: UTF-8
66
+ string: |-
67
+ <?xml version="1.0" encoding="utf-8"?>
68
+ <Customer xmlns="http://schema.intuit.com/finance/v3" sparse="false">
69
+ <DisplayName>Emer Rackowski</DisplayName>
70
+ <BillAddr>
71
+ <Line1>1 East Haskins Road</Line1>
72
+ <City>Nelson</City>
73
+ <CountrySubDivisionCode>NH</CountrySubDivisionCode>
74
+ <PostalCode>03457-4555</PostalCode>
75
+ </BillAddr>
76
+ </Customer>
77
+ headers:
78
+ Content-Type:
79
+ - application/xml
80
+ Accept:
81
+ - application/xml
82
+ Accept-Encoding:
83
+ - gzip, deflate
84
+ User-Agent:
85
+ - OAuth gem v0.4.7
86
+ Content-Length:
87
+ - '328'
88
+ Authorization:
89
+ - OAuth oauth_body_hash="wOxVokZqs%2Bk30usLgAdy7znRwi8%3D", oauth_consumer_key="<CONSUMER_KEY>",
90
+ oauth_nonce="C6UZNm1YCqS60GuRCY7WIGgLd4Q4aomzr8Q2lgak0", oauth_signature="gzEllkcc5E%2BuYl9VHgOJ38yx9cs%3D",
91
+ oauth_signature_method="HMAC-SHA1", oauth_timestamp="1438088073", oauth_version="1.0"
92
+ response:
93
+ status:
94
+ code: 403
95
+ message: Forbidden
96
+ headers:
97
+ Date:
98
+ - Tue, 28 Jul 2015 05:54:33 GMT
99
+ Content-Type:
100
+ - text/xml
101
+ Content-Length:
102
+ - '391'
103
+ Intuit-Tid:
104
+ - gw-4454c2b3-e4b4-4d8d-a757-41b2e1baa532
105
+ body:
106
+ encoding: UTF-8
107
+ string: |
108
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
109
+ <IntuitResponse time="2015-07-28T05:54:33.901-07:00" xmlns="http://schema.intuit.com/finance/v3">
110
+ <Fault type="SERVICE">
111
+ <Error code="3100">
112
+ <Message>message=ApplicationAuthorizationFailed; errorCode=003100; statusCode=403</Message>
113
+ <Detail></Detail>
114
+ </Error>
115
+ </Fault>
116
+ </IntuitResponse>
117
+ http_version:
118
+ recorded_at: Tue, 28 Jul 2015 12:54:33 GMT
119
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,75 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://sandbox-quickbooks.api.intuit.com/v3/company/<COMPANY_ID>/customer
6
+ body:
7
+ encoding: UTF-8
8
+ string: |-
9
+ <?xml version="1.0" encoding="utf-8"?>
10
+ <Customer xmlns="http://schema.intuit.com/finance/v3" sparse="false">
11
+ <DisplayName>Edward Rackowski</DisplayName>
12
+ <BillAddr>
13
+ <Line1>1 East Haskins Road</Line1>
14
+ <City>Nelson</City>
15
+ <CountrySubDivisionCode>NH</CountrySubDivisionCode>
16
+ <PostalCode>03457-4555</PostalCode>
17
+ </BillAddr>
18
+ </Customer>
19
+ headers:
20
+ Content-Type:
21
+ - application/xml
22
+ Accept:
23
+ - application/xml
24
+ Accept-Encoding:
25
+ - gzip, deflate
26
+ User-Agent:
27
+ - OAuth gem v0.4.7
28
+ Content-Length:
29
+ - '330'
30
+ Authorization:
31
+ - OAuth oauth_body_hash="BFoHUtDQ%2BwODp3BR3f2UvcMERRA%3D", oauth_consumer_key="<CONSUMER_KEY>",
32
+ oauth_nonce="oIKb9YuHVUYdsBiBZUybd7PfygXX1HN4JHBnlPt5qs", oauth_signature="SrQSv28OR%2FSyZmEfXswI62%2BsEcA%3D",
33
+ oauth_signature_method="HMAC-SHA1", oauth_timestamp="1438087281", oauth_token="<ACCESS_TOKEN>",
34
+ oauth_version="1.0"
35
+ response:
36
+ status:
37
+ code: 200
38
+ message: OK
39
+ headers:
40
+ Date:
41
+ - Tue, 28 Jul 2015 12:41:22 GMT
42
+ Content-Type:
43
+ - application/xml;charset=UTF-8
44
+ Content-Length:
45
+ - '533'
46
+ Intuit-Tid:
47
+ - 13d9f66e-1a9b-4c98-a082-756cfafc11c6
48
+ Via:
49
+ - 1.1 ipp-gateway-ap05
50
+ Cache-Control:
51
+ - max-age=0, no-cache, no-store, must-revalidate, private
52
+ Expires:
53
+ - '0'
54
+ Qbo-Version:
55
+ - '87.370'
56
+ Content-Encoding:
57
+ - gzip
58
+ body:
59
+ encoding: ASCII-8BIT
60
+ string: !binary |-
61
+ H4sIAAAAAAAAAIVT23LaMBD9FY3fwebWEEYoE3AySSclhMv0ebHWRYOQGEkm
62
+ 8d93bUqhgUyfvHv27MW7R/zuY6vZHp1X1gyjVjOJGJrMSmV+DaPl4rHRj5gP
63
+ YCRoa3AYleijO8GfTShUmKHfWeORURHjh9E6hN0gjn22xi00Vc1pZnYb58qA
64
+ yTDedyIW1JbqtJNWr5HcNNr9RdIbdFuDdqd52+oQNEiSSPBx4YPdomPSbkHR
65
+ aG+jV5pkB85Tdg7aI7GepfiW8Jg+fF6abGE3aAQBJ4f/wAApBKCSDiHggtqL
66
+ y+7tQ2cen7H4C/iw3Eny5f/SPlN5fGr8WGhdvhWgVa5QToDCD/IdnGQzyDb2
67
+ 3W8Uj6+QeKr8TkP5RcZ5lE8drfvVjNeYbb7gX1D4fRbUHkVwBfL4j8NTzKHQ
68
+ YQEfYytxhrloU68LkJMNK33MPnp8pLS+l9LVx7ntH47zogy2RIs90JbYE9A4
69
+ xrOZBUmLq0N8rEIpJqi9NXSDyuFjW5jgynmxStVeVQKteovJExGuh/jUklZ1
70
+ bSedbu+m0e31evTnJ5jHpwG/25WolcTjyqxH/6nCegoOTTiGPqF8BLrSciWz
71
+ o3nEKhpV8mexvxAp2lGBrKTlMQPVG1gaRXJh80Cq8Sy1WoOLxHKe0g+eyNVt
72
+ MUfyZYqaTuRKktbaSlEftLrr9XBV5fCIyPz3wYrfZsA6KfgDAAA=
73
+ http_version:
74
+ recorded_at: Tue, 28 Jul 2015 12:41:22 GMT
75
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,225 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://sandbox-quickbooks.api.intuit.com/v3/company/<COMPANY_ID>/customer
6
+ body:
7
+ encoding: UTF-8
8
+ string: |-
9
+ <?xml version="1.0" encoding="utf-8"?>
10
+ <Customer xmlns="http://schema.intuit.com/finance/v3" sparse="false">
11
+ <DisplayName>Mathis Rackowski</DisplayName>
12
+ <BillAddr>
13
+ <Line1>1 East Haskins Road</Line1>
14
+ <City>Nelson</City>
15
+ <CountrySubDivisionCode>NH</CountrySubDivisionCode>
16
+ <PostalCode>03457-4555</PostalCode>
17
+ </BillAddr>
18
+ </Customer>
19
+ headers:
20
+ Content-Type:
21
+ - application/xml
22
+ Accept:
23
+ - application/xml
24
+ Accept-Encoding:
25
+ - gzip, deflate
26
+ User-Agent:
27
+ - OAuth gem v0.4.7
28
+ Content-Length:
29
+ - '330'
30
+ Authorization:
31
+ - OAuth oauth_body_hash="T%2F2fKTAVGLi641Bwd6duT46fsI0%3D", oauth_consumer_key="<CONSUMER_KEY>",
32
+ oauth_nonce="BzRFyMsvHP5uFgxnh9rA19mNgz6I8fplJW3wcN2QN0A", oauth_signature="PbyU1Ol6FdEG7zt5oTW8Lw0af8c%3D",
33
+ oauth_signature_method="HMAC-SHA1", oauth_timestamp="1438087744", oauth_token="<ACCESS_TOKEN>",
34
+ oauth_version="1.0"
35
+ response:
36
+ status:
37
+ code: 200
38
+ message: OK
39
+ headers:
40
+ Date:
41
+ - Tue, 28 Jul 2015 12:49:05 GMT
42
+ Content-Type:
43
+ - application/xml;charset=UTF-8
44
+ Content-Length:
45
+ - '534'
46
+ Intuit-Tid:
47
+ - e8528f03-bfac-4847-8c4f-5d7f0fe357ef
48
+ Via:
49
+ - 1.1 ipp-gateway-ap06
50
+ Cache-Control:
51
+ - max-age=0, no-cache, no-store, must-revalidate, private
52
+ Expires:
53
+ - '0'
54
+ Qbo-Version:
55
+ - '87.370'
56
+ Content-Encoding:
57
+ - gzip
58
+ body:
59
+ encoding: ASCII-8BIT
60
+ string: !binary |-
61
+ H4sIAAAAAAAAAIVT23LaMBD9FY/fweZibiOUCbiZpJMQwmX6vFjrWoMsMZZM
62
+ 47/v2imFBjJ98u6esxfvHrG791x5RyysNHrqd9qh76FOjJD659Tfbh5aI9+z
63
+ DrQAZTRO/Qqtf8fZk3aldCu0B6MtelRE26mfOXeYBIFNMsyhLRtOOzF5kEoN
64
+ OsHg2PM9J3Oq0w07USsctrqjTRhN+uNJOGr3BgMKTcLQ52xeWmdyLDxhcpA0
65
+ 2tvslSY5QGEpOwVlkVhPgg+6LKAPW1c62Zg9ah6y4OywF3QQgwMqWSA43FB7
66
+ ft19+NGZBRcs9gzWbQ+CfPG/tM9UFpwbP5RKVW8lKJlKFAsg+AVcJq23gmRv
67
+ ftm9ZMENEoulPSiovsi4RNmyoHW/6nmGyf4L/hWF3SdOHpG7okQW/HFYjCmU
68
+ ym3gfW4ErjDltOHrICMbduqUffLYTCp1L0TRHGc8/jjOs9TY4R3vG23JewQa
69
+ R9NoBgQtroHYXLqKL1BZo+kGtcPmptSuqNblLpZHWQu07s0Xj0S4DbGlIa2q
70
+ xg57/WjY6kdRRH9+DrPgPOB3s+ONklhQm83oP6TLllCgdifoU5TNQNVarmV2
71
+ Mk+xmkaV7AX2N0SKLqhAUtHyPA31G9hqSXLx1o5UY73YKAWFz7frmH7wTK5v
72
+ iymSL2JUdKKiImllRvDmoPVdb8N1lY9HROa/D5b/BgFWq8H4AwAA
73
+ http_version:
74
+ recorded_at: Tue, 28 Jul 2015 12:49:07 GMT
75
+ - request:
76
+ method: get
77
+ uri: https://sandbox-quickbooks.api.intuit.com/v3/company/<COMPANY_ID>/customer/62
78
+ body:
79
+ encoding: US-ASCII
80
+ string: ''
81
+ headers:
82
+ Content-Type:
83
+ - application/xml
84
+ Accept:
85
+ - application/xml
86
+ Accept-Encoding:
87
+ - gzip, deflate
88
+ User-Agent:
89
+ - OAuth gem v0.4.7
90
+ Authorization:
91
+ - OAuth oauth_consumer_key="<CONSUMER_KEY>", oauth_nonce="A5kRxC3bYkKGxMf3cUNgwoB5RLzlHs2dR19k8",
92
+ oauth_signature="C2bUgR6V%2F007jbxZAiNpvyadHp0%3D", oauth_signature_method="HMAC-SHA1",
93
+ oauth_timestamp="1438087747", oauth_token="<ACCESS_TOKEN>", oauth_version="1.0"
94
+ response:
95
+ status:
96
+ code: 200
97
+ message: OK
98
+ headers:
99
+ Date:
100
+ - Tue, 28 Jul 2015 12:49:07 GMT
101
+ Content-Type:
102
+ - application/xml;charset=UTF-8
103
+ Content-Length:
104
+ - '534'
105
+ Intuit-Tid:
106
+ - 898d68ac-f996-4dba-a4ec-cb5319e69a4c
107
+ Content-Encoding:
108
+ - gzip
109
+ Via:
110
+ - 1.1 ipp-gateway-ap05
111
+ Cache-Control:
112
+ - max-age=0, no-cache, no-store, must-revalidate, private
113
+ Expires:
114
+ - '0'
115
+ Qbo-Version:
116
+ - '87.370'
117
+ body:
118
+ encoding: ASCII-8BIT
119
+ string: !binary |-
120
+ H4sIAAAAAAAAAIVT23LaMBD9FY3fwebiJjBCmYCbSToJIVymz4u1rjUIibFk
121
+ Gv991qYUGsj0ybt7zl68e8Tv3rea7bFwyppR0GlHAUOTWqnMr1GwWj60bgPm
122
+ PBgJ2hocBRW64E7wJ+NL5efodtY4ZFTEuFGQe78bhqFLc9xCWzWcdmq3YaYM
123
+ mBTDfS9gXm2pTjfqxK3optW9XUbxsD8YRoN2r9+n0DCKAsEnpfN2iwWTdguK
124
+ Rnsbv9IkOygcZWegHRLrSYpvXR7Shy8qky7tBo2IeHhy+At6SMADlSwQPC6p
125
+ vbjsfnPozMMzFn8G51c7Sb78X9pnKg9PjR9Krau3ErTKFMopEPwCPleOzSHd
126
+ 2N9uo3h4hcQT5XYaqi8yzlE+K2jdr2aSY7r5gn9B4fepV3sUviiRh38cnmAG
127
+ pfZLeJ9YiXPMBG34MsjJhrU+Zh89PlZa30tZNMcZDA7HeVYGO6LDvtOW2CPQ
128
+ OIZGsyBpcQ3EJ8pXYoraWUM3qB0+saXxRbUo14naq1qgdW8xfSTCdYjPLGlV
129
+ N3bU68c3rX4cx/TnpzAPTwP+sGvRKImHtdmM/lP5fAYFGn+EPkX5GHSt5Vpm
130
+ R/MYq2lUyZ1hf0Ok6IIKpBUtjxmo38DKKJILW3hSjWOJ1RqKQKwWCf3giVzf
131
+ FjMkXyao6URFRdLKrRTNQeu7XofrKodHROa/D1Z8AOmUsUb4AwAA
132
+ http_version:
133
+ recorded_at: Tue, 28 Jul 2015 12:49:08 GMT
134
+ - request:
135
+ method: post
136
+ uri: https://sandbox-quickbooks.api.intuit.com/v3/company/<COMPANY_ID>/customer
137
+ body:
138
+ encoding: UTF-8
139
+ string: |-
140
+ <?xml version="1.0" encoding="utf-8"?>
141
+ <Customer xmlns="http://schema.intuit.com/finance/v3" sparse="true">
142
+ <Id>62</Id>
143
+ <SyncToken>0</SyncToken>
144
+ <MetaData>
145
+ <CreateTime>2015-07-28T08:49:07-0400</CreateTime>
146
+ <LastUpdatedTime>2015-07-28T08:49:07-0400</LastUpdatedTime>
147
+ </MetaData>
148
+ <DisplayName>Mathis Rackowski</DisplayName>
149
+ <PrintOnCheckName>Mathis Rackowski</PrintOnCheckName>
150
+ <Active>false</Active>
151
+ <BillAddr>
152
+ <Id>99</Id>
153
+ <Line1>1 East Haskins Road</Line1>
154
+ <City>Nelson</City>
155
+ <CountrySubDivisionCode>NH</CountrySubDivisionCode>
156
+ <PostalCode>03457-4555</PostalCode>
157
+ </BillAddr>
158
+ <Job>false</Job>
159
+ <BillWithParent>false</BillWithParent>
160
+ <Balance>0.0</Balance>
161
+ <BalanceWithJobs>0.0</BalanceWithJobs>
162
+ <PreferredDeliveryMethod>Print</PreferredDeliveryMethod>
163
+ <FullyQualifiedName>Mathis Rackowski</FullyQualifiedName>
164
+ <Taxable>true</Taxable>
165
+ <DefaultTaxCodeRef>2</DefaultTaxCodeRef>
166
+ <CurrencyRef name="United States Dollar">USD</CurrencyRef>
167
+ </Customer>
168
+ headers:
169
+ Content-Type:
170
+ - application/xml
171
+ Accept:
172
+ - application/xml
173
+ Accept-Encoding:
174
+ - gzip, deflate
175
+ User-Agent:
176
+ - OAuth gem v0.4.7
177
+ Content-Length:
178
+ - '945'
179
+ Authorization:
180
+ - OAuth oauth_body_hash="Q0kawIhgwOk9q0wA8Nb%2BVRfghyY%3D", oauth_consumer_key="<CONSUMER_KEY>",
181
+ oauth_nonce="mlSEBPzlha8pBDCtmD46VTo3zaQYELJJGcQpRh2XNQ", oauth_signature="e%2BULdmt%2Bc5o1iGHVVy5otnAA%2F7A%3D",
182
+ oauth_signature_method="HMAC-SHA1", oauth_timestamp="1438087748", oauth_token="<ACCESS_TOKEN>",
183
+ oauth_version="1.0"
184
+ response:
185
+ status:
186
+ code: 200
187
+ message: OK
188
+ headers:
189
+ Date:
190
+ - Tue, 28 Jul 2015 12:49:08 GMT
191
+ Via:
192
+ - 1.1 ipp-gateway-ap05
193
+ Content-Type:
194
+ - application/xml;charset=UTF-8
195
+ Content-Length:
196
+ - '546'
197
+ Cache-Control:
198
+ - max-age=0, no-cache, no-store, must-revalidate, private
199
+ Expires:
200
+ - '0'
201
+ Intuit-Tid:
202
+ - 2a0318b5-a231-43de-9904-a2d1440e8230
203
+ Qbo-Version:
204
+ - '87.370'
205
+ Content-Encoding:
206
+ - gzip
207
+ body:
208
+ encoding: ASCII-8BIT
209
+ string: !binary |-
210
+ H4sIAAAAAAAAAIVT23LaMBD9FY2f2gewTaABRiiT4GaSTkIIl+nzYq1rDUJi
211
+ LJnGf9+1Uxca6PRJezl7PSt+87bT7ICFU9ZMgrgbBQxNaqUyPybBenXfGQbM
212
+ eTAStDU4CSp0wY3gj8aXyi/Q7a1xyCiJcZMg934/DkOX5riDrmow3dTuwkwZ
213
+ MCmGh6uAebWjPL0oHnSi605vuIoG4/5oHEfdeNgn0ziKAsGnpfN2hwWTdgeK
214
+ Wnu9e6FO9lA4is5AOyTUoxRfejykhy8rk67sFo2IeXhU+DN6SMADpSwQPK6o
215
+ vDirTnJTmYcnKP4Ezq/3knT5j7BRG/YRysNj4ftS6+q1BK0yhXIG5H4GnyvH
216
+ FpBu7U+3VeyTRI0U/JmHF+A8UW6vofpv7CmOzwui4MVMc0y3FyN5eAbht6lX
217
+ BxTNhnn4W+MJZlBqv4K3qZW4wEzQ2s+NnGTYaBS+KCm61fid0vpWyqJhbDR6
218
+ Z+xJGYxFzL7S6tgDUD+GerMgaZuNi0+Vr8QMtbOGiKkVPrWl8UW1LDeJOqj6
219
+ auvaYvZAgMsuPrd0wLqRo6v+4LrTHwwGNPrRzMNjg9/sph2+FpvWvyufz6FA
220
+ 41vXByu/A10fuKBLaMXWVsMokzvx/THRmReUIK1oecxA/THWRhGVbOnplBxL
221
+ rNZQBGK9TGjAI7gmFzMkXSaoiaKionvLrRQNozWxl911lvefReLfv1j8AlA5
222
+ oV4NBAAA
223
+ http_version:
224
+ recorded_at: Tue, 28 Jul 2015 12:49:09 GMT
225
+ recorded_with: VCR 2.9.3