[Groonga-commit] groonga/groonga [master] add a test for test_http.

Back to archive index

null+****@clear***** null+****@clear*****
2010年 11月 23日 (火) 22:09:38 JST


Kouhei Sutou	2010-11-23 13:09:38 +0000 (Tue, 23 Nov 2010)

  New Revision: dfb6fb88f83b394bb7a69389485153b4c905c39f

  Log:
    add a test for test_http.

  Modified files:
    test/unit/grntest/test-out-http.rb

  Modified: test/unit/grntest/test-out-http.rb (+38 -0)
===================================================================
--- test/unit/grntest/test-out-http.rb    2010-11-23 13:09:27 +0000 (c1a9fad)
+++ test/unit/grntest/test-out-http.rb    2010-11-23 13:09:38 +0000 (cc41df1)
@@ -53,4 +53,42 @@ class GrnTestOutHTTPTest < Test::Unit::TestCase
                     ["広瀬屋"]]]],
                  [status[0], result])
   end
+
+  def test_test_http
+    command = 'select Shops --sortby _id --limit 5 --output_columns "name"'
+    command_file = tempfile("command") do |file|
+      file.puts(command)
+    end
+    expected =
+      '[[0,1290511592.67556,0.00068249],' +
+      '[[[36],' +
+      '[["name","ShortText"]],' +
+      '["根津のたいやき"],' +
+      '["たい焼 カタオカ"],' +
+      '["そばたいやき空"],' +
+      '["車"],' +
+      '["広瀬屋"]]]]'
+    expected_file = tempfile("expected") do |file|
+      file.puts(expected)
+    end
+    script_file = tempfile("script") do |file|
+      file.puts("test_http #{command_file.path} #{expected_file.path}")
+    end
+    output, error, status = invoke_grntest("--noftp",
+                                           "--groonga", groonga,
+                                           "--protocol", "http",
+                                           "--log-output-dir", @tmp_dir,
+                                           script_file.path, @database_path)
+    assert_predicate(status, :success?, [output, error])
+    assert_equal("DIFF:command:#{command}\n" +
+                 "DIFF:result:#{normalize_result(expected)}\n" +
+                 "DIFF:expect:#{normalize_result(expected)}\n" +
+                 "\n",
+                 normalize_result(File.read("#{expected_file.path}.diff")))
+  end
+
+  private
+  def normalize_result(result)
+    result.gsub(/\[\[0,[\d.]+,[\d.]+\],/, '[[0,0.0,0.0],')
+  end
 end




Groonga-commit メーリングリストの案内
Back to archive index