()
| 232 | } |
| 233 | |
| 234 | func (p *ParserAssert) AutoGenParserAssert() string { |
| 235 | // attempt to autogen parser asserts |
| 236 | ret := fmt.Sprintf("len(results) == %d\n", len(*p.TestData)) |
| 237 | |
| 238 | // sort map keys for consistent order |
| 239 | stages := maptools.SortedKeys(*p.TestData) |
| 240 | |
| 241 | for _, stage := range stages { |
| 242 | parsers := (*p.TestData)[stage] |
| 243 | |
| 244 | // sort map keys for consistent order |
| 245 | pnames := maptools.SortedKeys(parsers) |
| 246 | |
| 247 | for _, parser := range pnames { |
| 248 | presults := parsers[parser] |
| 249 | ret += fmt.Sprintf(`len(results["%s"]["%s"]) == %d`+"\n", stage, parser, len(presults)) |
| 250 | |
| 251 | for pidx, result := range presults { |
| 252 | ret += fmt.Sprintf(`results["%s"]["%s"][%d].Success == %t`+"\n", stage, parser, pidx, result.Success) |
| 253 | |
| 254 | if !result.Success { |
| 255 | continue |
| 256 | } |
| 257 | |
| 258 | for _, pkey := range maptools.SortedKeys(result.Evt.Parsed) { |
| 259 | pval := result.Evt.Parsed[pkey] |
| 260 | if pval == "" { |
| 261 | continue |
| 262 | } |
| 263 | |
| 264 | ret += fmt.Sprintf(`results["%s"]["%s"][%d].Evt.Parsed["%s"] == "%s"`+"\n", stage, parser, pidx, pkey, Escape(pval)) |
| 265 | } |
| 266 | |
| 267 | for _, mkey := range maptools.SortedKeys(result.Evt.Meta) { |
| 268 | mval := result.Evt.Meta[mkey] |
| 269 | if mval == "" { |
| 270 | continue |
| 271 | } |
| 272 | |
| 273 | if mkey == "datasource_path" { |
| 274 | ret += fmt.Sprintf(`basename(results["%s"]["%s"][%d].Evt.Meta["%s"]) == "%s"`+"\n", stage, parser, pidx, mkey, Escape(filepath.Base(mval))) |
| 275 | } else { |
| 276 | ret += fmt.Sprintf(`results["%s"]["%s"][%d].Evt.Meta["%s"] == "%s"`+"\n", stage, parser, pidx, mkey, Escape(mval)) |
| 277 | } |
| 278 | } |
| 279 | |
| 280 | for _, ekey := range maptools.SortedKeys(result.Evt.Enriched) { |
| 281 | eval := result.Evt.Enriched[ekey] |
| 282 | if eval == "" { |
| 283 | continue |
| 284 | } |
| 285 | |
| 286 | ret += fmt.Sprintf(`results["%s"]["%s"][%d].Evt.Enriched["%s"] == "%s"`+"\n", stage, parser, pidx, ekey, Escape(eval)) |
| 287 | } |
| 288 | |
| 289 | for _, ukey := range maptools.SortedKeys(result.Evt.Unmarshaled) { |
| 290 | uval := result.Evt.Unmarshaled[ukey] |
| 291 | if uval == "" { |
no test coverage detected