bitbucket.org/Aishee/synsec@v0.0.0-20210414005726-236fc01a153d/pkg/exprhelpers/jsonextract_test.go (about) 1 package exprhelpers 2 3 import ( 4 "log" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestJsonExtract(t *testing.T) { 11 if err := Init(); err != nil { 12 log.Fatalf(err.Error()) 13 } 14 15 err := FileInit(TestFolder, "test_data_re.txt", "regex") 16 if err != nil { 17 log.Fatalf(err.Error()) 18 } 19 20 tests := []struct { 21 name string 22 jsonBlob string 23 targetField string 24 expectResult string 25 }{ 26 { 27 name: "basic json extract", 28 jsonBlob: `{"test" : "1234"}`, 29 targetField: "test", 30 expectResult: "1234", 31 }, 32 { 33 name: "basic json extract with non existing field", 34 jsonBlob: `{"test" : "1234"}`, 35 targetField: "non_existing_field", 36 expectResult: "", 37 }, 38 } 39 40 for _, test := range tests { 41 result := JsonExtract(test.jsonBlob, test.targetField) 42 isOk := assert.Equal(t, test.expectResult, result) 43 if !isOk { 44 t.Fatalf("test '%s' failed", test.name) 45 } 46 log.Printf("test '%s' : OK", test.name) 47 } 48 49 }