connect-sdk-ruby 2.30.2 → 2.31.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.
@@ -9,8 +9,10 @@ module Ingenico::Connect::SDK
9
9
  # @param request_id [String] identifier of the request corresponding to this response.
10
10
  # @param status_code [Integer] HTTP status code of the response.
11
11
  # @param duration [Float] time elapsed between request and response.
12
- def initialize(request_id, status_code, duration=-1)
13
- super(request_id)
12
+ def initialize(request_id, status_code, duration=-1,
13
+ body_obfuscator = Obfuscation::BodyObfuscator.default_obfuscator,
14
+ header_obfuscator = Obfuscation::HeaderObfuscator.default_obfuscator)
15
+ super(request_id, body_obfuscator, header_obfuscator)
14
16
  @status_code = status_code
15
17
  @duration = duration
16
18
  end
@@ -8,3 +8,7 @@ require prefix + 'logging_util'
8
8
  require prefix + 'communicator_logger'
9
9
  require prefix + 'ruby_communicator_logger'
10
10
  require prefix + 'stdout_communicator_logger'
11
+ require prefix + 'obfuscation/obfuscation_rule'
12
+ require prefix + 'obfuscation/body_obfuscator'
13
+ require prefix + 'obfuscation/header_obfuscator'
14
+ require prefix + 'obfuscation/obfuscation_capable'
@@ -7,7 +7,7 @@ module Ingenico::Connect::SDK
7
7
  #
8
8
  # @attr_reader [Array<Ingenico::Connect::SDK::RequestHeader>] meta_data_headers List of headers that should be used in all requests.
9
9
  class MetaDataProvider
10
- @@SDK_VERSION = '2.30.2'
10
+ @@SDK_VERSION = '2.31.0'
11
11
  @@SERVER_META_INFO_HEADER = 'X-GCS-ServerMetaInfo'
12
12
  @@PROHIBITED_HEADERS = [@@SERVER_META_INFO_HEADER, 'X-GCS-Idempotence-Key',
13
13
  'Date', 'Content-Type', 'Authorization'].sort!.freeze
@@ -7,6 +7,10 @@ end
7
7
  module Ingenico::Connect::SDK::DefaultImpl
8
8
  end
9
9
 
10
+ # Contains all obfuscation-related classes.
11
+ module Ingenico::Connect::SDK::Logging::Obfuscation
12
+ end
13
+
10
14
  # Contains all logging-related classes.
11
15
  module Ingenico::Connect::SDK::Logging
12
16
  end
@@ -0,0 +1,21 @@
1
+ {
2
+ "order": {
3
+ "amountOfMoney": {
4
+ "currencyCode": "CAD",
5
+ "amount": 2345
6
+ },
7
+ "customer": {
8
+ "billingAddress": {
9
+ "countryCode": "CA"
10
+ }
11
+ }
12
+ },
13
+ "cardPaymentMethodSpecificInput": {
14
+ "paymentProductId": 1,
15
+ "card": {
16
+ "cvv": "***",
17
+ "cardNumber": "123456******3456",
18
+ "expiryDate": "**20"
19
+ }
20
+ }
21
+ }
@@ -1,10 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
- HeaderObfuscator ||= Ingenico::Connect::SDK::Logging::HeaderObfuscator
3
+ LegacyHeaderObfuscator ||= Ingenico::Connect::SDK::Logging::HeaderObfuscator
4
4
  ValueObfuscator ||= Ingenico::Connect::SDK::Logging::ValueObfuscator
5
5
 
6
- describe HeaderObfuscator do
7
- subject(:sample) { HeaderObfuscator.new(obsfs) }
6
+ describe LegacyHeaderObfuscator do
7
+ subject(:sample) { LegacyHeaderObfuscator.new(obsfs) }
8
8
  context 'initialize' do
9
9
  let(:obsfs) { { 'k1' => ValueObfuscator.fixed_length(5),
10
10
  'k2' => ValueObfuscator.keep_start_count(2) } }
