killbill 4.4.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/Jarfile +8 -7
  4. data/Jarfile.lock +8 -7
  5. data/NEWS +4 -0
  6. data/gen_config/plugin_api.conf +4 -2
  7. data/generators/active_merchant/templates/Jarfile.rb +8 -7
  8. data/generators/active_merchant/templates/config.yml.rb +4 -1
  9. data/generators/active_merchant/templates/db/ddl.sql.rb +73 -73
  10. data/generators/active_merchant/templates/plugin.gemspec.rb +1 -0
  11. data/generators/active_merchant/templates/spec/integration_spec.rb +4 -3
  12. data/lib/killbill/entitlement.rb +23 -0
  13. data/lib/killbill/gen/api/entitlement_api.rb +72 -18
  14. data/lib/killbill/gen/plugin-api/control_result.rb +70 -0
  15. data/lib/killbill/gen/plugin-api/entitlement_context.rb +215 -0
  16. data/lib/killbill/gen/plugin-api/entitlement_plugin_api.rb +138 -0
  17. data/lib/killbill/gen/plugin-api/entitlement_plugin_api_exception.rb +51 -0
  18. data/lib/killbill/gen/plugin-api/{on_success_payment_routing_result.rb → on_failure_entitlement_result.rb} +3 -3
  19. data/lib/killbill/gen/plugin-api/{on_failure_payment_routing_result.rb → on_failure_payment_control_result.rb} +23 -4
  20. data/lib/killbill/gen/plugin-api/on_success_entitlement_result.rb +53 -0
  21. data/lib/killbill/gen/plugin-api/on_success_payment_control_result.rb +70 -0
  22. data/lib/killbill/gen/plugin-api/{payment_routing_api_exception.rb → payment_control_api_exception.rb} +2 -2
  23. data/lib/killbill/gen/plugin-api/{payment_routing_context.rb → payment_control_context.rb} +18 -23
  24. data/lib/killbill/gen/plugin-api/{payment_routing_plugin_api.rb → payment_control_plugin_api.rb} +15 -15
  25. data/lib/killbill/gen/plugin-api/prior_entitlement_result.rb +119 -0
  26. data/lib/killbill/gen/plugin-api/{prior_payment_routing_result.rb → prior_payment_control_result.rb} +21 -21
  27. data/lib/killbill/gen/plugin-api/require_gen.rb +13 -6
  28. data/lib/killbill/helpers/active_merchant/active_record/models/payment_method.rb +4 -5
  29. data/lib/killbill/helpers/active_merchant/active_record/models/response.rb +15 -2
  30. data/lib/killbill/helpers/active_merchant/configuration.rb +1 -1
  31. data/lib/killbill/helpers/active_merchant/payment_plugin.rb +1 -1
  32. data/lib/killbill/killbill_logger.rb +2 -0
  33. data/lib/killbill/payment_control.rb +4 -4
  34. data/lib/killbill/version.rb +1 -1
  35. data/spec/killbill/helpers/payment_method_spec.rb +2 -2
  36. data/spec/killbill/helpers/payment_plugin_spec.rb +11 -0
  37. data/spec/killbill/helpers/response_spec.rb +2 -2
  38. data/spec/killbill/killbill_logger_spec.rb +2 -0
  39. metadata +17 -9
@@ -29,17 +29,26 @@ module Killbill
29
29
  module Plugin
30
30
  module Model
31
31
 
32
- java_package 'org.killbill.billing.routing.plugin.api'
33
- class PriorPaymentRoutingResult
32
+ java_package 'org.killbill.billing.control.plugin.api'
33
+ class PriorPaymentControlResult
34
34
 
35
- include org.killbill.billing.routing.plugin.api.PriorPaymentRoutingResult
35
+ include org.killbill.billing.control.plugin.api.PriorPaymentControlResult
36
36
 
37
- attr_accessor :is_aborted, :adjusted_amount, :adjusted_currency, :adjusted_payment_method_id, :adjusted_plugin_properties
37
+ attr_accessor :adjusted_plugin_properties, :is_aborted, :adjusted_amount, :adjusted_currency, :adjusted_payment_method_id
38
38
 
39
39
  def initialize()
40
40
  end
41
41
 
42
42
  def to_java()
43
+ # conversion for adjusted_plugin_properties [type = java.lang.Iterable]
44
+ tmp = java.util.ArrayList.new
45
+ (@adjusted_plugin_properties || []).each do |m|
46
+ # conversion for m [type = org.killbill.billing.payment.api.PluginProperty]
47
+ m = m.to_java unless m.nil?
48
+ tmp.add(m)
49
+ end
50
+ @adjusted_plugin_properties = tmp
51
+
43
52
  # conversion for is_aborted [type = boolean]
44
53
  @is_aborted = @is_aborted.nil? ? java.lang.Boolean.new(false) : java.lang.Boolean.new(@is_aborted)
45
54
 
@@ -55,19 +64,20 @@ module Killbill
55
64
 
56
65
  # conversion for adjusted_payment_method_id [type = java.util.UUID]
57
66
  @adjusted_payment_method_id = java.util.UUID.fromString(@adjusted_payment_method_id.to_s) unless @adjusted_payment_method_id.nil?
67
+ self
68
+ end
58
69
 
70
+ def to_ruby(j_obj)
59
71
  # conversion for adjusted_plugin_properties [type = java.lang.Iterable]
60
- tmp = java.util.ArrayList.new
61
- (@adjusted_plugin_properties || []).each do |m|
72
+ @adjusted_plugin_properties = j_obj.adjusted_plugin_properties
73
+ tmp = []
74
+ (@adjusted_plugin_properties.nil? ? [] : @adjusted_plugin_properties.iterator).each do |m|
62
75
  # conversion for m [type = org.killbill.billing.payment.api.PluginProperty]
63
- m = m.to_java unless m.nil?
64
- tmp.add(m)
76
+ m = Killbill::Plugin::Model::PluginProperty.new.to_ruby(m) unless m.nil?
77
+ tmp << m
65
78
  end
66
79
  @adjusted_plugin_properties = tmp
67
- self
68
- end
69
80
 
70
- def to_ruby(j_obj)
71
81
  # conversion for is_aborted [type = boolean]
72
82
  @is_aborted = j_obj.is_aborted
73
83
  if @is_aborted.nil?
@@ -88,16 +98,6 @@ module Killbill
88
98
  # conversion for adjusted_payment_method_id [type = java.util.UUID]
89
99
  @adjusted_payment_method_id = j_obj.adjusted_payment_method_id
90
100
  @adjusted_payment_method_id = @adjusted_payment_method_id.nil? ? nil : @adjusted_payment_method_id.to_s
91
-
92
- # conversion for adjusted_plugin_properties [type = java.lang.Iterable]
93
- @adjusted_plugin_properties = j_obj.adjusted_plugin_properties
94
- tmp = []
95
- (@adjusted_plugin_properties.nil? ? [] : @adjusted_plugin_properties.iterator).each do |m|
96
- # conversion for m [type = org.killbill.billing.payment.api.PluginProperty]
97
- m = Killbill::Plugin::Model::PluginProperty.new.to_ruby(m) unless m.nil?
98
- tmp << m
99
- end
100
- @adjusted_plugin_properties = tmp
101
101
  self
102
102
  end
103
103
 
@@ -32,15 +32,22 @@ require 'killbill/gen/plugin-api/ext_bus_event'
32
32
  require 'killbill/gen/plugin-api/notification_plugin_api'
33
33
  require 'killbill/gen/plugin-api/invoice_plugin_api'
34
34
  require 'killbill/gen/plugin-api/currency_plugin_api'
35
- require 'killbill/gen/plugin-api/on_failure_payment_routing_result'
36
- require 'killbill/gen/plugin-api/on_success_payment_routing_result'
37
- require 'killbill/gen/plugin-api/payment_routing_api_exception'
38
- require 'killbill/gen/plugin-api/payment_routing_context'
39
- require 'killbill/gen/plugin-api/payment_routing_plugin_api'
40
- require 'killbill/gen/plugin-api/prior_payment_routing_result'
35
+ require 'killbill/gen/plugin-api/control_result'
36
+ require 'killbill/gen/plugin-api/on_failure_payment_control_result'
37
+ require 'killbill/gen/plugin-api/on_success_payment_control_result'
38
+ require 'killbill/gen/plugin-api/payment_control_api_exception'
39
+ require 'killbill/gen/plugin-api/payment_control_context'
40
+ require 'killbill/gen/plugin-api/payment_control_plugin_api'
41
+ require 'killbill/gen/plugin-api/prior_payment_control_result'
41
42
  require 'killbill/gen/plugin-api/catalog_plugin_api'
42
43
  require 'killbill/gen/plugin-api/standalone_plugin_catalog'
43
44
  require 'killbill/gen/plugin-api/versioned_plugin_catalog'
45
+ require 'killbill/gen/plugin-api/entitlement_context'
46
+ require 'killbill/gen/plugin-api/entitlement_plugin_api'
47
+ require 'killbill/gen/plugin-api/entitlement_plugin_api_exception'
48
+ require 'killbill/gen/plugin-api/on_failure_entitlement_result'
49
+ require 'killbill/gen/plugin-api/on_success_entitlement_result'
50
+ require 'killbill/gen/plugin-api/prior_entitlement_result'
44
51
  require 'killbill/gen/plugin-api/gateway_notification'
45
52
  require 'killbill/gen/plugin-api/hosted_payment_page_form_descriptor'
46
53
  require 'killbill/gen/plugin-api/payment_transaction_info_plugin'
@@ -45,14 +45,14 @@ module Killbill
45
45
 
46
46
  def self.from_kb_account_id(kb_account_id, kb_tenant_id)
47
47
  if kb_tenant_id.nil?
48
- where("kb_account_id = #{@@quotes_cache[kb_account_id]} AND kb_tenant_id is NULL AND is_deleted = #{@@quotes_cache[false]}")
48
+ where("kb_account_id = #{@@quotes_cache[kb_account_id]} AND kb_tenant_id is NULL AND is_deleted = #{@@quotes_cache[false]}").order(:id)
49
49
  else
50
- where("kb_account_id = #{@@quotes_cache[kb_account_id]} AND kb_tenant_id = #{@@quotes_cache[kb_tenant_id]} AND is_deleted = #{@@quotes_cache[false]}")
50
+ where("kb_account_id = #{@@quotes_cache[kb_account_id]} AND kb_tenant_id = #{@@quotes_cache[kb_tenant_id]} AND is_deleted = #{@@quotes_cache[false]}").order(:id)
51
51
  end
52
52
  end
53
53
 
54
54
  def self.from_kb_account_id_and_token(token, kb_account_id, kb_tenant_id)
55
- from_kb_account_id(kb_account_id, kb_tenant_id).where("token = #{@@quotes_cache[token]}")
55
+ from_kb_account_id(kb_account_id, kb_tenant_id).where("token = #{@@quotes_cache[token]}").order(:id)
56
56
  end
57
57
 
58
58
  def self.from_kb_payment_method_id(kb_payment_method_id, kb_tenant_id)
@@ -103,16 +103,15 @@ module Killbill
103
103
 
104
104
  if kb_tenant_id.nil?
105
105
  query = t.where(search_where_clause(t, search_key))
106
- .order(t[:id])
107
106
  else
108
107
  query = t.where(search_where_clause(t, search_key).and(t[:kb_tenant_id].eq(kb_tenant_id)))
109
- .order(t[:id])
110
108
  end
111
109
 
112
110
  if offset.blank? and limit.blank?
113
111
  # true is for count distinct
114
112
  query.project(t[:id].count(true))
115
113
  else
114
+ query.order(t[:id])
116
115
  query.skip(offset) unless offset.blank?
117
116
  query.take(limit) unless limit.blank?
118
117
  query.project(t[Arel.star])
@@ -176,16 +176,15 @@ module Killbill
176
176
 
177
177
  if kb_tenant_id.nil?
178
178
  query = t.where(search_where_clause(t, search_key))
179
- .order(t[:id])
180
179
  else
181
180
  query = t.where(search_where_clause(t, search_key).and(t[:kb_tenant_id].eq(kb_tenant_id)))
182
- .order(t[:id])
183
181
  end
184
182
 
185
183
  if offset.blank? and limit.blank?
186
184
  # true is for count distinct
187
185
  query.project(t[:id].count(true))
188
186
  else
187
+ query.order(t[:id])
189
188
  query.skip(offset) unless offset.blank?
190
189
  query.take(limit) unless limit.blank?
191
190
  query.project(t[Arel.star])
@@ -239,6 +238,20 @@ module Killbill
239
238
  nil
240
239
  end
241
240
 
241
+ # authorization was the old name (reserved on PostgreSQL) - make sure we support both column names for backward compatibility
242
+
243
+ def authorization=(auth)
244
+ write_attribute(column_for_attribute('authorization').name, auth)
245
+ end
246
+
247
+ def authorization
248
+ read_attribute(column_for_attribute('authorization').name)
249
+ end
250
+
251
+ def column_for_attribute(name)
252
+ name == 'authorization' ? (super('authorisation') || super('authorization')) : super(name)
253
+ end
254
+
242
255
  private
243
256
 
244
257
  def create_plugin_property(key, value)
@@ -122,7 +122,7 @@ module Killbill
122
122
  @@glob_config = {}
123
123
  end
124
124
 
125
- @@logger.log_level = Logger::DEBUG if (@@glob_config[:logger] || {})[:debug]
125
+ @@logger.level = Logger::DEBUG if (@@glob_config[:logger] || {})[:debug]
126
126
 
127
127
  @@glob_currency_conversions = @@glob_config[:currency_conversions]
128
128
 
@@ -146,7 +146,7 @@ module Killbill
146
146
 
147
147
  def search_payments(search_key, offset = 0, limit = 100, properties, context)
148
148
  options = properties_to_hash(properties)
149
- @response_model.search(search_key, context.tenant_id, offset, limit, :payment)
149
+ @response_model.search(search_key, context.tenant_id, offset, limit)
150
150
  end
151
151
 
152
152
  def add_payment_method(kb_account_id, kb_payment_method_id, payment_method_props, set_default, properties, context)
@@ -30,6 +30,8 @@ module Killbill
30
30
  @logger.log(1, build_message(message, &block)) if error?
31
31
  end
32
32
 
33
+ alias_method :level=, :log_level=
34
+
33
35
  # Rack Error stream
34
36
  alias_method :puts, :warn
35
37
  alias_method :write, :warn
@@ -2,20 +2,20 @@ require 'killbill/plugin'
2
2
 
3
3
  module Killbill
4
4
  module Plugin
5
- class PaymentRoutingPluginApi < Notification
5
+ class PaymentControlPluginApi < Notification
6
6
 
7
7
  class OperationUnsupportedByGatewayError < NotImplementedError
8
8
  end
9
9
 
10
- def prior_call(routing_context, properties)
10
+ def prior_call(control_context, properties)
11
11
  raise OperationUnsupportedByGatewayError
12
12
  end
13
13
 
14
- def on_success_call(routing_context, properties)
14
+ def on_success_call(control_context, properties)
15
15
  raise OperationUnsupportedByGatewayError
16
16
  end
17
17
 
18
- def on_failure_call(routing_context, properties)
18
+ def on_failure_call(control_context, properties)
19
19
  raise OperationUnsupportedByGatewayError
20
20
  end
21
21
  end
@@ -1,3 +1,3 @@
1
1
  module Killbill
2
- VERSION = '4.4.0'
2
+ VERSION = '5.0.0'
3
3
  end
@@ -182,7 +182,7 @@ describe Killbill::Plugin::ActiveMerchant::ActiveRecord::PaymentMethod do
182
182
 
183
183
  it 'should generate the right SQL query' do
184
184
  # Check count query (search query numeric)
185
- expected_query = "SELECT COUNT(DISTINCT #{q('test_payment_methods')}.#{q('id')}) FROM #{q('test_payment_methods')} WHERE ((((((((((((((#{q('test_payment_methods')}.#{q('kb_account_id')} = '1234' OR #{q('test_payment_methods')}.#{q('kb_payment_method_id')} = '1234') OR #{q('test_payment_methods')}.#{q('token')} = '1234') OR #{q('test_payment_methods')}.#{q('cc_type')} = '1234') OR #{q('test_payment_methods')}.#{q('state')} = '1234') OR #{q('test_payment_methods')}.#{q('zip')} = '1234') OR #{q('test_payment_methods')}.#{q('cc_first_name')} LIKE '%1234%') OR #{q('test_payment_methods')}.#{q('cc_last_name')} LIKE '%1234%') OR #{q('test_payment_methods')}.#{q('address1')} LIKE '%1234%') OR #{q('test_payment_methods')}.#{q('address2')} LIKE '%1234%') OR #{q('test_payment_methods')}.#{q('city')} LIKE '%1234%') OR #{q('test_payment_methods')}.#{q('country')} LIKE '%1234%') OR #{q('test_payment_methods')}.#{q('cc_exp_month')} = '1234') OR #{q('test_payment_methods')}.#{q('cc_exp_year')} = '1234') OR #{q('test_payment_methods')}.#{q('cc_last_4')} = '1234') AND #{q('test_payment_methods')}.#{q('kb_tenant_id')} = '11-22-33' ORDER BY #{q('test_payment_methods')}.#{q('id')}"
185
+ expected_query = "SELECT COUNT(DISTINCT #{q('test_payment_methods')}.#{q('id')}) FROM #{q('test_payment_methods')} WHERE ((((((((((((((#{q('test_payment_methods')}.#{q('kb_account_id')} = '1234' OR #{q('test_payment_methods')}.#{q('kb_payment_method_id')} = '1234') OR #{q('test_payment_methods')}.#{q('token')} = '1234') OR #{q('test_payment_methods')}.#{q('cc_type')} = '1234') OR #{q('test_payment_methods')}.#{q('state')} = '1234') OR #{q('test_payment_methods')}.#{q('zip')} = '1234') OR #{q('test_payment_methods')}.#{q('cc_first_name')} LIKE '%1234%') OR #{q('test_payment_methods')}.#{q('cc_last_name')} LIKE '%1234%') OR #{q('test_payment_methods')}.#{q('address1')} LIKE '%1234%') OR #{q('test_payment_methods')}.#{q('address2')} LIKE '%1234%') OR #{q('test_payment_methods')}.#{q('city')} LIKE '%1234%') OR #{q('test_payment_methods')}.#{q('country')} LIKE '%1234%') OR #{q('test_payment_methods')}.#{q('cc_exp_month')} = '1234') OR #{q('test_payment_methods')}.#{q('cc_exp_year')} = '1234') OR #{q('test_payment_methods')}.#{q('cc_last_4')} = '1234') AND #{q('test_payment_methods')}.#{q('kb_tenant_id')} = '11-22-33'"
186
186
  # Note that Kill Bill will pass a String, even for numeric types
187
187
  ::Killbill::Test::TestPaymentMethod.search_query('1234', '11-22-33').to_sql.should == expected_query
188
188
 
@@ -192,7 +192,7 @@ describe Killbill::Plugin::ActiveMerchant::ActiveRecord::PaymentMethod do
192
192
  ::Killbill::Test::TestPaymentMethod.search_query('1234', '11-22-33', 0, 10).to_sql.should == expected_query
193
193
 
194
194
  # Check count query (search query string)
195
- expected_query = "SELECT COUNT(DISTINCT #{q('test_payment_methods')}.#{q('id')}) FROM #{q('test_payment_methods')} WHERE (((((((((((#{q('test_payment_methods')}.#{q('kb_account_id')} = 'XXX' OR #{q('test_payment_methods')}.#{q('kb_payment_method_id')} = 'XXX') OR #{q('test_payment_methods')}.#{q('token')} = 'XXX') OR #{q('test_payment_methods')}.#{q('cc_type')} = 'XXX') OR #{q('test_payment_methods')}.#{q('state')} = 'XXX') OR #{q('test_payment_methods')}.#{q('zip')} = 'XXX') OR #{q('test_payment_methods')}.#{q('cc_first_name')} LIKE '%XXX%') OR #{q('test_payment_methods')}.#{q('cc_last_name')} LIKE '%XXX%') OR #{q('test_payment_methods')}.#{q('address1')} LIKE '%XXX%') OR #{q('test_payment_methods')}.#{q('address2')} LIKE '%XXX%') OR #{q('test_payment_methods')}.#{q('city')} LIKE '%XXX%') OR #{q('test_payment_methods')}.#{q('country')} LIKE '%XXX%') AND #{q('test_payment_methods')}.#{q('kb_tenant_id')} = '11-22-33' ORDER BY #{q('test_payment_methods')}.#{q('id')}"
195
+ expected_query = "SELECT COUNT(DISTINCT #{q('test_payment_methods')}.#{q('id')}) FROM #{q('test_payment_methods')} WHERE (((((((((((#{q('test_payment_methods')}.#{q('kb_account_id')} = 'XXX' OR #{q('test_payment_methods')}.#{q('kb_payment_method_id')} = 'XXX') OR #{q('test_payment_methods')}.#{q('token')} = 'XXX') OR #{q('test_payment_methods')}.#{q('cc_type')} = 'XXX') OR #{q('test_payment_methods')}.#{q('state')} = 'XXX') OR #{q('test_payment_methods')}.#{q('zip')} = 'XXX') OR #{q('test_payment_methods')}.#{q('cc_first_name')} LIKE '%XXX%') OR #{q('test_payment_methods')}.#{q('cc_last_name')} LIKE '%XXX%') OR #{q('test_payment_methods')}.#{q('address1')} LIKE '%XXX%') OR #{q('test_payment_methods')}.#{q('address2')} LIKE '%XXX%') OR #{q('test_payment_methods')}.#{q('city')} LIKE '%XXX%') OR #{q('test_payment_methods')}.#{q('country')} LIKE '%XXX%') AND #{q('test_payment_methods')}.#{q('kb_tenant_id')} = '11-22-33'"
196
196
  ::Killbill::Test::TestPaymentMethod.search_query('XXX', '11-22-33').to_sql.should == expected_query
197
197
 
198
198
  # Check query with results (search query string)
@@ -308,6 +308,17 @@ describe Killbill::Plugin::ActiveMerchant::PaymentPlugin do
308
308
  source.first_name.should == 'John'
309
309
  source.last_name.should == 'Doe'
310
310
  end
311
+
312
+ it "should support search_payments" do
313
+ response = ::Killbill::Test::TestResponse.create(
314
+ :api_call => :purchase, :kb_payment_id => @kb_payment_id,
315
+ :kb_account_id => @kb_account_id, :kb_tenant_id => @call_context.tenant_id,
316
+ :success => true, :created_at => Time.now, :updated_at => Time.now
317
+ )
318
+ results = plugin.search_payments(@kb_payment_id, 0, 100, [], @call_context).iterator.to_a
319
+ results.count.should == 1
320
+ results.last.kb_payment_id.to_s.should == response.kb_payment_id
321
+ end
311
322
  end
312
323
 
313
324
  context 'with a dummy gateway' do
@@ -137,7 +137,7 @@ describe Killbill::Plugin::ActiveMerchant::ActiveRecord::Response do
137
137
 
138
138
  it 'should generate the right SQL query' do
139
139
  # Check count query (search query numeric)
