killbill 8.3.4 → 8.3.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|