fluent-plugin-masking 1.0.4 → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3af98b34958dbe69aded48cc35ea83ebeada5e020773f041dcf0f787ce70dfdf
4
- data.tar.gz: 7a19b3898868e5bc8d6118419287c59f777be1d56cf177aa059df29c4d13edaa
3
+ metadata.gz: 1be0dc52a39ffef703c1248c3c382216c6d403eadeadbc3867dfc8a258c32c92
4
+ data.tar.gz: cdec0b9f6dc0df77666fe108508f9e46da1b2e2157701daa5923eb966aa20680
5
5
  SHA512:
6
- metadata.gz: 874630b83c4dc1131521af3444c3f3bc1d1638a929e73049817cfdacfb55353587c8d1bfa424ebee4b3669d3c488ee38a5ae74b88ec545ef1e64d92a963ffd5f
7
- data.tar.gz: 8574105ab4603323527e4d5d000043dd0c201990530afec23634f3195b815cacd6853748d60c0855eadbf26baafd718a0f3239b5289e0b906353c6be06063b86
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}\\+":\\+.+?((?=(}\\+",)|,( *|)(\s|\\+)\")|(?=}"$))/m, "\\\"#{fieldToMask}\\\":\\\"#{MASK_STRING}\\\"") # mask element in json string
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)
@@ -1,3 +1,3 @@
1
1
  module FilterMasking
2
- VERSION = "1.0.4"
2
+ VERSION = "1.0.5"
3
3
  end
data/test/fields-to-mask CHANGED
@@ -2,4 +2,5 @@ email
2
2
  first_name
3
3
  last_name
4
4
  street
5
- number
5
+ number
6
+ password
@@ -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 strubg' do
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\"}" }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-masking
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shai Moria