140
- expected_query = "SELECT COUNT(DISTINCT #{q('test_responses')}.#{q('id')}) FROM #{q('test_responses')} WHERE ((((#{q('test_responses')}.#{q('kb_payment_id')} = '1234' OR #{q('test_responses')}.#{q('kb_payment_transaction_id')} = '1234') OR #{q('test_responses')}.#{q('message')} = '1234') OR #{q('test_responses')}.#{q('authorization')} = '1234') OR #{q('test_responses')}.#{q('fraud_review')} = '1234') AND #{q('test_responses')}.#{q('success')} = #{qtrue} AND #{q('test_responses')}.#{q('kb_tenant_id')} = '11-22-33' ORDER BY #{q('test_responses')}.#{q('id')}"
140
+ expected_query = "SELECT COUNT(DISTINCT #{q('test_responses')}.#{q('id')}) FROM #{q('test_responses')} WHERE ((((#{q('test_responses')}.#{q('kb_payment_id')} = '1234' OR #{q('test_responses')}.#{q('kb_payment_transaction_id')} = '1234') OR #{q('test_responses')}.#{q('message')} = '1234') OR #{q('test_responses')}.#{q('authorization')} = '1234') OR #{q('test_responses')}.#{q('fraud_review')} = '1234') AND #{q('test_responses')}.#{q('success')} = #{qtrue} AND #{q('test_responses')}.#{q('kb_tenant_id')} = '11-22-33'"
141
141
  # Note that Kill Bill will pass a String, even for numeric types
142
142
  ::Killbill::Test::TestResponse.search_query('1234', '11-22-33').to_sql.should == expected_query
143
143
 
@@ -147,7 +147,7 @@ describe Killbill::Plugin::ActiveMerchant::ActiveRecord::Response do
147
147
  ::Killbill::Test::TestResponse.search_query('1234', '11-22-33', 0, 10).to_sql.should == expected_query
148
148
 
149
149
  # Check count query (search query string)
150
- expected_query = "SELECT COUNT(DISTINCT #{q('test_responses')}.#{q('id')}) FROM #{q('test_responses')} WHERE ((((#{q('test_responses')}.#{q('kb_payment_id')} = 'XXX' OR #{q('test_responses')}.#{q('kb_payment_transaction_id')} = 'XXX') OR #{q('test_responses')}.#{q('message')} = 'XXX') OR #{q('test_responses')}.#{q('authorization')} = 'XXX') OR #{q('test_responses')}.#{q('fraud_review')} = 'XXX') AND #{q('test_responses')}.#{q('success')} = #{qtrue} AND #{q('test_responses')}.#{q('kb_tenant_id')} = '11-22-33' ORDER BY #{q('test_responses')}.#{q('id')}"
150
+ expected_query = "SELECT COUNT(DISTINCT #{q('test_responses')}.#{q('id')}) FROM #{q('test_responses')} WHERE ((((#{q('test_responses')}.#{q('kb_payment_id')} = 'XXX' OR #{q('test_responses')}.#{q('kb_payment_transaction_id')} = 'XXX') OR #{q('test_responses')}.#{q('message')} = 'XXX') OR #{q('test_responses')}.#{q('authorization')} = 'XXX') OR #{q('test_responses')}.#{q('fraud_review')} = 'XXX') AND #{q('test_responses')}.#{q('success')} = #{qtrue} AND #{q('test_responses')}.#{q('kb_tenant_id')} = '11-22-33'"
151
151
  ::Killbill::Test::TestResponse.search_query('XXX', '11-22-33').to_sql.should == expected_query
152
152
 
153
153
  # Check query with results (search query string)
@@ -8,6 +8,8 @@ describe Killbill::Plugin::KillbillLogger do
8
8
  logger.error "Argument #{@foo} mismatch."
9
9
  logger.info('initialize') { 'Initializing...' }
10
10
  logger.add(Logger::FATAL) { 'Fatal error!' }
11
+ logger.level = ::Logger::DEBUG
12
+ logger.log_level.should == ::Logger::DEBUG
11
13
  logger.close
12
14
  end
