bitpay-client 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 58908ccf542a4fde0d28f13ccd59c9aae77b4916
4
- data.tar.gz: b50be1b001ab2a3a8cbf9e72619051e385855531
3
+ metadata.gz: 439da2df3cd970909db7dc7adf7591f1a689935a
4
+ data.tar.gz: 3d41a7739c173d85c865eadcd75d9516f168cfd0
5
5
  SHA512:
6
- metadata.gz: 07d7b3a8ff9dd4d6fe2a1d78dbf2f96a32268b22801498e6d08908cd0d6d09c575bae3619312663b7add7bff569c1dcf747debc7572b93d5f3389efcee14dcd5
7
- data.tar.gz: f6a7251e498a226f9e7d4f686ebb067b55a043c51a871c70db2aa4be15e81a43d56982a14c2de667c491f41ffb0bb3cb03dd4c1d5b80d4d979fe4369d3a7b2a8
6
+ metadata.gz: d045eedd20a55ccca430e50554c838c317f19ad2213c92244836b9c905cbd94eb9cead436f4acf92f5bf0a82bdc0e25fa04415fdc4818a3072eb2cab44b484db
7
+ data.tar.gz: c898022563684a77ff956fde35a3424aec50db41b59b63c3c5cdde3dd8280ba5e30dee21f43983c07b909c4f21ea6ed5c7996f782e690671a712e71c74f22c71
data/lib/bitpay/client.rb CHANGED
@@ -54,6 +54,7 @@ module BitPay
54
54
  def request(request_klass, path, params=nil)
55
55
  request = make_request(request_klass, path, params)
56
56
  response = @https.request(request)
57
+ raise BitPayError, "HTTP Status " + response.code + " with body: " + response.body unless response.kind_of?(Net::HTTPSuccess)
57
58
  return JSON.parse(response.body)
58
59
  rescue => e
59
60
  fail BitPayError, "Bitpay Request Error: #{e}"
@@ -1,3 +1,3 @@
1
1
  module BitPay
2
- VERSION = '0.1.4'
2
+ VERSION = '0.1.5'
3
3
  end
@@ -20,6 +20,10 @@ def invoice_response_body
20
20
  }
21
21
  end
22
22
 
23
+ def unauthorized_key_body
24
+ {"error" => {"type" => "unauthorized", "message" => "invalid api key"}}
25
+ end
26
+
23
27
  stub_request(:post, "https://KEY:@bitpay.com/api/invoice/create").
24
28
  with(
25
29
  :headers => {'User-Agent'=>USER_AGENT, 'Content-Type' => 'application/json'},
@@ -31,6 +35,10 @@ stub_request(:get, "https://KEY:@bitpay.com/api/invoice/DGrAEmbsXe9bavBPMJ8kuk")
31
35
  with(:headers => {'User-Agent'=>USER_AGENT}).
32
36
  to_return(:body => invoice_response_body.to_json)
33
37
 
38
+ stub_request(:get, "https://KEY:@bitpay.com/api/invoice/BADAPIKEY").
39
+ with(:headers => {'User-Agent'=>USER_AGENT}).
40
+ to_return(:status => 403, :body => unauthorized_key_body.to_json)
41
+
34
42
  describe BitPay::Client do
35
43
  before do
36
44
  @client = BitPay::Client.new 'KEY'
@@ -51,4 +59,12 @@ describe BitPay::Client do
51
59
  response['id'].must_equal 'DGrAEmbsXe9bavBPMJ8kuk'
52
60
  end
53
61
  end
62
+
63
+ describe 'bad API Key' do
64
+ it 'returns Error' do
65
+ assert_raises(BitPay::Client::BitPayError) {
66
+ response = @client.get 'invoice/BADAPIKEY'
67
+ }
68
+ end
69
+ end
54
70
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitpay-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bitpay, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-08 00:00:00.000000000 Z
11
+ date: 2014-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json