killbill-payment-test 4.0.1 → 4.1.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: 456208cb4cab8e9a007ee061ca4b99520df5a768
4
- data.tar.gz: c225f53b071c11f75f042d4aeaf99ebb1015e97f
3
+ metadata.gz: a1fca0d5e65d4c027b05794b40b6698bdea292f4
4
+ data.tar.gz: 64389b6fc0795780650fb2bd64da5313356b9ca3
5
5
  SHA512:
6
- metadata.gz: c3ebb9640c9e8eb4e4617bcf2a4efcca840f1e759b62d90e94c865a49e9651498264f8211c86e4be2570e30d04d583c024e0a8eae83eda952cb54cdac807174b
7
- data.tar.gz: 8e1ca9a41b33a56de40187e3fbd494d02acb1da015fcca90b2f6cb7e2b98af1b209b05d26879af225bf61a7b97f2aec644544241568bfab4afc90f49ba6369f0
6
+ metadata.gz: 2dd32dddfa5476f16356f06b88ed4320e977c6482b45b953e36d3e8c5d1c1fde3807b56f6f7e0bee601de6e30c014905fef8ed45c9afd3a13b7ed5b6b7eedd69
7
+ data.tar.gz: a3033fcecf611ece18ec2b2ea602bbcf9d4fb8e9b4c851f2ae8f5e7b9e6f35f9b6f64a6cf505de94308e1107692c0cb26228f15e764bdf955685b0b2d9efa805
@@ -67,6 +67,14 @@ module PaymentTest
67
67
  PluginPropertyUtils.add_property_if_not_exist(properties, 'TRANSACTION_STATUS', 'ERROR')
68
68
  end
69
69
 
70
+ if @state.always_return_plugin_status_pending(method)
71
+ PluginPropertyUtils.add_property_if_not_exist(properties, 'TRANSACTION_STATUS', 'PENDING')
72
+ end
73
+
74
+ if @state.always_return_plugin_status_canceled(method)
75
+ PluginPropertyUtils.add_property_if_not_exist(properties, 'TRANSACTION_STATUS', 'CANCELED')
76
+ end
77
+
70
78
  # Finally make the call
71
79
  @api_control.send method, *args
72
80
  end
@@ -26,12 +26,16 @@ post '/plugins/killbill-payment-test/configure', :provides => 'json' do
26
26
 
27
27
  action = data['CONFIGURE_ACTION']
28
28
  if action.nil?
29
- halt 400, {'Content-Type' => 'text/plain'}, "Invalid json, need to specify one CONFIGURE_ACTION={ACTION_RETURN_PLUGIN_STATUS_ERROR|ACTION_THROW_EXCEPTION|ACTION_RETURN_NIL|ACTION_SLEEP|ACTION_RESET}"
29
+ halt 400, {'Content-Type' => 'text/plain'}, "Invalid json, need to specify one CONFIGURE_ACTION={ACTION_RETURN_PLUGIN_STATUS_ERROR|ACTION_RETURN_PLUGIN_STATUS_CANCELED|ACTION_THROW_EXCEPTION|ACTION_RETURN_NIL|ACTION_SLEEP|ACTION_RESET}"
30
30
  end
31
31
 
32
32
 
33
33
  if action == 'ACTION_RETURN_PLUGIN_STATUS_ERROR'
34
34
  state.configure_always_return_plugin_status_error(data['METHODS'])
35
+ elsif action == 'ACTION_RETURN_PLUGIN_STATUS_CANCELED'
36
+ state.configure_always_return_plugin_status_canceled(data['METHODS'])
37
+ elsif action == 'ACTION_RETURN_PLUGIN_STATUS_PENDING'
38
+ state.configure_always_return_plugin_status_pending(data['METHODS'])
35
39
  elsif action == 'ACTION_THROW_EXCEPTION'
36
40
  state.configure_always_throw(data['METHODS'])
37
41
  elsif action == 'ACTION_RETURN_NIL'
@@ -9,6 +9,13 @@ module PaymentTest
9
9
  reset_configuration
10
10
  end
11
11
 
