diff --git a/tap/extensions/amqp/main_test.go b/tap/extensions/amqp/main_test.go index 66897b8e4..b96cb82a8 100644 --- a/tap/extensions/amqp/main_test.go +++ b/tap/extensions/amqp/main_test.go @@ -21,14 +21,16 @@ import ( const ( binDir = "bin" patternBin = "*_req.bin" - patternDissect = "*.json" + patternExpect = "*.json" msgDissecting = "Dissecting:" msgAnalyzing = "Analyzing:" + msgSummarizing = "Summarizing:" msgRepresenting = "Representing:" respSuffix = "_res.bin" expectDir = "expect" dissectDir = "dissect" analyzeDir = "analyze" + summarizeDir = "summarize" representDir = "represent" testUpdate = "TEST_UPDATE" ) @@ -186,7 +188,7 @@ func TestAnalyze(t *testing.T) { } dissector := NewDissector() - paths, err := filepath.Glob(path.Join(expectDirDissect, patternDissect)) + paths, err := filepath.Glob(path.Join(expectDirDissect, patternExpect)) if err != nil { log.Fatal(err) } @@ -230,6 +232,63 @@ func TestAnalyze(t *testing.T) { } } +func TestSummarize(t *testing.T) { + _, testUpdateEnabled := os.LookupEnv(testUpdate) + + expectDirAnalyze := path.Join(expectDir, analyzeDir) + expectDirSummarize := path.Join(expectDir, summarizeDir) + + if testUpdateEnabled { + os.RemoveAll(expectDirSummarize) + err := os.MkdirAll(expectDirSummarize, 0775) + assert.Nil(t, err) + } + + dissector := NewDissector() + paths, err := filepath.Glob(path.Join(expectDirAnalyze, patternExpect)) + if err != nil { + log.Fatal(err) + } + + for _, _path := range paths { + fmt.Printf("%s %s\n", msgSummarizing, _path) + + bytes, err := ioutil.ReadFile(_path) + assert.Nil(t, err) + + var entries []*api.Entry + err = json.Unmarshal(bytes, &entries) + assert.Nil(t, err) + + var baseEntries []*api.BaseEntry + for _, entry := range entries { + baseEntry := dissector.Summarize(entry) + baseEntries = append(baseEntries, baseEntry) + } + + pathExpect := path.Join(expectDirSummarize, filepath.Base(_path)) + + marshaled, err := json.Marshal(baseEntries) + assert.Nil(t, err) + + if testUpdateEnabled { + if len(baseEntries) > 0 { + err = os.WriteFile(pathExpect, marshaled, 0644) + assert.Nil(t, err) + } + } else { + if _, err := os.Stat(pathExpect); errors.Is(err, os.ErrNotExist) { + assert.Len(t, entries, 0) + } else { + expectedBytes, err := ioutil.ReadFile(pathExpect) + assert.Nil(t, err) + + assert.JSONEq(t, string(expectedBytes), string(marshaled)) + } + } + } +} + func TestRepresent(t *testing.T) { _, testUpdateEnabled := os.LookupEnv(testUpdate) @@ -243,7 +302,7 @@ func TestRepresent(t *testing.T) { } dissector := NewDissector() - paths, err := filepath.Glob(path.Join(expectDirAnalyze, patternDissect)) + paths, err := filepath.Glob(path.Join(expectDirAnalyze, patternExpect)) if err != nil { log.Fatal(err) } diff --git a/tap/extensions/http/main_test.go b/tap/extensions/http/main_test.go index 90f90ab39..2a3c4e4ec 100644 --- a/tap/extensions/http/main_test.go +++ b/tap/extensions/http/main_test.go @@ -21,14 +21,16 @@ import ( const ( binDir = "bin" patternBin = "*_req.bin" - patternDissect = "*.json" + patternExpect = "*.json" msgDissecting = "Dissecting:" msgAnalyzing = "Analyzing:" + msgSummarizing = "Summarizing:" msgRepresenting = "Representing:" respSuffix = "_res.bin" expectDir = "expect" dissectDir = "dissect" analyzeDir = "analyze" + summarizeDir = "summarize" representDir = "represent" testUpdate = "TEST_UPDATE" ) @@ -188,7 +190,7 @@ func TestAnalyze(t *testing.T) { } dissector := NewDissector() - paths, err := filepath.Glob(path.Join(expectDirDissect, patternDissect)) + paths, err := filepath.Glob(path.Join(expectDirDissect, patternExpect)) if err != nil { log.Fatal(err) } @@ -232,6 +234,63 @@ func TestAnalyze(t *testing.T) { } } +func TestSummarize(t *testing.T) { + _, testUpdateEnabled := os.LookupEnv(testUpdate) + + expectDirAnalyze := path.Join(expectDir, analyzeDir) + expectDirSummarize := path.Join(expectDir, summarizeDir) + + if testUpdateEnabled { + os.RemoveAll(expectDirSummarize) + err := os.MkdirAll(expectDirSummarize, 0775) + assert.Nil(t, err) + } + + dissector := NewDissector() + paths, err := filepath.Glob(path.Join(expectDirAnalyze, patternExpect)) + if err != nil { + log.Fatal(err) + } + + for _, _path := range paths { + fmt.Printf("%s %s\n", msgSummarizing, _path) + + bytes, err := ioutil.ReadFile(_path) + assert.Nil(t, err) + + var entries []*api.Entry + err = json.Unmarshal(bytes, &entries) + assert.Nil(t, err) + + var baseEntries []*api.BaseEntry + for _, entry := range entries { + baseEntry := dissector.Summarize(entry) + baseEntries = append(baseEntries, baseEntry) + } + + pathExpect := path.Join(expectDirSummarize, filepath.Base(_path)) + + marshaled, err := json.Marshal(baseEntries) + assert.Nil(t, err) + + if testUpdateEnabled { + if len(baseEntries) > 0 { + err = os.WriteFile(pathExpect, marshaled, 0644) + assert.Nil(t, err) + } + } else { + if _, err := os.Stat(pathExpect); errors.Is(err, os.ErrNotExist) { + assert.Len(t, entries, 0) + } else { + expectedBytes, err := ioutil.ReadFile(pathExpect) + assert.Nil(t, err) + + assert.JSONEq(t, string(expectedBytes), string(marshaled)) + } + } + } +} + func TestRepresent(t *testing.T) { _, testUpdateEnabled := os.LookupEnv(testUpdate) @@ -245,7 +304,7 @@ func TestRepresent(t *testing.T) { } dissector := NewDissector() - paths, err := filepath.Glob(path.Join(expectDirAnalyze, patternDissect)) + paths, err := filepath.Glob(path.Join(expectDirAnalyze, patternExpect)) if err != nil { log.Fatal(err) } diff --git a/tap/extensions/kafka/main_test.go b/tap/extensions/kafka/main_test.go index 11dec2945..4546123ec 100644 --- a/tap/extensions/kafka/main_test.go +++ b/tap/extensions/kafka/main_test.go @@ -21,14 +21,16 @@ import ( const ( binDir = "bin" patternBin = "*_req.bin" - patternDissect = "*.json" + patternExpect = "*.json" msgDissecting = "Dissecting:" msgAnalyzing = "Analyzing:" + msgSummarizing = "Summarizing:" msgRepresenting = "Representing:" respSuffix = "_res.bin" expectDir = "expect" dissectDir = "dissect" analyzeDir = "analyze" + summarizeDir = "summarize" representDir = "represent" testUpdate = "TEST_UPDATE" ) @@ -187,7 +189,7 @@ func TestAnalyze(t *testing.T) { } dissector := NewDissector() - paths, err := filepath.Glob(path.Join(expectDirDissect, patternDissect)) + paths, err := filepath.Glob(path.Join(expectDirDissect, patternExpect)) if err != nil { log.Fatal(err) } @@ -231,6 +233,63 @@ func TestAnalyze(t *testing.T) { } } +func TestSummarize(t *testing.T) { + _, testUpdateEnabled := os.LookupEnv(testUpdate) + + expectDirAnalyze := path.Join(expectDir, analyzeDir) + expectDirSummarize := path.Join(expectDir, summarizeDir) + + if testUpdateEnabled { + os.RemoveAll(expectDirSummarize) + err := os.MkdirAll(expectDirSummarize, 0775) + assert.Nil(t, err) + } + + dissector := NewDissector() + paths, err := filepath.Glob(path.Join(expectDirAnalyze, patternExpect)) + if err != nil { + log.Fatal(err) + } + + for _, _path := range paths { + fmt.Printf("%s %s\n", msgSummarizing, _path) + + bytes, err := ioutil.ReadFile(_path) + assert.Nil(t, err) + + var entries []*api.Entry + err = json.Unmarshal(bytes, &entries) + assert.Nil(t, err) + + var baseEntries []*api.BaseEntry + for _, entry := range entries { + baseEntry := dissector.Summarize(entry) + baseEntries = append(baseEntries, baseEntry) + } + + pathExpect := path.Join(expectDirSummarize, filepath.Base(_path)) + + marshaled, err := json.Marshal(baseEntries) + assert.Nil(t, err) + + if testUpdateEnabled { + if len(baseEntries) > 0 { + err = os.WriteFile(pathExpect, marshaled, 0644) + assert.Nil(t, err) + } + } else { + if _, err := os.Stat(pathExpect); errors.Is(err, os.ErrNotExist) { + assert.Len(t, entries, 0) + } else { + expectedBytes, err := ioutil.ReadFile(pathExpect) + assert.Nil(t, err) + + assert.JSONEq(t, string(expectedBytes), string(marshaled)) + } + } + } +} + func TestRepresent(t *testing.T) { _, testUpdateEnabled := os.LookupEnv(testUpdate) @@ -244,7 +303,7 @@ func TestRepresent(t *testing.T) { } dissector := NewDissector() - paths, err := filepath.Glob(path.Join(expectDirAnalyze, patternDissect)) + paths, err := filepath.Glob(path.Join(expectDirAnalyze, patternExpect)) if err != nil { log.Fatal(err) } diff --git a/tap/extensions/redis/main_test.go b/tap/extensions/redis/main_test.go index 5aa0a5cd4..27c60bb03 100644 --- a/tap/extensions/redis/main_test.go +++ b/tap/extensions/redis/main_test.go @@ -22,14 +22,16 @@ import ( const ( binDir = "bin" patternBin = "*_req.bin" - patternDissect = "*.json" + patternExpect = "*.json" msgDissecting = "Dissecting:" msgAnalyzing = "Analyzing:" + msgSummarizing = "Summarizing:" msgRepresenting = "Representing:" respSuffix = "_res.bin" expectDir = "expect" dissectDir = "dissect" analyzeDir = "analyze" + summarizeDir = "summarize" representDir = "represent" testUpdate = "TEST_UPDATE" ) @@ -187,7 +189,7 @@ func TestAnalyze(t *testing.T) { } dissector := NewDissector() - paths, err := filepath.Glob(path.Join(expectDirDissect, patternDissect)) + paths, err := filepath.Glob(path.Join(expectDirDissect, patternExpect)) if err != nil { log.Fatal(err) } @@ -231,6 +233,63 @@ func TestAnalyze(t *testing.T) { } } +func TestSummarize(t *testing.T) { + _, testUpdateEnabled := os.LookupEnv(testUpdate) + + expectDirAnalyze := path.Join(expectDir, analyzeDir) + expectDirSummarize := path.Join(expectDir, summarizeDir) + + if testUpdateEnabled { + os.RemoveAll(expectDirSummarize) + err := os.MkdirAll(expectDirSummarize, 0775) + assert.Nil(t, err) + } + + dissector := NewDissector() + paths, err := filepath.Glob(path.Join(expectDirAnalyze, patternExpect)) + if err != nil { + log.Fatal(err) + } + + for _, _path := range paths { + fmt.Printf("%s %s\n", msgSummarizing, _path) + + bytes, err := ioutil.ReadFile(_path) + assert.Nil(t, err) + + var entries []*api.Entry + err = json.Unmarshal(bytes, &entries) + assert.Nil(t, err) + + var baseEntries []*api.BaseEntry + for _, entry := range entries { + baseEntry := dissector.Summarize(entry) + baseEntries = append(baseEntries, baseEntry) + } + + pathExpect := path.Join(expectDirSummarize, filepath.Base(_path)) + + marshaled, err := json.Marshal(baseEntries) + assert.Nil(t, err) + + if testUpdateEnabled { + if len(baseEntries) > 0 { + err = os.WriteFile(pathExpect, marshaled, 0644) + assert.Nil(t, err) + } + } else { + if _, err := os.Stat(pathExpect); errors.Is(err, os.ErrNotExist) { + assert.Len(t, entries, 0) + } else { + expectedBytes, err := ioutil.ReadFile(pathExpect) + assert.Nil(t, err) + + assert.JSONEq(t, string(expectedBytes), string(marshaled)) + } + } + } +} + func TestRepresent(t *testing.T) { _, testUpdateEnabled := os.LookupEnv(testUpdate) @@ -244,7 +303,7 @@ func TestRepresent(t *testing.T) { } dissector := NewDissector() - paths, err := filepath.Glob(path.Join(expectDirAnalyze, patternDissect)) + paths, err := filepath.Glob(path.Join(expectDirAnalyze, patternExpect)) if err != nil { log.Fatal(err) }