@@ -18,13 +18,13 @@ describe HeaderObfuscator do
18
18
 
19
19
  it '.builder returns new Builder obj' do
20
20
  expect(
21
- HeaderObfuscator.builder.is_a? HeaderObfuscator::Builder
21
+ LegacyHeaderObfuscator.builder.is_a? LegacyHeaderObfuscator::Builder
22
22
  ).to be(true)
23
23
  end
24
24
 
25
25
  context 'Builder' do
26
26
  it 'checks argument type' do
27
- b = HeaderObfuscator.builder
27
+ b = LegacyHeaderObfuscator.builder
28
28
  expect {
29
29
  b.with_all(123)
30
30
  }.to raise_error(ArgumentError)
@@ -35,7 +35,7 @@ describe HeaderObfuscator do
35
35
  end
36
36
 
37
37
  it 'inherits parent methods' do
38
- b = HeaderObfuscator.builder
38
+ b = LegacyHeaderObfuscator.builder
39
39
  expect {
40
40
  b.with_keep_start_count('k1', 123)
41
41
  b.with_keep_end_count('k2', 123)
@@ -44,7 +44,7 @@ describe HeaderObfuscator do
44
44
 
45
45
  it 'implements build method' do
46
46
  expect(
47
- HeaderObfuscator.builder.build.is_a? HeaderObfuscator
47
+ LegacyHeaderObfuscator.builder.build.is_a? LegacyHeaderObfuscator
48
48
  ).to be(true)
49
49
  end
50
50
  end
@@ -0,0 +1,178 @@
1
+ require 'spec_helper'
2
+
3
+ PROPERTY_OBFUSCATOR = Ingenico::Connect::SDK::Logging::PropertyObfuscator.builder
4
+ .with_keep_end_count("cardNumber", 4)
5
+ .with_keep_end_count("expiryDate", 2)
6
+ .with_all("cvv")
7
+ .with_keep_end_count("iban", 4)
8
+ .with_keep_end_count("accountNumber", 4)
9
+ .with_keep_end_count("reformattedAccountNumber", 4)
10
+ .with_keep_start_count("bin", 6)
11
+ .with_all("value")
12
+ .with_fixed_length("keyId", 8)
13
+ .with_fixed_length("secretKey", 8)
14
+ .with_fixed_length("publicKey", 8)
15
+ .with_fixed_length("userAuthenticationToken", 8)
16
+ .with_fixed_length("encryptedPayload", 8)
17
+ .with_fixed_length("decryptedPayload", 8)
18
+ .with_fixed_length("encryptedCustomerInput", 8)
19
+ .build
20
+
21
+ HEADER_OBFUSCATOR = Ingenico::Connect::SDK::Logging::HeaderObfuscator.builder
22
+ .with_fixed_length("Authorization", 8)
23
+ .with_fixed_length("WWW-Authenticate", 8)
24
+ .with_fixed_length("Proxy-Authenticate", 8)
25
+ .with_fixed_length("Proxy-Authorization", 8)
26
+ .with_fixed_length("X-GCS-Authentication-Token", 8)
27
+ .with_fixed_length("X-GCS-CallerPassword", 8)
28
+ .build
29
+
30
+
31
+ def test_obfuscate_body_with_matches(original_resource, obfuscated_resource)
32
+ prefix = 'spec/fixtures/resources/logging/'
33
+ body = IO.read(prefix + original_resource)
34
+ expected = IO.read(prefix + obfuscated_resource)
35
+ expected == PROPERTY_OBFUSCATOR.obfuscate(body)
36
+ end
37
+
38
+ def test_obfuscate_body_with_no_matches(resource)
39
+ prefix = 'spec/fixtures/resources/logging/'
40
+ body = IO.read(prefix + resource)
41
+ body == PROPERTY_OBFUSCATOR.obfuscate(body)
42
+ end
43
+
44
+ def test_obfuscate_header_with_match(name, original_value, expected_value)
45
+ expected_value == HEADER_OBFUSCATOR.obfuscate_header(name, original_value)
46
+ end
47
+
48
+ def test_obfuscate_header_with_no_match(name, original_value)
49
+ original_value == HEADER_OBFUSCATOR.obfuscate_header(name, original_value)
50
+ end
51
+
52
+ describe Ingenico::Connect::SDK::Logging::PropertyObfuscator do
53
+ context '.obfuscate_body()' do
54
+
55
+ context 'with null body' do
56
+ let(:body) { nil }
57
+ it 'returns null body' do
58
+ expect(
59
+ PROPERTY_OBFUSCATOR.obfuscate(body)
60
+ ).to be_nil
61
+ end
62
+ end
63
+
64
+ context 'with empty body' do
65
+ let(:body) { '' }
66
+ it 'returns empty body' do
67
+ expect(
68
+ PROPERTY_OBFUSCATOR.obfuscate(body)
69
+ ).to eq(body)
70
+ end
71
+ end
72
+
73
+ it 'works with card' do
74
+ expect(
75
+ test_obfuscate_body_with_matches("bodyWithCardOriginal.json",
76
+ "bodyWithCardObfuscated.json")
77
+ ).to be(true)
78
+ end
79
+
80
+ it 'works with iban' do
81
+ expect(
82
+ test_obfuscate_body_with_matches("bodyWithIbanOriginal.json",
83
+ "bodyWithIbanObfuscated.json")
84
+ ).to be(true)
85
+ end
86
+
87
+ it 'works with bin' do
88
+ expect(
89
+ test_obfuscate_body_with_matches("bodyWithBinOriginal.json",
90
+ "bodyWithBinObfuscated.json")
91
+ ).to be(true)
92
+ end
93
+
94
+ it 'works when there is no match' do
95
+ expect(
96
+ test_obfuscate_body_with_no_matches("bodyNoObfuscation.json")
97
+ ).to be(true)
98
+ end
99
+
100
+ it 'works with object' do
101
+ expect(
102
+ test_obfuscate_body_with_matches("bodyWithObjectOriginal.json",
103
+ "bodyWithObjectObfuscated.json")
104
+ ).to be(true)
105
+ end
106
+ end
107
+ end
108
+
109
+ describe Ingenico::Connect::SDK::Logging::HeaderObfuscator do
110
+ context '.obfuscate_header()' do
111
+ it 'works when there is a match' do
112
+ expect(
113
+ test_obfuscate_header_with_match("Authorization",
114
+ "Basic QWxhZGRpbjpPcGVuU2VzYW1l",
115
+ "********")
116
+ ).to be(true)
117
+
118
+ expect(
119
+ test_obfuscate_header_with_match("authorization",
120
+ "Basic QWxhZGRpbjpPcGVuU2VzYW1l",
121
+ "********")
122
+ ).to be(true)
123
+
124
+ expect(
125
+ test_obfuscate_header_with_match("AUTHORIZATION",
126
+ "Basic QWxhZGRpbjpPcGVuU2VzYW1l",
127
+ "********")
128
+ ).to be(true)
129
+
130
+ expect(
131
+ test_obfuscate_header_with_match("X-GCS-Authentication-Token",
132
+ "foobar", "********")
133
+ ).to be(true)
134
+
135
+ expect(
136
+ test_obfuscate_header_with_match("x-gcs-authentication-token",
137
+ "foobar", "********")
138
+ ).to be(true)
139
+
140
+ expect(
141
+ test_obfuscate_header_with_match("X-GCS-AUTHENTICATION-TOKEN",
142
+ "foobar", "********")
143
+ ).to be(true)
144
+
145
+ expect(
146
+ test_obfuscate_header_with_match("X-GCS-CallerPassword", "foobar",
147
+ "********")
148
+ ).to be(true)
149
+
150
+ expect(
151
+ test_obfuscate_header_with_match("x-gcs-callerpassword", "foobar",
152
+ "********")
153
+ ).to be(true)
154
+
155
+ expect(
156
+ test_obfuscate_header_with_match("X-GCS-CALLERPASSWORD", "foobar",
157
+ "********")
158
+ ).to be(true)
159
+ end
160
+
161
+ it 'works when there is no match' do
162
+ expect(
163
+ test_obfuscate_header_with_no_match("Content-Type",
164
+ "application/json")
165
+ ).to be(true)
166
+
167
+ expect(
168
+ test_obfuscate_header_with_no_match("content-type",
169
+ "application/json")
170
+ ).to be(true)
171
+
172
+ expect(
173
+ test_obfuscate_header_with_no_match("CONTENT-TYPE",
174
+ "application/json")
175
+ ).to be(true)
176
+ end
177
+ end
178
+ end
@@ -0,0 +1,93 @@
1
+ require 'spec_helper'
2
+
3
+ BodyObfuscator = Ingenico::Connect::SDK::Logging::Obfuscation::BodyObfuscator
4
+
5
+ def test_obfuscate_body_with_matches(original_resource, obfuscated_resource,
6
+ body_obfuscator=BodyObfuscator.default_obfuscator)
7
+ prefix = 'spec/fixtures/resources/logging/'
8
+ body = IO.read(prefix + original_resource)
9
+ expected = IO.read(prefix + obfuscated_resource)
10
+ expected == body_obfuscator.obfuscate_body(body)
11
+ end
12
+
13
+ def test_obfuscate_body_with_no_matches(resource)
14
+ prefix = 'spec/fixtures/resources/logging/'
15
+ body = IO.read(prefix + resource)
16
+ body == BodyObfuscator.default_obfuscator.obfuscate_body(body)
17
+ end
18
+
19
+ describe BodyObfuscator do
20
+ context '.obfuscate_body()' do
21
+
22
+ context 'with null body' do
23
+ let(:body) { nil }
24
+ it 'returns null body' do
25
+ expect(
26
+ BodyObfuscator.default_obfuscator.obfuscate_body(body)
27
+ ).to be_nil
28
+ end
29
+ end
30
+
31
+ context 'with empty body' do
32
+ let(:body) { '' }
33
+ it 'returns empty body' do
34
+ expect(
35
+ BodyObfuscator.default_obfuscator.obfuscate_body(body)
36
+ ).to eq(body)
37
+ end
38
+ end
39
+
40
+ it 'works with card' do
41
+ expect(
42
+ test_obfuscate_body_with_matches("bodyWithCardOriginal.json",
43
+ "bodyWithCardObfuscated.json")
44
+ ).to be(true)
45
+ end
46
+
47
+ it 'works with custom card rule' do
48
+ def obfuscate_custom(value)
49
+ # range describes the range of characters to replace with asterisks
50
+ range = 6...(value.length - 4)
51
+ value[range] = '*' * range.size
52
+ value
53
+ end
54
+
55
+ body_obfuscator = BodyObfuscator.new(additional_rules={
56
+ 'cardNumber' => method(:obfuscate_custom)
57
+ })
58
+
59
+ expect(
60
+ test_obfuscate_body_with_matches("bodyWithCardOriginal.json",
61
+ "bodyWithCardCustomObfuscated.json",
62
+ body_obfuscator=body_obfuscator)
63
+ ).to be(true)
64
+ end
65
+
66
+ it 'works with iban' do
67
+ expect(
68
+ test_obfuscate_body_with_matches("bodyWithIbanOriginal.json",
69
+ "bodyWithIbanObfuscated.json")
70
+ ).to be(true)
71
+ end
72
+
73
+ it 'works with bin' do
74
+ expect(
75
+ test_obfuscate_body_with_matches("bodyWithBinOriginal.json",
76
+ "bodyWithBinObfuscated.json")
77
+ ).to be(true)
78
+ end
79
+
80
+ it 'works when there is no match' do
81
+ expect(
82
+ test_obfuscate_body_with_no_matches("bodyNoObfuscation.json")
83
+ ).to be(true)
84
+ end
85
+
86
+ it 'works with object' do
87
+ expect(
88
+ test_obfuscate_body_with_matches("bodyWithObjectOriginal.json",
89
+ "bodyWithObjectObfuscated.json")
90
+ ).to be(true)
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,166 @@
1
+ require 'spec_helper'
2
+
3
+ HeaderObfuscator = Ingenico::Connect::SDK::Logging::Obfuscation::HeaderObfuscator
4
+ Obfuscation = Ingenico::Connect::SDK::Logging::Obfuscation
5
+
6
+ def test_obfuscate_header_with_match(name, original_value, expected_value,
7
+ header_obfuscator=HeaderObfuscator.default_obfuscator)
8
+ expected_value == header_obfuscator.obfuscate_header(name, original_value)
9
+ end
10
+
11
+ def test_obfuscate_header_with_no_match(name, original_value)
12
+ original_value == HeaderObfuscator.default_obfuscator.obfuscate_header(name, original_value)
13
+ end
14
+
15
+ describe HeaderObfuscator do
16
+ context '.obfuscate_header()' do
17
+ it 'works when there is a match' do
18
+ expect(
19
+ test_obfuscate_header_with_match("Authorization",
20
+ "Basic QWxhZGRpbjpPcGVuU2VzYW1l",
21
+ "********")
22
+ ).to be(true)
23
+
24
+ expect(
25
+ test_obfuscate_header_with_match("authorization",
26
+ "Basic QWxhZGRpbjpPcGVuU2VzYW1l",
27
+ "********")
28
+ ).to be(true)
29
+
30
+ expect(
31
+ test_obfuscate_header_with_match("AUTHORIZATION",
32
+ "Basic QWxhZGRpbjpPcGVuU2VzYW1l",
33
+ "********")
34
+ ).to be(true)
35
+
36
+ expect(
37
+ test_obfuscate_header_with_match("X-GCS-Authentication-Token",
38
+ "foobar", "********")
39
+ ).to be(true)
40
+
41
+ expect(
42
+ test_obfuscate_header_with_match("x-gcs-authentication-token",
43
+ "foobar", "********")
44
+ ).to be(true)
45
+
46
+ expect(
47
+ test_obfuscate_header_with_match("X-GCS-AUTHENTICATION-TOKEN",
48
+ "foobar", "********")
49
+ ).to be(true)
50
+
51
+ expect(
52
+ test_obfuscate_header_with_match("X-GCS-CallerPassword", "foobar",
53
+ "********")
54
+ ).to be(true)
55
+
56
+ expect(
57
+ test_obfuscate_header_with_match("x-gcs-callerpassword", "foobar",
58
+ "********")
59
+ ).to be(true)
60
+
61
+ expect(
62
+ test_obfuscate_header_with_match("X-GCS-CALLERPASSWORD", "foobar",
63
+ "********")
64
+ ).to be(true)
65
+ end
66
+
67
+ it 'works when there is no match' do
68
+ expect(
69
+ test_obfuscate_header_with_no_match("Content-Type",
70
+ "application/json")
71
+ ).to be(true)
72
+
73
+ expect(
74
+ test_obfuscate_header_with_no_match("content-type",
75
+ "application/json")
76
+ ).to be(true)
77
+
78
+ expect(
79
+ test_obfuscate_header_with_no_match("CONTENT-TYPE",
80
+ "application/json")
81
+ ).to be(true)
82
+ end
83
+
84
+ it 'works with a custom rule' do
85
+ header_obfuscator = HeaderObfuscator.new(additional_rules={
86
+ 'content-type' => Obfuscation.obfuscate_all
87
+ })
88
+
89
+ expect(
90
+ test_obfuscate_header_with_match("Authorization",
91
+ "Basic QWxhZGRpbjpPcGVuU2VzYW1l",
92
+ "********",
93
+ header_obfuscator=header_obfuscator)
94
+ ).to be(true)
95
+
96
+ expect(
97
+ test_obfuscate_header_with_match("authorization",
98
+ "Basic QWxhZGRpbjpPcGVuU2VzYW1l",
99
+ "********",
100
+ header_obfuscator=header_obfuscator)
101
+ ).to be(true)
102
+
103
+ expect(
104
+ test_obfuscate_header_with_match("AUTHORIZATION",
105
+ "Basic QWxhZGRpbjpPcGVuU2VzYW1l",
106
+ "********",
107
+ header_obfuscator=header_obfuscator)
108
+ ).to be(true)
109
+
110
+ expect(
111
+ test_obfuscate_header_with_match("X-GCS-Authentication-Token",
112
+ "foobar", "********",
113
+ header_obfuscator=header_obfuscator)
114
+ ).to be(true)
115
+
116
+ expect(
117
+ test_obfuscate_header_with_match("x-gcs-authentication-token",
118
+ "foobar", "********",
119
+ header_obfuscator=header_obfuscator)
120
+ ).to be(true)
121
+
122
+ expect(
123
+ test_obfuscate_header_with_match("X-GCS-AUTHENTICATION-TOKEN",
124
+ "foobar", "********",
125
+ header_obfuscator=header_obfuscator)
126
+ ).to be(true)
127
+
128
+ expect(
129
+ test_obfuscate_header_with_match("X-GCS-CallerPassword", "foobar",
130
+ "********",
131
+ header_obfuscator=header_obfuscator)
132
+ ).to be(true)
133
+
134
+ expect(
135
+ test_obfuscate_header_with_match("x-gcs-callerpassword", "foobar",
136
+ "********",
137
+ header_obfuscator=header_obfuscator)
138
+ ).to be(true)
139
+
140
+ expect(
141
+ test_obfuscate_header_with_match("X-GCS-CALLERPASSWORD", "foobar",
142
+ "********",
143
+ header_obfuscator=header_obfuscator)
144
+ ).to be(true)
145
+
146
+ expect(
147
+ test_obfuscate_header_with_match("Content-Type", "application/json",
148
+ "****************",
149
+ header_obfuscator=header_obfuscator)
150
+ ).to be(true)
151
+
152
+ expect(
153
+ test_obfuscate_header_with_match("content-type", "application/json",
154
+ "****************",
155
+ header_obfuscator=header_obfuscator)
156
+ ).to be(true)
157
+
158
+ expect(
159
+ test_obfuscate_header_with_match("CONTENT-TYPE", "application/json",
160
+ "****************",
161
+ header_obfuscator=header_obfuscator)
162
+ ).to be(true)
163
+ end
164
+
165
+ end
166
+ end
@@ -75,13 +75,13 @@ describe ValueObfuscator do
75
75
  expect(sample.obfuscate_value('')).to eq('')
76
76
  end
77
77
 
78
- it 'calls repeak_mask(@fixed_length) if @fixed_length is not 0' do
78
+ it 'calls repeat_mask(@fixed_length) if @fixed_length is not 0' do
79
79
  expect(
80
80
  sample.obfuscate_value('str')
81
81
  ).to eq(sample.send(:repeat_mask, fixed_length))
82
82
  end
83
83
 
84
- it 'calls repeak_mask(value.length) if using ALL' do
84
+ it 'calls repeat_mask(value.length) if using ALL' do
85
85
  expect(
86
86
  ValueObfuscator.ALL.obfuscate_value(value)
87
87
  ).to eq(sample.send(:repeat_mask, value.length))
@@ -90,7 +90,7 @@ describe ValueObfuscator do
90
90
  context '.keep_start_count or .keep_end_count' do
91
91
  subject(:sample) { ValueObfuscator.keep_start_count(5) }
92
92
 
93
- it 'returns orignal value if value is too short' do
93
+ it 'returns original value if value is too short' do
94
94
  expect(
95
95
  sample.obfuscate_value('str')
96
96
  ).to eq('str')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: connect-sdk-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.30.2
4
+ version: 2.31.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ingenico ePayments
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-25 00:00:00.000000000 Z
11
+ date: 2022-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpclient
@@ -86,14 +86,28 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.4'
89
+ version: '2.1'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2.1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: webrick
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.7'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
108
  - - "~>"
95
109
  - !ruby/object:Gem::Version
96
- version: '1.4'
110
+ version: '1.7'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: rake
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -591,6 +605,10 @@ files:
591
605
  - lib/ingenico/connect/sdk/logging/log_message_builder.rb
592
606
  - lib/ingenico/connect/sdk/logging/logging_capable.rb
593
607
  - lib/ingenico/connect/sdk/logging/logging_util.rb
608
+ - lib/ingenico/connect/sdk/logging/obfuscation/body_obfuscator.rb
609
+ - lib/ingenico/connect/sdk/logging/obfuscation/header_obfuscator.rb
610
+ - lib/ingenico/connect/sdk/logging/obfuscation/obfuscation_capable.rb
611
+ - lib/ingenico/connect/sdk/logging/obfuscation/obfuscation_rule.rb
594
612
  - lib/ingenico/connect/sdk/logging/request_log_message_builder.rb
595
613
  - lib/ingenico/connect/sdk/logging/response_log_message_builder.rb
596
614
  - lib/ingenico/connect/sdk/logging/ruby_communicator_logger.rb
@@ -667,6 +685,7 @@ files:
667
685
  - spec/fixtures/resources/logging/bodyNoObfuscation.json
668
686
  - spec/fixtures/resources/logging/bodyWithBinObfuscated.json
669
687
  - spec/fixtures/resources/logging/bodyWithBinOriginal.json
688
+ - spec/fixtures/resources/logging/bodyWithCardCustomObfuscated.json
670
689
  - spec/fixtures/resources/logging/bodyWithCardObfuscated.json
671
690
  - spec/fixtures/resources/logging/bodyWithCardOriginal.json
672
691
  - spec/fixtures/resources/logging/bodyWithIbanObfuscated.json
@@ -705,7 +724,10 @@ files:
705
724
  - spec/lib/defaultimpl/default_marshaller_spec.rb
706
725
  - spec/lib/factory_spec.rb
707
726
  - spec/lib/logging/header_obfuscator_spec.rb
727
+ - spec/lib/logging/legacy_logging_spec.rb
708
728
  - spec/lib/logging/logging_util_spec.rb
729
+ - spec/lib/logging/obfuscation/body_obfuscator_spec.rb
730
+ - spec/lib/logging/obfuscation/header_obfuscator_spec.rb
709
731
  - spec/lib/logging/obfuscator_spec.rb
710
732
  - spec/lib/logging/ruby_communicator_logger_spec.rb
711
733
  - spec/lib/logging/stdout_communicator_logger_spec.rb
@@ -759,6 +781,7 @@ test_files:
759
781
  - spec/fixtures/resources/logging/bodyNoObfuscation.json
760
782
  - spec/fixtures/resources/logging/bodyWithBinObfuscated.json
761
783
  - spec/fixtures/resources/logging/bodyWithBinOriginal.json
784
+ - spec/fixtures/resources/logging/bodyWithCardCustomObfuscated.json
762
785
  - spec/fixtures/resources/logging/bodyWithCardObfuscated.json
763
786
  - spec/fixtures/resources/logging/bodyWithCardOriginal.json
764
787
  - spec/fixtures/resources/logging/bodyWithIbanObfuscated.json
@@ -797,7 +820,10 @@ test_files:
797
820
  - spec/lib/defaultimpl/default_marshaller_spec.rb
798
821
  - spec/lib/factory_spec.rb
799
822
  - spec/lib/logging/header_obfuscator_spec.rb
823
+ - spec/lib/logging/legacy_logging_spec.rb
800
824
  - spec/lib/logging/logging_util_spec.rb
825
+ - spec/lib/logging/obfuscation/body_obfuscator_spec.rb
826
+ - spec/lib/logging/obfuscation/header_obfuscator_spec.rb
801
827
  - spec/lib/logging/obfuscator_spec.rb
802
828
  - spec/lib/logging/ruby_communicator_logger_spec.rb
803
829
  - spec/lib/logging/stdout_communicator_logger_spec.rb