12
+ def configure_always_return_plugin_status_pending(methods=nil)
13
+ reset_configuration
14
+ configure_methods(methods)
15
+ @always_return_plugin_status_pending = true
16
+ log_current_state
17
+ end
18
+
12
19
  def configure_always_return_plugin_status_error(methods=nil)
13
20
  reset_configuration
14
21
  configure_methods(methods)
@@ -16,6 +23,12 @@ module PaymentTest
16
23
  log_current_state
17
24
  end
18
25
 
26
+ def configure_always_return_plugin_status_canceled(methods=nil)
27
+ reset_configuration
28
+ configure_methods(methods)
29
+ @always_return_plugin_status_canceled = true
30
+ log_current_state
31
+ end
19
32
 
20
33
  def configure_always_throw(methods=nil)
21
34
  reset_configuration
@@ -40,6 +53,8 @@ module PaymentTest
40
53
 
41
54
  def reset_configuration
42
55
  @always_return_plugin_status_error = false
56
+ @always_return_plugin_status_pending = false
57
+ @always_return_plugin_status_canceled = false
43
58
  @always_throw = false
44
59
  @always_return_nil = false
45
60
  @sleep_time_sec = nil
@@ -51,6 +66,14 @@ module PaymentTest
51
66
  @always_return_plugin_status_error && is_for_method(method)
52
67
  end
53
68
 
69
+ def always_return_plugin_status_pending(method)
70
+ @always_return_plugin_status_pending && is_for_method(method)
71
+ end
72
+
73
+ def always_return_plugin_status_canceled(method)
74
+ @always_return_plugin_status_canceled && is_for_method(method)
75
+ end
76
+
54
77
  def always_throw(method)
55
78
  @always_throw && is_for_method(method)
56
79
  end
@@ -65,11 +88,16 @@ module PaymentTest
65
88
  end
66
89
 
67
90
  def is_clear
68
- return !@always_return_plugin_status_error && !@always_throw && !@always_return_nil && @sleep_time_sec.nil?
91
+ return !@always_return_plugin_status_error &&
92
+ !@always_return_plugin_status_canceled &&
93
+ !@always_return_plugin_status_pending &&
94
+ !@always_throw &&
95
+ !@always_return_nil &&
96
+ @sleep_time_sec.nil?
69
97
  end
70
98
 
71
99
  def log_current_state
72
- puts "PaymentTest:State : @always_return_plugin_status_error = #{@always_return_plugin_status_error}, @always_throw = #{@always_throw}, @always_return_nil = #{@always_return_nil}, @sleep_time_sec = #{@sleep_time_sec}, @methods=#{@methods}"
100
+ puts "PaymentTest:State : @always_return_plugin_status_error = #{@always_return_plugin_status_error}, @always_return_plugin_status_canceled = #{@always_return_plugin_status_canceled}, @always_return_plugin_status_pending=#{@always_return_plugin_status_pending}, @always_throw = #{@always_throw}, @always_return_nil = #{@always_return_nil}, @sleep_time_sec = #{@sleep_time_sec}, @methods=#{@methods}"
73
101
  end
74
102
 
75
103
  private
@@ -85,4 +113,4 @@ module PaymentTest
85
113
  @methods.include? method.to_s
86
114
  end
87
115
  end
88
- end
116
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: killbill-payment-test
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 4.1.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: 2017-05-04 00:00:00.000000000 Z
11
+ date: 2017-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -212,6 +212,9 @@ dependencies:
212
212
  - - ">="
213
213
  - !ruby/object:Gem::Version
214
214
  version: 10.0.0
215
+ - - "<"
216
+ - !ruby/object:Gem::Version
217
+ version: '11.0'
215
218
  name: rake
216
219
  prerelease: false
217
220
  type: :development
@@ -220,6 +223,9 @@ dependencies:
220
223
  - - ">="
221
224
  - !ruby/object:Gem::Version
222
225
  version: 10.0.0
226
+ - - "<"
227
+ - !ruby/object:Gem::Version
228
+ version: '11.0'
223
229
  - !ruby/object:Gem::Dependency
224
230
  requirement: !ruby/object:Gem::Requirement
225
231
  requirements: