killbill-client 2.2.0 → 2.2.1
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 +4 -4
- data/.circleci/config.yml +12 -12
- data/lib/killbill_client/api/errors.rb +11 -0
- data/lib/killbill_client/api/net_http_adapter.rb +2 -0
- data/lib/killbill_client/models/invoice_item.rb +29 -0
- data/lib/killbill_client/version.rb +1 -1
- data/lib/killbill_client.rb +1 -0
- data/spec/killbill_client/remote/api_spec.rb +40 -0
- data/spec/killbill_client/remote/model_spec.rb +6 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 44af1bd991b778b064fef43d2267e75b834ffe01
|
4
|
+
data.tar.gz: e51ee0a3a893b671cf8132e989d984779f32397a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1b6517848128aeebefbb610fcdb5918e4fef7de7ef6138f45a5b4323464b82a456dc7d053e3990f143aa96ea3e85b0f47b649e774785fb3bd07d85e1359ed12
|
7
|
+
data.tar.gz: b2f7d36bf61d137218de09f8aae734ff13ada57cf9e73e171295e892d1b64d1ecdc7acba8f8476e7d664f7ce30eb3eb778fbad3638bc617db960b5d8507723f1
|
data/.circleci/config.yml
CHANGED
@@ -8,7 +8,7 @@ jobs:
|
|
8
8
|
build-jruby-1.7.26:
|
9
9
|
<<: *defaults
|
10
10
|
docker:
|
11
|
-
- image: killbill/kbbuild:0.
|
11
|
+
- image: killbill/kbbuild:0.4.0
|
12
12
|
steps:
|
13
13
|
- checkout
|
14
14
|
- restore_cache:
|
@@ -27,8 +27,8 @@ jobs:
|
|
27
27
|
test-mysql-jruby-1.7.26:
|
28
28
|
<<: *defaults
|
29
29
|
docker:
|
30
|
-
- image: killbill/kbbuild:0.
|
31
|
-
- image: killbill/killbill:0.19.
|
30
|
+
- image: killbill/kbbuild:0.4.0
|
31
|
+
- image: killbill/killbill:0.19.6
|
32
32
|
- image: killbill/mariadb:0.19
|
33
33
|
environment:
|
34
34
|
- MYSQL_ROOT_PASSWORD=root
|
@@ -88,7 +88,7 @@ jobs:
|
|
88
88
|
build-ruby-2.2.2:
|
89
89
|
<<: *defaults
|
90
90
|
docker:
|
91
|
-
- image: killbill/kbbuild:0.
|
91
|
+
- image: killbill/kbbuild:0.4.0
|
92
92
|
steps:
|
93
93
|
- checkout
|
94
94
|
- restore_cache:
|
@@ -109,8 +109,8 @@ jobs:
|
|
109
109
|
test-mysql-ruby-2.2.2:
|
110
110
|
<<: *defaults
|
111
111
|
docker:
|
112
|
-
- image: killbill/kbbuild:0.
|
113
|
-
- image: killbill/killbill:0.19.
|
112
|
+
- image: killbill/kbbuild:0.4.0
|
113
|
+
- image: killbill/killbill:0.19.6
|
114
114
|
- image: killbill/mariadb:0.19
|
115
115
|
environment:
|
116
116
|
- MYSQL_ROOT_PASSWORD=root
|
@@ -172,7 +172,7 @@ jobs:
|
|
172
172
|
build-ruby-2.4.2:
|
173
173
|
<<: *defaults
|
174
174
|
docker:
|
175
|
-
- image: killbill/kbbuild:0.
|
175
|
+
- image: killbill/kbbuild:0.4.0
|
176
176
|
steps:
|
177
177
|
- checkout
|
178
178
|
- restore_cache:
|
@@ -193,8 +193,8 @@ jobs:
|
|
193
193
|
test-mysql-ruby-2.4.2:
|
194
194
|
<<: *defaults
|
195
195
|
docker:
|
196
|
-
- image: killbill/kbbuild:0.
|
197
|
-
- image: killbill/killbill:0.19.
|
196
|
+
- image: killbill/kbbuild:0.4.0
|
197
|
+
- image: killbill/killbill:0.19.6
|
198
198
|
- image: killbill/mariadb:0.19
|
199
199
|
environment:
|
200
200
|
- MYSQL_ROOT_PASSWORD=root
|
@@ -256,7 +256,7 @@ jobs:
|
|
256
256
|
build-jruby-9.1.14.0:
|
257
257
|
<<: *defaults
|
258
258
|
docker:
|
259
|
-
- image: killbill/kbbuild:0.
|
259
|
+
- image: killbill/kbbuild:0.4.0
|
260
260
|
steps:
|
261
261
|
- checkout
|
262
262
|
- restore_cache:
|
@@ -277,8 +277,8 @@ jobs:
|
|
277
277
|
test-mysql-jruby-9.1.14.0:
|
278
278
|
<<: *defaults
|
279
279
|
docker:
|
280
|
-
- image: killbill/kbbuild:0.
|
281
|
-
- image: killbill/killbill:0.19.
|
280
|
+
- image: killbill/kbbuild:0.4.0
|
281
|
+
- image: killbill/killbill:0.19.6
|
282
282
|
- image: killbill/mariadb:0.19
|
283
283
|
environment:
|
284
284
|
- MYSQL_ROOT_PASSWORD=root
|
@@ -114,6 +114,16 @@ module KillBillClient
|
|
114
114
|
class NotAcceptable < ClientError
|
115
115
|
end
|
116
116
|
|
117
|
+
# === 409 Conflict
|
118
|
+
#
|
119
|
+
# The request content type was not acceptable.
|
120
|
+
#
|
121
|
+
# The resource was found. This may be returned if the given
|
122
|
+
# key exists. The response body will explain
|
123
|
+
# which resource was found.
|
124
|
+
class Conflict < ClientError
|
125
|
+
end
|
126
|
+
|
117
127
|
# === 415 Unsupported Media Type
|
118
128
|
#
|
119
129
|
# The request body was not recognized as XML.
|
@@ -181,6 +191,7 @@ module KillBillClient
|
|
181
191
|
403 => Forbidden,
|
182
192
|
404 => NotFound,
|
183
193
|
406 => NotAcceptable,
|
194
|
+
409 => Conflict,
|
184
195
|
415 => UnsupportedMediaType,
|
185
196
|
422 => UnprocessableEntity,
|
186
197
|
500 => InternalServerError,
|
@@ -48,6 +48,8 @@ module KillBillClient
|
|
48
48
|
|
49
49
|
return nil unless (options[:params] && !options[:params].empty?)
|
50
50
|
|
51
|
+
options[:params][:withStackTrace] = true if (options[:return_full_stacktraces] || KillBillClient.return_full_stacktraces)
|
52
|
+
|
51
53
|
pairs = options[:params].map { |key, value|
|
52
54
|
# If the value is an array, we 'demultiplex' into several
|
53
55
|
if value.is_a? Array
|
@@ -12,6 +12,35 @@ module KillBillClient
|
|
12
12
|
|
13
13
|
has_many :audit_logs, KillBillClient::Model::AuditLog
|
14
14
|
|
15
|
+
# DO NOT DELETE THIS METHOD
|
16
|
+
def tags(included_deleted = false, audit = 'NONE', options = {})
|
17
|
+
params = {}
|
18
|
+
# Non-standard, required, parameter
|
19
|
+
params[:accountId] = account_id
|
20
|
+
params[:includedDeleted] = included_deleted if included_deleted
|
21
|
+
params[:audit] = audit
|
22
|
+
self.class.get "#{KILLBILL_API_INVOICE_ITEMS_PREFIX}/#{invoice_item_id}/tags",
|
23
|
+
params,
|
24
|
+
options,
|
25
|
+
Tag
|
26
|
+
end
|
27
|
+
|
28
|
+
# DO NOT DELETE THIS METHOD
|
29
|
+
def add_tags_from_definition_ids(tag_definition_ids, user, reason, comment, options)
|
30
|
+
created_tag = self.class.post "#{KILLBILL_API_INVOICE_ITEMS_PREFIX}/#{invoice_item_id}/tags",
|
31
|
+
{},
|
32
|
+
{
|
33
|
+
:tagList => tag_definition_ids.join(',')
|
34
|
+
},
|
35
|
+
{
|
36
|
+
:user => user,
|
37
|
+
:reason => reason,
|
38
|
+
:comment => comment,
|
39
|
+
}.merge(options),
|
40
|
+
Tag
|
41
|
+
tags(false, 'NONE', options) unless created_tag.nil?
|
42
|
+
end
|
43
|
+
|
15
44
|
def create(auto_commit = false, user = nil, reason = nil, comment = nil, options = {})
|
16
45
|
created_invoice_item = self.class.post "#{Invoice::KILLBILL_API_INVOICES_PREFIX}/charges/#{account_id}",
|
17
46
|
[to_hash].to_json,
|
data/lib/killbill_client.rb
CHANGED
@@ -7,4 +7,44 @@ describe KillBillClient::API do
|
|
7
7
|
tag_definitions = KillBillClient::Model::Resource.from_response KillBillClient::Model::TagDefinition, response
|
8
8
|
expect(tag_definitions.size).to be > 1
|
9
9
|
end
|
10
|
+
|
11
|
+
it 'requests stacktraces on demand', :integration => true do
|
12
|
+
KillBillClient.api_key = Time.now.to_i.to_s + rand(100).to_s
|
13
|
+
KillBillClient.api_secret = KillBillClient.api_key
|
14
|
+
|
15
|
+
tenant = KillBillClient::Model::Tenant.new
|
16
|
+
tenant.api_key = KillBillClient.api_key
|
17
|
+
tenant.api_secret = KillBillClient.api_secret
|
18
|
+
tenant.create(true, 'KillBill Spec test')
|
19
|
+
|
20
|
+
begin
|
21
|
+
KillBillClient.return_full_stacktraces = true
|
22
|
+
tenant.create(true, 'KillBill Spec test')
|
23
|
+
fail
|
24
|
+
rescue KillBillClient::API::InternalServerError => e
|
25
|
+
billing_exception = JSON.parse(e.response.body)
|
26
|
+
expect(billing_exception['className']).to eq('java.lang.RuntimeException')
|
27
|
+
expect(billing_exception['stackTrace'].size).to be >= 90
|
28
|
+
ensure
|
29
|
+
KillBillClient.return_full_stacktraces = false
|
30
|
+
end
|
31
|
+
|
32
|
+
begin
|
33
|
+
tenant.create(true, 'KillBill Spec test')
|
34
|
+
fail
|
35
|
+
rescue KillBillClient::API::InternalServerError => e
|
36
|
+
billing_exception = JSON.parse(e.response.body)
|
37
|
+
expect(billing_exception['className']).to eq('java.lang.RuntimeException')
|
38
|
+
expect(billing_exception['stackTrace'].size).to be == 0
|
39
|
+
end
|
40
|
+
|
41
|
+
begin
|
42
|
+
tenant.create(true, 'KillBill Spec test', nil, nil, {:return_full_stacktraces => true})
|
43
|
+
fail
|
44
|
+
rescue KillBillClient::API::InternalServerError => e
|
45
|
+
billing_exception = JSON.parse(e.response.body)
|
46
|
+
expect(billing_exception['className']).to eq('java.lang.RuntimeException')
|
47
|
+
expect(billing_exception['stackTrace'].size).to be >= 50
|
48
|
+
end
|
49
|
+
end
|
10
50
|
end
|
@@ -2,6 +2,8 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe KillBillClient::Model do
|
4
4
|
before do
|
5
|
+
KillBillClient.return_full_stacktraces = true
|
6
|
+
|
5
7
|
KillBillClient.api_key = Time.now.to_i.to_s + rand(100).to_s
|
6
8
|
KillBillClient.api_secret = KillBillClient.api_key
|
7
9
|
|
@@ -11,6 +13,10 @@ describe KillBillClient::Model do
|
|
11
13
|
tenant.create(true, 'KillBill Spec test')
|
12
14
|
end
|
13
15
|
|
16
|
+
after do
|
17
|
+
KillBillClient.return_full_stacktraces = false
|
18
|
+
end
|
19
|
+
|
14
20
|
it 'should manipulate accounts', :integration => true do
|
15
21
|
# In case the remote server has lots of data
|
16
22
|
search_limit = 100000
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: killbill-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Killbill core team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|