fluent-plugin-masking 1.0.4 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/fluent/plugin/filter_masking.rb +1 -1
- data/lib/fluent/plugin/version.rb +1 -1
- data/test/fields-to-mask +2 -1
- data/test/test_filter_masking.rb +13 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1be0dc52a39ffef703c1248c3c382216c6d403eadeadbc3867dfc8a258c32c92
|
4
|
+
data.tar.gz: cdec0b9f6dc0df77666fe108508f9e46da1b2e2157701daa5923eb966aa20680
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89056249c1728a23e8e97830b929e104266f92c24963afcc562ccad2f2d4b15fdab248475bdb64edbac646d5921fcbaa19532f24ebd9e9db0985003a1f898b96
|
7
|
+
data.tar.gz: c3457ebd0f9e07d3eaa11e117f987b98bc00757d32f02bcc6c0650365f5876eb098fc816ad659195181240a979251968c2bec65c6a3b6443c9a96b58dc31907d
|
@@ -21,7 +21,7 @@ module Fluent
|
|
21
21
|
recordStr = record.to_s
|
22
22
|
@fields_to_mask.each do | fieldToMask |
|
23
23
|
recordStr = recordStr.gsub(/(?::#{fieldToMask}=>")(.*?)(?:")/m, ":#{fieldToMask}=>\"#{MASK_STRING}\"") # mask element in hash object
|
24
|
-
recordStr = recordStr.gsub(/\\+"#{fieldToMask}\\+":\\+.+?((?=(}
|
24
|
+
recordStr = recordStr.gsub(/\\+"#{fieldToMask}\\+":\\+.+?((?=(})|,( *|)(\s|\\+)\")|(?=}"$))/m, "\\\"#{fieldToMask}\\\":\\\"#{MASK_STRING}\\\"") # mask element in json string
|
25
25
|
end
|
26
26
|
|
27
27
|
maskedRecord = strToHash(recordStr)
|
data/test/fields-to-mask
CHANGED
data/test/test_filter_masking.rb
CHANGED
@@ -58,6 +58,18 @@ class YourOwnFilterTest < Test::Unit::TestCase
|
|
58
58
|
assert_equal(expected, filtered_records)
|
59
59
|
end
|
60
60
|
|
61
|
+
test 'mask field in hash object and in json string' do
|
62
|
+
conf = CONFIG
|
63
|
+
messages = [
|
64
|
+
{ :msg=>"sup", :email=>"mickey-the-dog@zooz.com", :body => "{\"first_name\":\"mickey\", \"type\":\"puggle\", \"last_name\":\"the-dog\"}", :status_code=>201, :password=>"d0g!@"}
|
65
|
+
]
|
66
|
+
expected = [
|
67
|
+
{ :msg=>"sup", :email=>MASK_STRING, :body => "{\"first_name\":\"*******\", \"type\":\"puggle\", \"last_name\":\"*******\"}", :status_code=>201, :password=>MASK_STRING }
|
68
|
+
]
|
69
|
+
filtered_records = filter(conf, messages)
|
70
|
+
assert_equal(expected, filtered_records)
|
71
|
+
end
|
72
|
+
|
61
73
|
test 'mask field in nested json string' do
|
62
74
|
conf = CONFIG
|
63
75
|
messages = [
|
@@ -70,7 +82,7 @@ class YourOwnFilterTest < Test::Unit::TestCase
|
|
70
82
|
assert_equal(expected, filtered_records)
|
71
83
|
end
|
72
84
|
|
73
|
-
test 'mask field in nested json escaped
|
85
|
+
test 'mask field in nested json escaped string' do
|
74
86
|
conf = CONFIG
|
75
87
|
messages = [
|
76
88
|
{ :body => "{\"first_name\":\"mickey\",\"last_name\":\"the-dog\",\"address\":\"{\\\"street\":\\\"Austin\\\",\\\"number\":\\\"89\\\"}\", \"type\":\"puggle\"}" }
|