13
15
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: killbill
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.4.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kill Bill core team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-29 00:00:00.000000000 Z
11
+ date: 2015-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra
@@ -343,6 +343,7 @@ files:
343
343
  - lib/killbill/catalog.rb
344
344
  - lib/killbill/creator.rb
345
345
  - lib/killbill/currency.rb
346
+ - lib/killbill/entitlement.rb
346
347
  - lib/killbill/ext/active_merchant/typhoeus_connection.rb
347
348
  - lib/killbill/gen/api/account.rb
348
349
  - lib/killbill/gen/api/account_api_exception.rb
@@ -468,22 +469,29 @@ files:
468
469
  - lib/killbill/gen/api/usage_record.rb
469
470
  - lib/killbill/gen/api/usage_user_api.rb
470
471
  - lib/killbill/gen/plugin-api/catalog_plugin_api.rb
472
+ - lib/killbill/gen/plugin-api/control_result.rb
471
473
  - lib/killbill/gen/plugin-api/currency_plugin_api.rb
474
+ - lib/killbill/gen/plugin-api/entitlement_context.rb
475
+ - lib/killbill/gen/plugin-api/entitlement_plugin_api.rb
476
+ - lib/killbill/gen/plugin-api/entitlement_plugin_api_exception.rb
472
477
  - lib/killbill/gen/plugin-api/ext_bus_event.rb
473
478
  - lib/killbill/gen/plugin-api/gateway_notification.rb
474
479
  - lib/killbill/gen/plugin-api/hosted_payment_page_form_descriptor.rb
475
480
  - lib/killbill/gen/plugin-api/invoice_plugin_api.rb
476
481
  - lib/killbill/gen/plugin-api/notification_plugin_api.rb
477
- - lib/killbill/gen/plugin-api/on_failure_payment_routing_result.rb
478
- - lib/killbill/gen/plugin-api/on_success_payment_routing_result.rb
482
+ - lib/killbill/gen/plugin-api/on_failure_entitlement_result.rb
483
+ - lib/killbill/gen/plugin-api/on_failure_payment_control_result.rb
484
+ - lib/killbill/gen/plugin-api/on_success_entitlement_result.rb
485
+ - lib/killbill/gen/plugin-api/on_success_payment_control_result.rb
486
+ - lib/killbill/gen/plugin-api/payment_control_api_exception.rb
487
+ - lib/killbill/gen/plugin-api/payment_control_context.rb
488
+ - lib/killbill/gen/plugin-api/payment_control_plugin_api.rb
479
489
  - lib/killbill/gen/plugin-api/payment_method_info_plugin.rb
480
490
  - lib/killbill/gen/plugin-api/payment_plugin_api.rb
481
491
  - lib/killbill/gen/plugin-api/payment_plugin_api_exception.rb
482
- - lib/killbill/gen/plugin-api/payment_routing_api_exception.rb
483
- - lib/killbill/gen/plugin-api/payment_routing_context.rb
484
- - lib/killbill/gen/plugin-api/payment_routing_plugin_api.rb
485
492
  - lib/killbill/gen/plugin-api/payment_transaction_info_plugin.rb
486
- - lib/killbill/gen/plugin-api/prior_payment_routing_result.rb
493
+ - lib/killbill/gen/plugin-api/prior_entitlement_result.rb
494
+ - lib/killbill/gen/plugin-api/prior_payment_control_result.rb
487
495
  - lib/killbill/gen/plugin-api/require_gen.rb
488
496
  - lib/killbill/gen/plugin-api/standalone_plugin_catalog.rb
489
497
  - lib/killbill/gen/plugin-api/versioned_plugin_catalog.rb
@@ -573,7 +581,7 @@ requirements:
573
581
  - jar 'org.kill-bill.billing:killbill-api'
574
582
  - jar 'org.kill-bill.billing:killbill-util:tests'
575
583
  rubyforge_project:
576
- rubygems_version: 2.4.6
584
+ rubygems_version: 2.4.8
577
585
  signing_key:
578
586
  specification_version: 4
579
587
  summary: Framework to write Kill Bill plugins in Ruby.