@@ -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