stripe_tester 0.3.3 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a5d6588a9b68ab057dd68fcc3993570646959caf
4
- data.tar.gz: d680724170f2d7dd8245ff26f21fa4f2e2905597
3
+ metadata.gz: 06f6394aa9d07f63c05ab4ec77775015f244f57e
4
+ data.tar.gz: 5f8becdc1a3db570a0113a31fea1d331ffce73a4
5
5
  SHA512:
6
- metadata.gz: 16fc57063e28c4da0d11df37ddda0a709dd4c72acbc81cebc3893b75ce1ce1f5e48f8ae7693c387ceaf8299347e3600e0f7cba5381183d46ad8fe825c1d8f673
7
- data.tar.gz: 7640f63293d9f31772a3a288bef5207aa27c85af277213c608979d9435a3e47ac153d5c1873773b04abd72d0da0ea4cc0b0acf4b3a72638ea06da7f76dc28fc8
6
+ metadata.gz: 6a5fd56e31a7bdc6ab7cb1a13922636dbe994d6dffe0edff5e891920ea2cb3ff9dc464e8fd317cd5dfd9ff5fd44b1219e9df5edab0fedfa4340cce75b5f8f906
7
+ data.tar.gz: f83c7aa752beb8d06ebb2ad1b49696814807942cf38448a69d56405ef1dcd87139d447e9cc8917a33735670efa847afdd59a1e0871a93179be176fc1e014a096
data/README.md CHANGED
@@ -10,7 +10,7 @@ StripeTester allows you to submit webhooks to your application without hitting S
10
10
 
11
11
  Add this line to your application's Gemfile:
12
12
  ```ruby
13
- gem 'stripe_tester', "~> 0.3.3"
13
+ gem 'stripe_tester', "~> 0.4.0"
14
14
  ```
15
15
  And then execute:
16
16
  ```bash
@@ -40,12 +40,17 @@ In your test:
40
40
  StripeTester.webhook_url = "https://www.secure-example.com/my_post_url"
41
41
  ```
42
42
 
43
- 2. If you want to specify which Stripe webhook API version you would like to use (the default will be the latest [supported version](https://github.com/buttercloud/stripe_tester#supported-stripe-webhook-api-versions)):
43
+ 2. If your URL is secured with a self-signed SSL certificate, disable SSL verification:
44
+ ```ruby
45
+ StripeTester.verify_ssl = false
46
+ ```
47
+
48
+ 3. If you want to specify which Stripe webhook API version you would like to use (the default will be the latest [supported version](https://github.com/buttercloud/stripe_tester#supported-stripe-webhook-api-versions)):
44
49
  ```ruby
45
50
  StripeTester.stripe_version = "2015-10-16"
46
51
  ```
47
52
 
48
- 3. Send the webhook. This will send a POST request to the URL with the event data as JSON:
53
+ 4. Send the webhook. This will send a POST request to the URL with the event data as JSON:
49
54
  ```ruby
50
55
  # as a symbol
51
56
  StripeTester.create_event(:invoice_created)
@@ -67,6 +67,7 @@ module StripeTester
67
67
 
68
68
  http_object = Net::HTTP.new(post_url.hostname, post_url.port)
69
69
  http_object.use_ssl = true if post_url.scheme == 'https'
70
+ http_object.verify_mode = OpenSSL::SSL::VERIFY_NONE if (!verify_ssl? && http_object.use_ssl?)
70
71
 
71
72
  # send request
72
73
  res = http_object.start do |http|
@@ -74,10 +75,10 @@ module StripeTester
74
75
  end
75
76
 
76
77
  case res
77
- when Net::HTTPSuccess, Net::HTTPRedirection
78
- true
79
- else
80
- res.value
78
+ when Net::HTTPSuccess, Net::HTTPRedirection
79
+ true
80
+ else
81
+ res.value
81
82
  end
82
83
  else
83
84
  raise "Could not post to URL. Please set URL."
@@ -131,4 +132,13 @@ module StripeTester
131
132
  def self.stripe_version
132
133
  @version ? @version : LATEST_STRIPE_VERSION
133
134
  end
135
+
136
+ def self.verify_ssl=(verify)
137
+ @verify_ssl = verify
138
+ end
139
+
140
+ def self.verify_ssl?
141
+ !@verify_ssl.nil? ? @verify_ssl : true
142
+ end
143
+
134
144
  end
@@ -1,3 +1,3 @@
1
1
  module StripeTester
2
- VERSION = "0.3.3"
2
+ VERSION = "0.4.0"
3
3
  end
@@ -12,6 +12,7 @@ describe StripeTester do
12
12
 
13
13
  after(:each) do
14
14
  StripeTester.stripe_version = nil
15
+ StripeTester.verify_ssl = nil
15
16
  end
16
17
 
17
18
  it "#load_template should return hash" do
@@ -56,6 +57,18 @@ describe StripeTester do
56
57
  expect(result_url.to_s).to eq(url)
57
58
  end
58
59
 
60
+ it "#verify_ssl should default to true" do
61
+ result_verify = StripeTester.verify_ssl?
62
+ expect(result_verify).to eq(true)
63
+ end
64
+
65
+ it "#verify_ssl should set the verify_ssl flag" do
66
+ verify = false
67
+ StripeTester.verify_ssl = verify
68
+
69
+ expect(StripeTester.verify_ssl?).to eq(verify)
70
+ end
71
+
59
72
  it "#webhook_url should store url as and URI object" do
60
73
  url = 'http://www.hello.com'
61
74
  StripeTester.webhook_url = url
@@ -117,6 +130,23 @@ describe StripeTester do
117
130
  expect(response).to be_truthy
118
131
  end
119
132
 
133
+ it "#post_to_url should support HTTPS without SSL verification" do
134
+ data = StripeTester.load_template(:invoice_created)
135
+ url = "https://localhost:3000/pathname"
136
+ verify = false
137
+ StripeTester.webhook_url = url
138
+ StripeTester.verify_ssl = verify
139
+
140
+ FakeWeb.register_uri(:post,
141
+ url,
142
+ body: data.to_json,
143
+ content_type: 'application/json')
144
+
145
+ response = StripeTester.post_to_url(data)
146
+
147
+ expect(response).to be_truthy
148
+ end
149
+
120
150
  it "#overwrite_attributes should overwrite attributes in default data to custom data" do
121
151
  original_data = {name: 'john smith', info: {age: 45, gender: 'male'}}
122
152
  overwrite_data = {name: 'smith john', age: 99}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stripe_tester
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Buttercloud
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-14 00:00:00.000000000 Z
11
+ date: 2016-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler