(t *testing.T)
| 89 | } |
| 90 | |
| 91 | func TestStatsDumper(t *testing.T) { |
| 92 | // Check that the StatsDumper correctly reports the metrics gathered from |
| 93 | // the components. The tests check both the reports printed to the standard |
| 94 | // output and metrics published to the MetricClient. |
| 95 | toml := ` |
| 96 | [input] |
| 97 | name="statsInput" |
| 98 | |
| 99 | [[filter]] |
| 100 | name="statsFilter" |
| 101 | |
| 102 | [[filter]] |
| 103 | name="statsFilter" |
| 104 | |
| 105 | [[filter]] |
| 106 | name="statsFilter" |
| 107 | |
| 108 | [output] |
| 109 | name="statsOutput" |
| 110 | procs=2 |
| 111 | fields=["field0"] |
| 112 | |
| 113 | [upload] |
| 114 | name="statsUpload" |
| 115 | |
| 116 | [metrics] |
| 117 | name="MockMetrics" |
| 118 | ` |
| 119 | components := baker.Components{ |
| 120 | Inputs: []baker.InputDesc{{Name: "statsInput", |
| 121 | Config: &struct{}{}, |
| 122 | New: func(baker.InputParams) (baker.Input, error) { return statsInput{}, nil }, |
| 123 | }}, |
| 124 | Filters: []baker.FilterDesc{{Name: "statsFilter", |
| 125 | Config: &struct{}{}, |
| 126 | New: func(baker.FilterParams) (baker.Filter, error) { return statsFilter{}, nil }, |
| 127 | }}, |
| 128 | Outputs: []baker.OutputDesc{{Name: "statsOutput", |
| 129 | Config: &struct{}{}, |
| 130 | New: func(baker.OutputParams) (baker.Output, error) { return statsOutput{}, nil }, |
| 131 | }}, |
| 132 | Uploads: []baker.UploadDesc{{Name: "statsUpload", |
| 133 | Config: &struct{}{}, |
| 134 | New: func(baker.UploadParams) (baker.Upload, error) { return statsUpload{}, nil }, |
| 135 | }}, |
| 136 | Metrics: []baker.MetricsDesc{testutil.MockMetricsDesc}, |
| 137 | FieldByName: func(n string) (baker.FieldIndex, bool) { return 0, true }, |
| 138 | FieldNames: []string{"foo", "bar"}, |
| 139 | } |
| 140 | |
| 141 | cfg, err := baker.NewConfigFromToml(strings.NewReader(toml), components) |
| 142 | if err != nil { |
| 143 | t.Fatal(err) |
| 144 | } |
| 145 | |
| 146 | tp, err := baker.NewTopologyFromConfig(cfg) |
| 147 | if err != nil { |
| 148 | t.Fatal(err) |
nothing calls this directly
no test coverage detected