Skip to content

Commit 5c6ab69

Browse files
authored
Backport(v1.16): ci: refactor out_forward compress setting test (#4896) (#5092)
**Which issue(s) this PR fixes**: * Partially backported from #4896 **What this PR does / why we need it**: Refactor out_forward compress setting tests. **Docs Changes**: Not needed. **Release Note**: CI fixes. Signed-off-by: Daijiro Fukuda <fukuda@clear-code.com>
1 parent 2c17316 commit 5c6ab69

File tree

1 file changed

+36
-34
lines changed

1 file changed

+36
-34
lines changed

test/plugin/test_out_forward.rb

Lines changed: 36 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,42 @@ def try_write(chunk)
178178
assert{ logs.any?{|log| log.include?(expected_log) && log.include?(expected_detail) } }
179179
end
180180

181+
sub_test_case 'configure compress' do
182+
data('default', ['', :text])
183+
data('gzip', ['compress gzip', :gzip])
184+
test 'should be applied' do |(option, expected)|
185+
@d = d = create_driver(config + option)
186+
node = d.instance.nodes.first
187+
188+
assert_equal(
189+
[expected, expected],
190+
[d.instance.compress, node.instance_variable_get(:@compress)]
191+
)
192+
end
193+
194+
# TODO add tests that we cannot configure the different compress type between owner and buffer except for :text
195+
data('gzip', ['compress gzip', :text, :gzip])
196+
test 'can configure buffer compress separately when owner uses :text' do |(buffer_option, expected_owner_compress, expected_buffer_compress)|
197+
@d = d = create_driver(config + %[
198+
<buffer>
199+
type memory
200+
#{buffer_option}
201+
</buffer>
202+
])
203+
node = d.instance.nodes.first
204+
205+
assert_equal(
206+
[expected_owner_compress, expected_owner_compress, expected_buffer_compress],
207+
[d.instance.compress, node.instance_variable_get(:@compress), d.instance.buffer.compress],
208+
)
209+
210+
log_message = "buffer is compressed. If you also want to save the bandwidth of a network, Add `compress` configuration in <match>"
211+
assert do
212+
d.logs.any? { |log| log.include?(log_message) }
213+
end
214+
end
215+
end
216+
181217
data('CA cert' => 'tls_ca_cert_path',
182218
'non CA cert' => 'tls_cert_path')
183219
test 'configure tls_cert_path/tls_ca_cert_path' do |param|
@@ -326,40 +362,6 @@ def try_write(chunk)
326362
assert_equal 1234, d.instance.discovery_manager.services[0].port
327363
end
328364

329-
test 'compress_default_value' do
330-
@d = d = create_driver
331-
assert_equal :text, d.instance.compress
332-
333-
node = d.instance.nodes.first
334-
assert_equal :text, node.instance_variable_get(:@compress)
335-
end
336-
337-
test 'set_compress_is_gzip' do
338-
@d = d = create_driver(config + %[compress gzip])
339-
assert_equal :gzip, d.instance.compress
340-
assert_equal :gzip, d.instance.buffer.compress
341-
342-
node = d.instance.nodes.first
343-
assert_equal :gzip, node.instance_variable_get(:@compress)
344-
end
345-
346-
test 'set_compress_is_gzip_in_buffer_section' do
347-
mock = flexmock($log.dup)
348-
mock.should_receive(:log).with("buffer is compressed. If you also want to save the bandwidth of a network, Add `compress` configuration in <match>")
349-
350-
@d = d = create_driver(config + %[
351-
<buffer>
352-
type memory
353-
compress gzip
354-
</buffer>
355-
])
356-
assert_equal :text, d.instance.compress
357-
assert_equal :gzip, d.instance.buffer.compress
358-
359-
node = d.instance.nodes.first
360-
assert_equal :text, node.instance_variable_get(:@compress)
361-
end
362-
363365
test 'phi_failure_detector disabled' do
364366
@d = d = create_driver(config + %[phi_failure_detector false \n phi_threshold 0])
365367
node = d.instance.nodes.first

0 commit comments

Comments
 (0)