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 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