killbill 8.3.4 → 8.3.5
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 +138 -0
- data/Gemfile.lock +1 -1
- data/NEWS +3 -0
- data/lib/killbill/helpers/active_merchant/active_record/models/response.rb +16 -5
- data/lib/killbill/version.rb +1 -1
- data/spec/killbill/helpers/response_spec.rb +7 -0
- data/spec/killbill/helpers/test_response.rb +4 -0
- metadata +3 -3
- data/.travis.yml +0 -51
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0feadd53142c721c9c1d4f1104e5f1fccf96a28c
|
|
4
|
+
data.tar.gz: b0dae2773e4858d1f5a05486dbd1bf3cbb6c8983
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f0ddb8614065fe850c6861b64b34df56a4bdc71e5573ea7a8daaf7338a18e39c5b1e5a9aa5901270b98c88d0d85b62b8f8566878ba8a4e8e4acfb3bd7f44e5e0
|
|
7
|
+
data.tar.gz: cc7eb2a3777464e2fc47a7226ef7435786d230960099a9469c2ff39f0fe6241a0dbbad269d3268a806f070075b1fef5ec50b7edb597adb97c9a00a980cc881ed
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
defaults: &defaults
|
|
2
|
+
working_directory: ~/repo
|
|
3
|
+
environment:
|
|
4
|
+
JRUBY_OPTS: -J-Xmx1024M
|
|
5
|
+
|
|
6
|
+
version: 2
|
|
7
|
+
jobs:
|
|
8
|
+
build-jruby-1.7.26:
|
|
9
|
+
<<: *defaults
|
|
10
|
+
docker:
|
|
11
|
+
- image: killbill/kbbuild:0.5.0
|
|
12
|
+
steps:
|
|
13
|
+
- checkout
|
|
14
|
+
- restore_cache:
|
|
15
|
+
key: v4-dependencies-jruby-1.7.26-{{ .Branch }}-{{ checksum "Gemfile.lock" }}
|
|
16
|
+
- run:
|
|
17
|
+
name: Install gem dependencies
|
|
18
|
+
command: |
|
|
19
|
+
bundle install --jobs=4 --retry=3 --path=vendor/bundle
|
|
20
|
+
bundle exec jbundle install
|
|
21
|
+
- save_cache:
|
|
22
|
+
paths:
|
|
23
|
+
- ~/.m2
|
|
24
|
+
- .bundle
|
|
25
|
+
- .jbundler
|
|
26
|
+
- vendor/bundle
|
|
27
|
+
key: v4-dependencies-jruby-1.7.26-{{ .Branch }}-{{ checksum "Gemfile.lock" }}
|
|
28
|
+
|
|
29
|
+
test-mysql-jruby-1.7.26:
|
|
30
|
+
<<: *defaults
|
|
31
|
+
docker:
|
|
32
|
+
- image: killbill/kbbuild:0.5.0
|
|
33
|
+
- image: killbill/mariadb:0.19
|
|
34
|
+
environment:
|
|
35
|
+
- MYSQL_ROOT_PASSWORD=root
|
|
36
|
+
steps:
|
|
37
|
+
- checkout
|
|
38
|
+
- restore_cache:
|
|
39
|
+
key: v4-dependencies-jruby-1.7.26-{{ .Branch }}-{{ checksum "Gemfile.lock" }}
|
|
40
|
+
- run:
|
|
41
|
+
name: Setup DDL
|
|
42
|
+
command: |
|
|
43
|
+
set +e
|
|
44
|
+
count=0
|
|
45
|
+
until mysqladmin ping -h 127.0.0.1 -u root --password=root --silent; do
|
|
46
|
+
if [[ "$count" == "25" ]]; then
|
|
47
|
+
exit 1
|
|
48
|
+
fi
|
|
49
|
+
(( count++ ))
|
|
50
|
+
printf '.'
|
|
51
|
+
sleep 5
|
|
52
|
+
done
|
|
53
|
+
set -e
|
|
54
|
+
mysql -h 127.0.0.1 -u root --password=root -e 'create database killbill_test;'
|
|
55
|
+
- run:
|
|
56
|
+
name: Run tests
|
|
57
|
+
command: |
|
|
58
|
+
mkdir /tmp/test-results
|
|
59
|
+
AR_ADAPTER='mariadb' AR_USERNAME='root' AR_PASSWORD='' AR_DATABASE='killbill_test' bundle exec rake test:spec | tee /tmp/test-results/test.txt 2>&1
|
|
60
|
+
AR_ADAPTER='mariadb' AR_USERNAME='root' AR_PASSWORD='' AR_DATABASE='killbill_test' bundle exec rake test:remote:spec | tee /tmp/test-results/remote-test.txt 2>&1
|
|
61
|
+
- store_test_results:
|
|
62
|
+
path: /tmp/test-results
|
|
63
|
+
- store_artifacts:
|
|
64
|
+
path: /tmp/test-results
|
|
65
|
+
destination: test-results
|
|
66
|
+
|
|
67
|
+
test-postgresql-jruby-1.7.26:
|
|
68
|
+
<<: *defaults
|
|
69
|
+
docker:
|
|
70
|
+
- image: killbill/kbbuild:0.5.0
|
|
71
|
+
- image: killbill/postgresql:0.19
|
|
72
|
+
environment:
|
|
73
|
+
- POSTGRES_PASSWORD=postgres
|
|
74
|
+
steps:
|
|
75
|
+
- checkout
|
|
76
|
+
- restore_cache:
|
|
77
|
+
key: v4-dependencies-jruby-1.7.26-{{ .Branch }}-{{ checksum "Gemfile.lock" }}
|
|
78
|
+
- run:
|
|
79
|
+
name: Setup DDL
|
|
80
|
+
command: |
|
|
81
|
+
set +e
|
|
82
|
+
count=0
|
|
83
|
+
until $(psql -h 127.0.0.1 -U postgres -p 5432 -l > /dev/null); do
|
|
84
|
+
if [[ "$count" == "25" ]]; then
|
|
85
|
+
exit 1
|
|
86
|
+
fi
|
|
87
|
+
(( count++ ))
|
|
88
|
+
printf '.'
|
|
89
|
+
sleep 5
|
|
90
|
+
done
|
|
91
|
+
set -e
|
|
92
|
+
psql -h 127.0.0.1 -U postgres -p 5432 -c 'create database killbill_test;'
|
|
93
|
+
- run:
|
|
94
|
+
name: Run tests
|
|
95
|
+
command: |
|
|
96
|
+
mkdir /tmp/test-results
|
|
97
|
+
AR_ADAPTER='postgresql' AR_USERNAME='postgres' AR_DATABASE='killbill_test' bundle exec rake test:spec | tee /tmp/test-results/test.txt 2>&1
|
|
98
|
+
AR_ADAPTER='postgresql' AR_USERNAME='postgres' AR_DATABASE='killbill_test' bundle exec rake test:remote:spec | tee /tmp/test-results/remote-test.txt 2>&1
|
|
99
|
+
- store_test_results:
|
|
100
|
+
path: /tmp/test-results
|
|
101
|
+
- store_artifacts:
|
|
102
|
+
path: /tmp/test-results
|
|
103
|
+
destination: test-results
|
|
104
|
+
|
|
105
|
+
test-h2-jruby-1.7.26:
|
|
106
|
+
<<: *defaults
|
|
107
|
+
docker:
|
|
108
|
+
- image: killbill/kbbuild:0.5.0
|
|
109
|
+
steps:
|
|
110
|
+
- checkout
|
|
111
|
+
- restore_cache:
|
|
112
|
+
key: v4-dependencies-jruby-1.7.26-{{ .Branch }}-{{ checksum "Gemfile.lock" }}
|
|
113
|
+
- run:
|
|
114
|
+
name: Run tests
|
|
115
|
+
command: |
|
|
116
|
+
mkdir /tmp/test-results
|
|
117
|
+
AR_ADAPTER='sqlite3' AR_DATABASE='test.db' bundle exec rake test:spec | tee /tmp/test-results/test.txt 2>&1
|
|
118
|
+
AR_ADAPTER='sqlite3' AR_DATABASE='test.db' bundle exec rake test:remote:spec | tee /tmp/test-results/remote-test.txt 2>&1
|
|
119
|
+
- store_test_results:
|
|
120
|
+
path: /tmp/test-results
|
|
121
|
+
- store_artifacts:
|
|
122
|
+
path: /tmp/test-results
|
|
123
|
+
destination: test-results
|
|
124
|
+
|
|
125
|
+
workflows:
|
|
126
|
+
version: 2
|
|
127
|
+
build-and-test:
|
|
128
|
+
jobs:
|
|
129
|
+
- build-jruby-1.7.26
|
|
130
|
+
#- test-mysql-jruby-1.7.26:
|
|
131
|
+
# requires:
|
|
132
|
+
# - build-jruby-1.7.26
|
|
133
|
+
- test-postgresql-jruby-1.7.26:
|
|
134
|
+
requires:
|
|
135
|
+
- build-jruby-1.7.26
|
|
136
|
+
- test-h2-jruby-1.7.26:
|
|
137
|
+
requires:
|
|
138
|
+
- build-jruby-1.7.26
|
data/Gemfile.lock
CHANGED
data/NEWS
CHANGED
|
@@ -22,6 +22,7 @@ module Killbill
|
|
|
22
22
|
# But regardless, for performance reasons, we want to set these timestamps ourselves
|
|
23
23
|
# See ActiveRecord::Timestamp
|
|
24
24
|
current_time = Time.now.utc
|
|
25
|
+
remove_sensitive_data_and_compact(extra_params)
|
|
25
26
|
model.new({
|
|
26
27
|
:api_call => api_call,
|
|
27
28
|
:kb_account_id => kb_account_id,
|
|
@@ -43,7 +44,7 @@ module Killbill
|
|
|
43
44
|
:success => response.success?,
|
|
44
45
|
:created_at => current_time,
|
|
45
46
|
:updated_at => current_time
|
|
46
|
-
}.merge!(extra_params
|
|
47
|
+
}.merge!(extra_params))
|
|
47
48
|
end
|
|
48
49
|
|
|
49
50
|
def self.create_response_and_transaction(identifier, transaction_model, api_call, kb_account_id, kb_payment_id, kb_payment_transaction_id, transaction_type, payment_processor_account_id, kb_tenant_id, gw_response, amount_in_cents, currency, extra_params = {}, model = Response)
|
|
@@ -159,9 +160,9 @@ module Killbill
|
|
|
159
160
|
def self.search_where_clause(t, search_key)
|
|
160
161
|
# Exact matches only
|
|
161
162
|
where_clause = t[:kb_payment_id].eq(search_key)
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
163
|
+
.or(t[:kb_payment_transaction_id].eq(search_key))
|
|
164
|
+
.or(t[:message].eq(search_key))
|
|
165
|
+
.or(t[:authorization].eq(search_key))
|
|
165
166
|
|
|
166
167
|
# Only search successful payments and refunds
|
|
167
168
|
where_clause = where_clause.and(t[:success].eq(true))
|
|
@@ -207,6 +208,16 @@ module Killbill
|
|
|
207
208
|
pagination
|
|
208
209
|
end
|
|
209
210
|
|
|
211
|
+
def self.remove_sensitive_data_and_compact(extra_params)
|
|
212
|
+
extra_params.compact!
|
|
213
|
+
extra_params.delete_if { |k, _| sensitive_fields.include?(k) }
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
# Override in your plugin if needed
|
|
217
|
+
def self.sensitive_fields
|
|
218
|
+
[]
|
|
219
|
+
end
|
|
220
|
+
|
|
210
221
|
# Override in your plugin if needed
|
|
211
222
|
def txn_id
|
|
212
223
|
authorization
|
|
@@ -289,4 +300,4 @@ module Killbill
|
|
|
289
300
|
end
|
|
290
301
|
end
|
|
291
302
|
end
|
|
292
|
-
end
|
|
303
|
+
end
|
data/lib/killbill/version.rb
CHANGED
|
@@ -135,6 +135,13 @@ describe Killbill::Plugin::ActiveMerchant::ActiveRecord::Response do
|
|
|
135
135
|
::Killbill::Test::TestResponse.from_kb_payment_id(::Killbill::Test::TestTransaction, kb_payment_id3, kb_tenant_id).size == 0
|
|
136
136
|
end
|
|
137
137
|
|
|
138
|
+
it 'should filter out sensitive parameter if specified' do
|
|
139
|
+
extra_params = {:email => "test.test", :payer_id => "test"}
|
|
140
|
+
::Killbill::Test::TestResponse.send(:remove_sensitive_data_and_compact, extra_params)
|
|
141
|
+
extra_params[:email].should be_nil
|
|
142
|
+
extra_params[:payer_id].should == "test"
|
|
143
|
+
end
|
|
144
|
+
|
|
138
145
|
it 'should generate the right SQL query' do
|
|
139
146
|
# Check count query (search query numeric)
|
|
140
147
|
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') AND #{q('test_responses')}.#{q('success')} = #{qtrue} AND #{q('test_responses')}.#{q('kb_tenant_id')} = '11-22-33'"
|
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: 8.3.
|
|
4
|
+
version: 8.3.5
|
|
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: 2018-
|
|
11
|
+
date: 2018-05-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -317,8 +317,8 @@ executables:
|
|
|
317
317
|
extensions: []
|
|
318
318
|
extra_rdoc_files: []
|
|
319
319
|
files:
|
|
320
|
+
- ".circleci/config.yml"
|
|
320
321
|
- ".gitignore"
|
|
321
|
-
- ".travis.yml"
|
|
322
322
|
- Gemfile
|
|
323
323
|
- Gemfile.head
|
|
324
324
|
- Gemfile.lock
|
data/.travis.yml
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
language: ruby
|
|
2
|
-
|
|
3
|
-
sudo: false
|
|
4
|
-
cache:
|
|
5
|
-
bundler: true
|
|
6
|
-
directories:
|
|
7
|
-
- $HOME/.m2
|
|
8
|
-
|
|
9
|
-
services:
|
|
10
|
-
- mysql
|
|
11
|
-
- postgresql
|
|
12
|
-
|
|
13
|
-
before_script:
|
|
14
|
-
- bundle exec jbundle install
|
|
15
|
-
- mysql -uroot -e 'create database killbill_test;'
|
|
16
|
-
- psql -c 'create database killbill_test;' -U postgres
|
|
17
|
-
|
|
18
|
-
notifications:
|
|
19
|
-
email:
|
|
20
|
-
- kill-bill-commits@googlegroups.com
|
|
21
|
-
|
|
22
|
-
env:
|
|
23
|
-
global:
|
|
24
|
-
- JRUBY_OPTS='-J-Xmx1024M'
|
|
25
|
-
matrix:
|
|
26
|
-
# Need MySQL 5.6 - see https://github.com/travis-ci/travis-ci/issues/1986
|
|
27
|
-
#- AR_ADAPTER='mariadb' AR_USERNAME='root' AR_PASSWORD='' AR_DATABASE='killbill_test'
|
|
28
|
-
- AR_ADAPTER='postgresql' AR_USERNAME='postgres' AR_DATABASE='killbill_test'
|
|
29
|
-
- AR_ADAPTER='sqlite3' AR_DATABASE='test.db'
|
|
30
|
-
|
|
31
|
-
rvm:
|
|
32
|
-
- jruby-1.7.20
|
|
33
|
-
- jruby-20mode # latest 1.7.x
|
|
34
|
-
- jruby-head
|
|
35
|
-
|
|
36
|
-
gemfile:
|
|
37
|
-
- Gemfile
|
|
38
|
-
- Gemfile.head
|
|
39
|
-
|
|
40
|
-
jdk:
|
|
41
|
-
- openjdk7
|
|
42
|
-
- oraclejdk7
|
|
43
|
-
- oraclejdk8
|
|
44
|
-
|
|
45
|
-
matrix:
|
|
46
|
-
allow_failures:
|
|
47
|
-
- rvm: jruby-head
|
|
48
|
-
- rvm: jruby-20mode # Gemfile.lock bug with --deployment?
|
|
49
|
-
- jdk: oraclejdk8
|
|
50
|
-
- gemfile: Gemfile.head
|
|
51
|
-
fast_finish: true
|