workarea-braintree 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +20 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +37 -0
  4. data/.github/ISSUE_TEMPLATE/documentation-request.md +17 -0
  5. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  6. data/.gitignore +17 -0
  7. data/CHANGELOG.md +37 -0
  8. data/CODE_OF_CONDUCT.md +3 -0
  9. data/CONTRIBUTING.md +3 -0
  10. data/Gemfile +11 -0
  11. data/LICENSE +52 -0
  12. data/README.md +43 -0
  13. data/Rakefile +50 -0
  14. data/app/models/workarea/payment/authorize/credit_card.decorator +72 -0
  15. data/app/models/workarea/payment/capture/credit_card.decorator +14 -0
  16. data/app/models/workarea/payment/purchase/credit_card.decorator +52 -0
  17. data/app/models/workarea/payment/refund/credit_card.decorator +14 -0
  18. data/app/models/workarea/payment/store_credit_card.decorator +13 -0
  19. data/bin/rails +18 -0
  20. data/config/initializers/workarea.rb +1 -0
  21. data/lib/active_merchant/billing/bogus_braintree_gateway.rb +284 -0
  22. data/lib/tasks/braintree.rake +25 -0
  23. data/lib/workarea/braintree.rb +26 -0
  24. data/lib/workarea/braintree/engine.rb +8 -0
  25. data/lib/workarea/braintree/version.rb +5 -0
  26. data/test/dummy/Rakefile +6 -0
  27. data/test/dummy/app/assets/config/manifest.js +4 -0
  28. data/test/dummy/app/assets/javascripts/application.js +13 -0
  29. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  30. data/test/dummy/app/controllers/application_controller.rb +3 -0
  31. data/test/dummy/app/helpers/application_helper.rb +2 -0
  32. data/test/dummy/app/jobs/application_job.rb +2 -0
  33. data/test/dummy/app/mailers/application_mailer.rb +4 -0
  34. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  35. data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  36. data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  37. data/test/dummy/bin/bundle +3 -0
  38. data/test/dummy/bin/rails +4 -0
  39. data/test/dummy/bin/rake +4 -0
  40. data/test/dummy/bin/setup +34 -0
  41. data/test/dummy/bin/update +29 -0
  42. data/test/dummy/config.ru +5 -0
  43. data/test/dummy/config/application.rb +23 -0
  44. data/test/dummy/config/boot.rb +5 -0
  45. data/test/dummy/config/cable.yml +9 -0
  46. data/test/dummy/config/environment.rb +5 -0
  47. data/test/dummy/config/environments/development.rb +56 -0
  48. data/test/dummy/config/environments/production.rb +86 -0
  49. data/test/dummy/config/environments/test.rb +44 -0
  50. data/test/dummy/config/initializers/application_controller_renderer.rb +6 -0
  51. data/test/dummy/config/initializers/assets.rb +11 -0
  52. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  53. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  54. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  55. data/test/dummy/config/initializers/inflections.rb +16 -0
  56. data/test/dummy/config/initializers/mime_types.rb +4 -0
  57. data/test/dummy/config/initializers/new_framework_defaults.rb +23 -0
  58. data/test/dummy/config/initializers/session_store.rb +3 -0
  59. data/test/dummy/config/initializers/workarea.rb +5 -0
  60. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  61. data/test/dummy/config/locales/en.yml +23 -0
  62. data/test/dummy/config/puma.rb +47 -0
  63. data/test/dummy/config/routes.rb +5 -0
  64. data/test/dummy/config/secrets.yml +22 -0
  65. data/test/dummy/config/spring.rb +6 -0
  66. data/test/dummy/db/seeds.rb +2 -0
  67. data/test/dummy/log/.keep +0 -0
  68. data/test/dummy/public/404.html +67 -0
  69. data/test/dummy/public/422.html +67 -0
  70. data/test/dummy/public/500.html +66 -0
  71. data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
  72. data/test/dummy/public/apple-touch-icon.png +0 -0
  73. data/test/dummy/public/favicon.ico +0 -0
  74. data/test/models/workarea/payment/authorize/credit_card_test.decorator +92 -0
  75. data/test/models/workarea/payment/capture/credit_card_test.decorator +25 -0
  76. data/test/models/workarea/payment/credit_card_integration_test.decorator +8 -0
  77. data/test/models/workarea/payment/purchase/credit_card_test.decorator +78 -0
  78. data/test/models/workarea/payment/refund/credit_card_test.decorator +25 -0
  79. data/test/models/workarea/payment/store_credit_card_test.decorator +23 -0
  80. data/test/support/workarea/braintree_support_vcr_config.rb +23 -0
  81. data/test/test_helper.rb +16 -0
  82. data/test/vcr_cassettes/braintree/authorize_failure.yml +98 -0
  83. data/test/vcr_cassettes/braintree/authorize_success.yml +89 -0
  84. data/test/vcr_cassettes/braintree/capture_success.yml +64 -0
  85. data/test/vcr_cassettes/braintree/purchase_failure.yml +97 -0
  86. data/test/vcr_cassettes/braintree/purchase_success.yml +89 -0
  87. data/test/vcr_cassettes/braintree/refund_success.yml +64 -0
  88. data/test/vcr_cassettes/braintree/store_credit_card-sets_token_on_the_card.yml +86 -0
  89. data/test/vcr_cassettes/braintree/store_without_token.yml +82 -0
  90. data/test/vcr_cassettes/braintree/void_success.yml +60 -0
  91. data/test/vcr_cassettes/credit_card/auth_capture.yml +419 -0
  92. data/test/vcr_cassettes/credit_card/auth_void.yml +415 -0
  93. data/test/vcr_cassettes/credit_card/purchase_void.yml +415 -0
  94. data/test/vcr_cassettes/credit_card/store_auth.yml +227 -0
  95. data/test/vcr_cassettes/credit_card/store_purchase.yml +227 -0
  96. data/workarea-braintree.gemspec +20 -0
  97. metadata +166 -0
@@ -0,0 +1,25 @@
1
+ module Workarea
2
+ decorate Payment::Capture::CreditCardTest, with: :braintree do
3
+ decorated { include BraintreeGatewayVCRConfig }
4
+
5
+ def test_complete_sets_the_response_on_the_transaction
6
+ VCR.use_cassette 'braintree/capture_success' do
7
+ super
8
+ end
9
+ end
10
+
11
+ private
12
+
13
+ def reference
14
+ @reference ||= Payment::Transaction.new(
15
+ amount: 5.to_m,
16
+ response: ActiveMerchant::Billing::Response.new(
17
+ true,
18
+ 'Message',
19
+ {},
20
+ { authorization: authorization }
21
+ )
22
+ )
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,8 @@
1
+ # only decorate for v 3.3 and above
2
+ if Workarea::VERSION::MAJOR >= 3 && Workarea::VERSION::MINOR >= 3
3
+ module Workarea
4
+ decorate Payment::CreditCardIntegrationTest, with: :braintree do
5
+ decorated { include BraintreeGatewayVCRConfig }
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,78 @@
1
+ module Workarea
2
+ decorate Payment::Purchase::CreditCardTest, with: :braintree do
3
+ decorated { include BraintreeGatewayVCRConfig }
4
+
5
+ def test_complete_does_nothing_if_gateway_storage_fails
6
+ # braintree captures and tokenizes in one call; nullifying this test
7
+ end
8
+
9
+ def test_complete_sets_the_response_on_the_transaction
10
+ VCR.use_cassette 'braintree/purchase_success' do
11
+ super
12
+ end
13
+ end
14
+
15
+ def test_complete_sets_the_transaction_attributes_on_a_failure_response
16
+ VCR.use_cassette 'braintree/purchase_failure' do
17
+ super
18
+ end
19
+ end
20
+
21
+ def test_cancel_voids_with_the_authorization_from_the_transaction
22
+ VCR.use_cassette 'braintree/void_success' do
23
+ transaction.response = ActiveMerchant::Billing::Response.new(
24
+ true,
25
+ 'Message',
26
+ {},
27
+ { authorization: authorization }
28
+ )
29
+
30
+ operation = Payment::Authorize::CreditCard.new(tender, transaction)
31
+
32
+ original_void = operation.gateway.method(:void)
33
+ operation.gateway.expects(:void)
34
+ .with(authorization)
35
+ .returns(original_void.call(authorization))
36
+
37
+ operation.cancel!
38
+ end
39
+ end
40
+
41
+ def test_cancel_sets_the_cancellation_params_on_the_transaction
42
+ VCR.use_cassette 'braintree/void_success' do
43
+ transaction.response = ActiveMerchant::Billing::Response.new(
44
+ true,
45
+ 'Message',
46
+ {},
47
+ { authorization: authorization }
48
+ )
49
+
50
+ operation = Payment::Authorize::CreditCard.new(tender, transaction)
51
+ operation.cancel!
52
+
53
+ assert_instance_of(
54
+ ActiveMerchant::Billing::Response,
55
+ transaction.cancellation
56
+ )
57
+ end
58
+ end
59
+
60
+ private
61
+
62
+ def tender
63
+ @tender ||=
64
+ begin
65
+ payment.set_address(first_name: 'Ben', last_name: 'Crouse')
66
+
67
+ payment.build_credit_card(
68
+ number: 4111111111111111,
69
+ month: 1,
70
+ year: Time.now.year + 1,
71
+ cvv: 999
72
+ )
73
+
74
+ payment.credit_card
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,25 @@
1
+ module Workarea
2
+ decorate Payment::Refund::CreditCardTest, with: :braintree do
3
+ decorated { include BraintreeGatewayVCRConfig }
4
+
5
+ def test_complete_sets_the_response_on_the_transaction
6
+ VCR.use_cassette 'braintree/refund_success' do
7
+ super
8
+ end
9
+ end
10
+
11
+ private
12
+
13
+ def reference
14
+ @reference ||= Payment::Transaction.new(
15
+ amount: 5.to_m,
16
+ response: ActiveMerchant::Billing::Response.new(
17
+ true,
18
+ 'Message',
19
+ {},
20
+ { authorization: authorization }
21
+ )
22
+ )
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,23 @@
1
+ module Workarea
2
+ decorate Payment::StoreCreditCardTest, with: :braintree do
3
+ decorated { include BraintreeGatewayVCRConfig }
4
+
5
+ def test_save_persists_the_token
6
+ # braintree doesn't issue the same token for the same card
7
+ end
8
+
9
+ def test_perform_sets_the_token_on_the_credit_card
10
+ VCR.use_cassette 'braintree/store_credit_card-sets_token_on_the_card' do
11
+ super
12
+ end
13
+ end
14
+
15
+ private
16
+
17
+ def credit_card
18
+ @credit_card ||= VCR.use_cassette 'braintree/store_without_token' do
19
+ create_saved_credit_card(number: '4111111111111111')
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ module Workarea
2
+ module BraintreeGatewayVCRConfig
3
+ def self.included(test)
4
+ test.setup :setup_gateway
5
+ test.teardown :reset_gateway
6
+ end
7
+
8
+ def setup_gateway
9
+ @_old_gateway = Workarea.config.gateways.credit_card
10
+ Workarea.config.gateways.credit_card = ActiveMerchant::Billing::BraintreeGateway.new(
11
+ merchant_account_id: 'a',
12
+ merchant_id: 'b',
13
+ public_key: 'c',
14
+ private_key: 'd',
15
+ environment: 'sandbox'
16
+ )
17
+ end
18
+
19
+ def reset_gateway
20
+ Workarea.config.gateways.credit_card = @_old_gateway
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,16 @@
1
+ require 'simplecov'
2
+
3
+ SimpleCov.start "rails" do
4
+ add_filter "version.rb"
5
+ add_filter "lib/active_merchant/billing/bogus_braintree_gateway.rb"
6
+ end
7
+
8
+ ENV['RAILS_ENV'] = 'test'
9
+
10
+ require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
11
+ require 'rails/test_help'
12
+ require 'workarea/test_help'
13
+
14
+ # Filter out Minitest backtrace while allowing backtrace from other libraries
15
+ # to be shown.
16
+ Minitest.backtrace_filter = Minitest::BacktraceFilter.new
@@ -0,0 +1,98 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.sandbox.braintreegateway.com/merchants/b/transactions
6
+ body:
7
+ encoding: UTF-8
8
+ string: |
9
+ <?xml version="1.0" encoding="UTF-8"?>
10
+ <transaction>
11
+ <amount>5.00</amount>
12
+ <order-id nil="true"/>
13
+ <customer>
14
+ <id></id>
15
+ <email nil="true"/>
16
+ <phone nil="true"/>
17
+ <first-name>Ben</first-name>
18
+ <last-name>Crouse</last-name>
19
+ </customer>
20
+ <options>
21
+ <store-in-vault type="boolean">true</store-in-vault>
22
+ <submit-for-settlement nil="true"/>
23
+ <hold-in-escrow nil="true"/>
24
+ </options>
25
+ <custom-fields nil="true"/>
26
+ <merchant-account-id>a</merchant-account-id>
27
+ <credit-card>
28
+ <number>2</number>
29
+ <cvv>999</cvv>
30
+ <expiration-month>01</expiration-month>
31
+ <expiration-year>2018</expiration-year>
32
+ <cardholder-name>Ben Crouse</cardholder-name>
33
+ </credit-card>
34
+ <billing>
35
+ <street-address>22 s 3rd st</street-address>
36
+ <extended-address nil="true"/>
37
+ <company nil="true"/>
38
+ <locality>Philadelphia</locality>
39
+ <region>PA</region>
40
+ <postal-code>19106</postal-code>
41
+ <country-code-alpha2>US</country-code-alpha2>
42
+ </billing>
43
+ <type>sale</type>
44
+ </transaction>
45
+ headers:
46
+ Accept-Encoding:
47
+ - gzip
48
+ Accept:
49
+ - application/xml
50
+ User-Agent:
51
+ - Braintree Ruby Gem 2.78.0 (ActiveMerchant 1.72.0)
52
+ X-Apiversion:
53
+ - '4'
54
+ Authorization:
55
+ - Basic dzN2NmQ5eXRnajRqNG56ODplYjFmODliZTlmMzYzZjYxZmZmM2Y5MDI0NDQ1NmViMg==
56
+ Content-Type:
57
+ - application/xml
58
+ response:
59
+ status:
60
+ code: 422
61
+ message: Unprocessable Entity
62
+ headers:
63
+ Date:
64
+ - Thu, 21 Sep 2017 20:31:07 GMT
65
+ Content-Type:
66
+ - application/xml; charset=utf-8
67
+ Transfer-Encoding:
68
+ - chunked
69
+ X-Frame-Options:
70
+ - SAMEORIGIN
71
+ - SAMEORIGIN
72
+ X-Xss-Protection:
73
+ - 1; mode=block
74
+ X-Content-Type-Options:
75
+ - nosniff
76
+ X-Authentication:
77
+ - basic_auth
78
+ X-User:
79
+ - nrkvc7nn7kyfbtm6
80
+ Vary:
81
+ - Accept-Encoding
82
+ Content-Encoding:
83
+ - gzip
84
+ Cache-Control:
85
+ - no-cache
86
+ X-Request-Id:
87
+ - 85e995b0-5e2c-4286-b6ef-f3f05d33c38a
88
+ X-Runtime:
89
+ - '0.114287'
90
+ Strict-Transport-Security:
91
+ - max-age=31536000; includeSubDomains
92
+ body:
93
+ encoding: ASCII-8BIT
94
+ string: !binary |-
95
+ H4sIAIshxFkAA7RWTW/bMAy951cIvru2U3RtAUfFVmC3AQW2ngfZYmMB+jAkua3//SjHbhx/pEWLnSI9khL5KD4nv3tVkjyDdcLoXZRdpBEBXRou9H4XPf75Gd9Ed3STs1rEYK2xsQVXG+2AbgjJO8iF5duG+LaGXcSsZW2U9CZvmXas9HjJAVl2H2yD9bhHBJMCeptdXV/nSbceG5n3VhSNh/4816rCyIgqsGXFtP/LytI0+Ct4nrw5nxyhwDm2B/qrDyF9COEGHNHGE9fUtbGe1KxVgAahnbdNWF7kyRB+LCE5qaHfurd9IaRElqc1LxIYwif+eWmBCx+XzPLzZ5xUOeN1YPYmu04v58ye4VY3qgC7QueI0PsuURIS7U4g4kAn8gu1B06KlvgKQTVhfonVGa/vVpV9++9VHWKIapwnBZBsG2e3hIu98O6DNcxeR7LQ3rzECwyy9OE3cxqQJ5M5HN+a18wy5c4MLFOhKfTqIk2RnsNmsBnLwcYCqRByF+FUwCiNhbSXPUM9igm5Yqsro2HF9iSs87FmCugP0Hky2h+dJBuwe2saB3lyRFY4C7XVgQY3OgcdLMRCx8+skZ6GZPJkAo68m0JhJ59QPB14L6ETj+UyKiN5OANcac3LIpvJJJ+e3vhJgORuMWQYrLgfLGwUfYEC5aQMz3NufEdjXmthWUgiVkb7iqYZvqQpuOjfArN0m2Y3JwEdevQP1wUi8EUNDSVDw6a2s/Myl1gUbAAslXP8jjm63RJHLnGCnQ8NPLGN8/egOfDBtNK70qia6XbFKk3JpPAtfaiEZBxkXQmGD3CAj54W9mHsHr7nSb8cjYBxnsm407PsNktR28bQOBlspW07OGZ4GdvSx99BCef46icmqAp1TCLv3XJNRY7S8bWv6Obzn4rNJ/QYVWzhb80/AAAA//8DAGKkeOITCQAA
96
+ http_version:
97
+ recorded_at: Thu, 21 Sep 2017 20:31:07 GMT
98
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,89 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.sandbox.braintreegateway.com/merchants/b/transactions
6
+ body:
7
+ encoding: UTF-8
8
+ string: |
9
+ <?xml version="1.0" encoding="UTF-8"?>
10
+ <transaction>
11
+ <amount>5.00</amount>
12
+ <order-id nil="true"/>
13
+ <customer>
14
+ <id nil="true"/>
15
+ <email nil="true"/>
16
+ <phone nil="true"/>
17
+ <first-name>Ben</first-name>
18
+ <last-name>Crouse</last-name>
19
+ </customer>
20
+ <options>
21
+ <store-in-vault type="boolean">false</store-in-vault>
22
+ <submit-for-settlement nil="true"/>
23
+ <hold-in-escrow nil="true"/>
24
+ </options>
25
+ <custom-fields nil="true"/>
26
+ <merchant-account-id>a</merchant-account-id>
27
+ <credit-card>
28
+ <number>4111111111111111</number>
29
+ <cvv>999</cvv>
30
+ <expiration-month>01</expiration-month>
31
+ <expiration-year>2018</expiration-year>
32
+ <cardholder-name>Ben Crouse</cardholder-name>
33
+ </credit-card>
34
+ <type>sale</type>
35
+ </transaction>
36
+ headers:
37
+ Accept-Encoding:
38
+ - gzip
39
+ Accept:
40
+ - application/xml
41
+ User-Agent:
42
+ - Braintree Ruby Gem 2.78.0 (ActiveMerchant 1.72.0)
43
+ X-Apiversion:
44
+ - '4'
45
+ Authorization:
46
+ - Basic dzN2NmQ5eXRnajRqNG56ODplYjFmODliZTlmMzYzZjYxZmZmM2Y5MDI0NDQ1NmViMg==
47
+ Content-Type:
48
+ - application/xml
49
+ response:
50
+ status:
51
+ code: 422
52
+ message: Unprocessable Entity
53
+ headers:
54
+ Date:
55
+ - Thu, 21 Sep 2017 20:31:08 GMT
56
+ Content-Type:
57
+ - application/xml; charset=utf-8
58
+ Transfer-Encoding:
59
+ - chunked
60
+ X-Frame-Options:
61
+ - SAMEORIGIN
62
+ - SAMEORIGIN
63
+ X-Xss-Protection:
64
+ - 1; mode=block
65
+ X-Content-Type-Options:
66
+ - nosniff
67
+ X-Authentication:
68
+ - basic_auth
69
+ X-User:
70
+ - nrkvc7nn7kyfbtm6
71
+ Vary:
72
+ - Accept-Encoding
73
+ Content-Encoding:
74
+ - gzip
75
+ Cache-Control:
76
+ - no-cache
77
+ X-Request-Id:
78
+ - dfd87085-d793-49cc-99de-074b3fdf634c
79
+ X-Runtime:
80
+ - '0.124764'
81
+ Strict-Transport-Security:
82
+ - max-age=31536000; includeSubDomains
83
+ body:
84
+ encoding: ASCII-8BIT
85
+ string: !binary |-
86
+ H4sIAIwhxFkAA5xVTW/bMAy951cYvit2BgzIQVGBDdi5wLZzwdhMI0AfLim3zb+f5Max4zhJu5vE90g/fsny4d2a7BWJtXebfLUs8wxd5Wvtnjf53z+/xDp/UAsJjRZI5EkQcuMdo1pkmexMnI6nSxYODW5yIIJDXhyhQOAYqhA/8mG5SY/gVhsTJfT3efqA9vjYEm0xD1Tr1bpcy6I7n8MQAultG/AYlQ92602uGs8BzFPykMWJNHG2yAzPqB47cpbImeaM8KXVhPVSFj1jrLK4kHlT+Gr1JeEcCDE8QV3HLvF97b87fnbk/4f8o4FPfSsmjZNVDKaDqIDq280cel/M+Miq5eAt0ueDnDnIYjKCY+WyAQLLN2YVrG9dUN+XZRmr+nHpMU81ktB15rTZ5IFaHMmYkT3PTPlY0OYK1uy9wyvYThMH4cCi+oFOFqP7QDLQ236SbzkO9mC5UrOUW5PKwKM4kUAotBOv0JqgdmBSrIl1RG+3NrZyFx8OxhAMWnThSh57b+oUA7ki/zZbzmIi6FhfsdNoap51ielUe3BBQFWlvsVOqTfcxiGt0oxfgncm973RBEmEsN6FvSrjil4YZ/kHBFLfytX6zKGzDvz0uVSIOFJ9R7O+Y1Ps5sKktVAMJvp1x2trMMz+3Sdt8bn3Im7IzN/iHwAAAP//AwDnDtr+agYAAA==
87
+ http_version:
88
+ recorded_at: Thu, 21 Sep 2017 20:31:08 GMT
89
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,64 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://api.sandbox.braintreegateway.com/merchants/b/transactions/53433/submit_for_settlement
6
+ body:
7
+ encoding: UTF-8
8
+ string: |
9
+ <?xml version="1.0" encoding="UTF-8"?>
10
+ <transaction>
11
+ <amount>5.00</amount>
12
+ </transaction>
13
+ headers:
14
+ Accept-Encoding:
15
+ - gzip
16
+ Accept:
17
+ - application/xml
18
+ User-Agent:
19
+ - Braintree Ruby Gem 2.78.0 (ActiveMerchant 1.72.0)
20
+ X-Apiversion:
21
+ - '4'
22
+ Authorization:
23
+ - Basic dzN2NmQ5eXRnajRqNG56ODplYjFmODliZTlmMzYzZjYxZmZmM2Y5MDI0NDQ1NmViMg==
24
+ Content-Type:
25
+ - application/xml
26
+ response:
27
+ status:
28
+ code: 404
29
+ message: Not Found
30
+ headers:
31
+ Date:
32
+ - Thu, 21 Sep 2017 20:31:06 GMT
33
+ Content-Type:
34
+ - application/xml; charset=utf-8
35
+ Transfer-Encoding:
36
+ - chunked
37
+ X-Frame-Options:
38
+ - SAMEORIGIN
39
+ - SAMEORIGIN
40
+ X-Xss-Protection:
41
+ - 1; mode=block
42
+ X-Content-Type-Options:
43
+ - nosniff
44
+ X-Authentication:
45
+ - basic_auth
46
+ Vary:
47
+ - Accept-Encoding
48
+ Content-Encoding:
49
+ - gzip
50
+ Cache-Control:
51
+ - no-cache
52
+ X-Request-Id:
53
+ - d4f9925b-bb5e-4313-867a-4880f9eb87a5
54
+ X-Runtime:
55
+ - '0.087333'
56
+ Strict-Transport-Security:
57
+ - max-age=31536000; includeSubDomains
58
+ body:
59
+ encoding: ASCII-8BIT
60
+ string: !binary |-
61
+ H4sIAIohxFkAAwAAAP//AwAAAAAAAAAAAA==
62
+ http_version:
63
+ recorded_at: Thu, 21 Sep 2017 20:31:06 GMT
64
+ recorded_with: VCR 2.9.3