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