YUKI Hiroshi
null+****@clear*****
Wed Nov 27 20:19:05 JST 2013
YUKI Hiroshi 2013-11-27 20:19:05 +0900 (Wed, 27 Nov 2013) New Revision: 326a61cee5df4635c4b4dcaa9c46660eb89eb932 https://github.com/droonga/fluent-plugin-droonga/commit/326a61cee5df4635c4b4dcaa9c46660eb89eb932 Message: Add tests for collector's reduce with limit and offset Modified files: test/unit/plugin/handler/test_collector.rb Modified: test/unit/plugin/handler/test_collector.rb (+148 -0) =================================================================== --- test/unit/plugin/handler/test_collector.rb 2013-11-27 20:18:46 +0900 (911ded0) +++ test/unit/plugin/handler/test_collector.rb 2013-11-27 20:19:05 +0900 (972b5ab) @@ -123,6 +123,79 @@ class BasicCollectorHandlerTest < Test::Unit::TestCase @messages.last) end + def test_sum_with_offset_and_limit + input_name = "input_#{Time.now.to_i}" + output_name = "output_#{Time.now.to_i}" + request = { + "task" => { + "values" => { + output_name => { + "numeric_key_records" => [ + create_record(1), + create_record(2), + create_record(3), + ], + "string_key_records" => [ + create_record("a"), + create_record("b"), + create_record("c"), + ], + }, + }, + "component" => { + "body" => { + input_name => { + output_name => { + "numeric_key_records" => { + "type" => "sum", + "offset" => 2, + "limit" => 2, + }, + "string_key_records" => { + "type" => "sum", + "offset" => 3, + "limit" => -1, + }, + }, + }, + }, + "outputs" => nil, + }, + }, + "id" => nil, + "value" => { + "numeric_key_records" => [ + create_record(4), + create_record(5), + create_record(6), + ], + "string_key_records" => [ + create_record("d"), + create_record("e"), + create_record("f"), + ], + }, + "name" => input_name, + "descendants" => nil, + } + @handler.process("collector_reduce", request) + assert_equal([ + { + "numeric_key_records" => [ + create_record(3), + create_record(4), + ], + "string_key_records" => [ + create_record("d"), + create_record("e"), + create_record("f"), + ], + }, + output_name + ], + @messages.last) + end + def test_sort input_name = "input_#{Time.now.to_i}" output_name = "output_#{Time.now.to_i}" @@ -201,6 +274,81 @@ class BasicCollectorHandlerTest < Test::Unit::TestCase @messages.last) end + def test_sort_with_limit_and_offset + input_name = "input_#{Time.now.to_i}" + output_name = "output_#{Time.now.to_i}" + request = { + "task" => { + "values" => { + output_name => { + "numeric_key_records" => [ + create_record(1), + create_record(3), + create_record(5), + ], + "string_key_records" => [ + create_record("a"), + create_record("c"), + create_record("e"), + ], + }, + }, + "component" => { + "body" => { + input_name => { + output_name => { + "numeric_key_records" => { + "type" => "sort", + "order" => ["<"], + "offset" => 2, + "limit" => 2, + }, + "string_key_records" => { + "type" => "sort", + "order" => ["<"], + "offset" => 3, + "limit" => -1, + }, + }, + }, + }, + "outputs" => nil, + }, + }, + "id" => nil, + "value" => { + "numeric_key_records" => [ + create_record(2), + create_record(4), + create_record(6), + ], + "string_key_records" => [ + create_record("b"), + create_record("d"), + create_record("f"), + ], + }, + "name" => input_name, + "descendants" => nil, + } + @handler.process("collector_reduce", request) + assert_equal([ + { + "numeric_key_records" => [ + create_record(3), + create_record(4), + ], + "string_key_records" => [ + create_record("d"), + create_record("e"), + create_record("f"), + ], + }, + output_name + ], + @messages.last) + end + private def create_record(*columns) columns -------------- next part -------------- HTML����������������������������...Download