github.com/ari-anchor/sei-tendermint@v0.0.0-20230519144642-dc826b7b56bb/scripts/metricsgen/metricsdiff/metricsdiff_test.go (about) 1 package main_test 2 3 import ( 4 "bytes" 5 "io" 6 "testing" 7 8 metricsdiff "github.com/ari-anchor/sei-tendermint/scripts/metricsgen/metricsdiff" 9 "github.com/stretchr/testify/require" 10 ) 11 12 func TestDiff(t *testing.T) { 13 for _, tc := range []struct { 14 name string 15 aContents string 16 bContents string 17 18 want string 19 }{ 20 { 21 name: "labels", 22 aContents: ` 23 metric_one{label_one="content", label_two="content"} 0 24 `, 25 bContents: ` 26 metric_one{label_three="content", label_four="content"} 0 27 `, 28 want: `Label changes: 29 Metric: metric_one 30 +++ label_three 31 +++ label_four 32 --- label_one 33 --- label_two 34 `, 35 }, 36 { 37 name: "metrics", 38 aContents: ` 39 metric_one{label_one="content"} 0 40 `, 41 bContents: ` 42 metric_two{label_two="content"} 0 43 `, 44 want: `Metric changes: 45 +++ metric_two 46 --- metric_one 47 `, 48 }, 49 } { 50 t.Run(tc.name, func(t *testing.T) { 51 bufA := bytes.NewBuffer([]byte{}) 52 bufB := bytes.NewBuffer([]byte{}) 53 _, err := io.WriteString(bufA, tc.aContents) 54 require.NoError(t, err) 55 _, err = io.WriteString(bufB, tc.bContents) 56 require.NoError(t, err) 57 md, err := metricsdiff.DiffFromReaders(bufA, bufB) 58 require.NoError(t, err) 59 require.Equal(t, tc.want, md.String()) 60 }) 61 } 62 }