|
20 | 20 | import java.util.Map; |
21 | 21 |
|
22 | 22 | import static java.util.Map.entry; |
| 23 | +import static org.hamcrest.Matchers.aMapWithSize; |
23 | 24 | import static org.hamcrest.Matchers.containsInAnyOrder; |
24 | 25 | import static org.hamcrest.Matchers.equalTo; |
25 | 26 |
|
26 | 27 | public class CefProcessorTests extends ESTestCase { |
27 | 28 |
|
28 | 29 | private IngestDocument document; |
29 | 30 |
|
| 31 | + public void testParse() { |
| 32 | + String message; |
| 33 | + List<String> headers; |
| 34 | + Map<String, String> extensions; |
| 35 | + { |
| 36 | + message = "CEF:0|vendor|product|version|class|name|severity|"; |
| 37 | + headers = CefParser.parseHeaders(message); |
| 38 | + extensions = CefParser.parseExtensions(headers.removeLast()); |
| 39 | + assertThat(headers, equalTo(List.of("CEF:0", "vendor", "product", "version", "class", "name", "severity"))); |
| 40 | + assertThat(extensions, aMapWithSize(0)); |
| 41 | + } |
| 42 | + { |
| 43 | + message = "CEF:1|vendor|product|version|class|name|severity|someExtension=someValue"; |
| 44 | + headers = CefParser.parseHeaders(message); |
| 45 | + extensions = CefParser.parseExtensions(headers.removeLast()); |
| 46 | + assertThat(headers, equalTo(List.of("CEF:1", "vendor", "product", "version", "class", "name", "severity"))); |
| 47 | + assertThat(extensions, equalTo(Map.of("someExtension", "someValue"))); |
| 48 | + } |
| 49 | + { |
| 50 | + message = "CEF:1|vendor|product\\|pipe|version space|class\\\\slash|name|severity|ext1=some value ext2=pipe|value "; |
| 51 | + headers = CefParser.parseHeaders(message); |
| 52 | + extensions = CefParser.parseExtensions(headers.removeLast()); |
| 53 | + assertThat(headers, equalTo(List.of("CEF:1", "vendor", "product|pipe", "version space", "class\\slash", "name", "severity"))); |
| 54 | + assertMapsEqual(extensions, Map.ofEntries(entry("ext1", "some value "), entry("ext2", "pipe|value"))); |
| 55 | + } |
| 56 | + } |
| 57 | + |
30 | 58 | public void testExecute() { |
31 | 59 | Map<String, Object> source = new HashMap<>(); |
32 | 60 | String message = "CEF:0|Elastic|Vaporware|1.0.0-alpha|18|Web request|low|eventId=3457 requestMethod=POST " |
|
0 commit comments