|
72 | 72 | it "processes the event" do |
73 | 73 | plugin.filter(event) |
74 | 74 | expect(event.get("[@metadata][total_values]")).to eq(expected_count) |
75 | | - fields&.each do | old_key, new_key | |
76 | | - expect(event.get(new_key)).not_to be(nil) |
| 75 | + fields&.each do | field | |
| 76 | + expect(event.get(field)).not_to be(nil) |
77 | 77 | end |
78 | 78 | end |
79 | 79 | end |
80 | 80 |
|
81 | | - describe "LIMIT 1 by default" do |
82 | | - let(:config) do |
83 | | - super().merge("query" => "FROM #{es_index}") |
84 | | - end |
85 | | - |
86 | | - include_examples "ESQL query execution", 1 |
87 | | - end |
88 | | - |
89 | 81 | describe "with simple FROM query with LIMIT" do |
90 | 82 | let(:config) do |
91 | 83 | super().merge("query" => "FROM #{es_index} | LIMIT 99") |
|
102 | 94 | include_examples "ESQL query execution", 2 |
103 | 95 | end |
104 | 96 |
|
| 97 | + describe "with query params" do |
| 98 | + let(:config) do |
| 99 | + super().merge("query" => "FROM #{es_index} | WHERE type==?type", "query_params" => { "type" => "b" }) |
| 100 | + end |
| 101 | + |
| 102 | + include_examples "ESQL query execution", 2 |
| 103 | + end |
| 104 | + |
105 | 105 | describe "when invalid query used" do |
106 | 106 | let(:config) do |
107 | 107 | super().merge("query" => "FROM undefined index | LIMIT 1") |
|
114 | 114 | end |
115 | 115 |
|
116 | 116 | describe "when field enrichment requested" do |
117 | | - fields = {"message" => "target_message", "count" => "target_count"} |
118 | 117 | let(:config) do |
119 | | - super().merge("query" => "FROM #{es_index} | WHERE type==\"b\" | LIMIT 99", "fields" => fields) |
| 118 | + super().merge("query" => "FROM #{es_index} | WHERE type==\"b\" | LIMIT 99") |
120 | 119 | end |
121 | 120 |
|
122 | | - include_examples "ESQL query execution", 2, fields |
| 121 | + include_examples "ESQL query execution", 2, %w[message count] |
123 | 122 | end |
124 | 123 |
|
125 | 124 | describe "when non-exist field value appear" do |
126 | 125 | let(:config) do |
127 | | - super().merge("query" => "FROM #{es_index} | LIMIT 99", "fields" => {"message" => "target_message", "count" => "target_count"}) |
| 126 | + super().merge("query" => "FROM #{es_index}", "target" => "target_field") |
128 | 127 | end |
129 | 128 |
|
130 | 129 | it "processes the event" do |
131 | 130 | plugin.filter(event) |
132 | 131 | expect(event.get("[@metadata][total_values]")).to eq(6) |
133 | | - expect(event.get("target_message").size).to eq(6) |
134 | | - expect(event.get("target_count").size).to eq(5) |
| 132 | + expect(event.get("target_field").size).to eq(6) |
| 133 | + values = event.get("target_field") |
| 134 | + counts = values.count { |entry| entry.key?("count") } |
| 135 | + messages = values.count { |entry| entry.key?("message") } |
| 136 | + expect(counts).to eq(5) |
| 137 | + expect(messages).to eq(6) |
135 | 138 | end |
136 | 139 | end |
137 | 140 | end |
|
0 commit comments