[Groonga-commit] ranguba/groonga-client-model at 0e48b08 [master] test migration: simplify

Back to archive index

Kouhei Sutou null+****@clear*****
Mon Mar 6 12:53:11 JST 2017


Kouhei Sutou	2017-03-06 12:53:11 +0900 (Mon, 06 Mar 2017)

  New Revision: 0e48b0887d73f0ea1c3718731dab66c411b2a019
  https://github.com/ranguba/groonga-client-model/commit/0e48b0887d73f0ea1c3718731dab66c411b2a019

  Message:
    test migration: simplify

  Modified files:
    test/unit/migration/test_create_table.rb

  Modified: test/unit/migration/test_create_table.rb (+60 -140)
===================================================================
--- test/unit/migration/test_create_table.rb    2017-03-06 11:35:59 +0900 (e0ab856)
+++ test/unit/migration/test_create_table.rb    2017-03-06 12:53:11 +0900 (749d646)
@@ -132,204 +132,124 @@ table_create terms TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram --nor
   end
 
   sub_test_case("columns") do
-    sub_test_case("#boolean") do
-      test("default") do
-        expected_up_report = <<-REPORT
+    def assert_migrate_add_column(column_name,
+                                  groonga_type,
+                                  options={})
+      expected_up_report = <<-REPORT
 -- create_table(:posts, {:type=>"TABLE_NO_KEY"})
    -> 0.0s
--- add_column(:posts, :published, {:flags=>["COLUMN_SCALAR"], :value_type=>"Bool"})
+-- add_column(:posts, :#{column_name}, {:flags=>["COLUMN_SCALAR"], :value_type=>"#{groonga_type}"})
    -> 0.0s
-        REPORT
-        expected_down_report = <<-REPORT
+      REPORT
+      expected_down_report = <<-REPORT
 -- remove_table(:posts)
    -> 0.0s
-        REPORT
-        expected_dump = <<-DUMP.chomp
+      REPORT
+      expected_dump = <<-DUMP.chomp
 table_create posts TABLE_NO_KEY
-column_create posts published COLUMN_SCALAR Bool
-        DUMP
-        assert_migrate(expected_up_report,
-                       expected_down_report,
-                       expected_dump) do |migration|
-          migration.instance_eval do
-            create_table(:posts) do |table|
-              table.boolean(:published)
-            end
+column_create posts #{column_name} COLUMN_SCALAR #{groonga_type}
+      DUMP
+      assert_migrate(expected_up_report,
+                     expected_down_report,
+                     expected_dump) do |migration|
+        migration.instance_eval do
+          create_table(:posts) do |table|
+            yield(table)
           end
         end
       end
+    end
 
-      test("#bool alias") do
-        expected_up_report = <<-REPORT
--- create_table(:posts, {:type=>"TABLE_NO_KEY"})
-   -> 0.0s
--- add_column(:posts, :published, {:flags=>["COLUMN_SCALAR"], :value_type=>"Bool"})
-   -> 0.0s
-        REPORT
-        expected_down_report = <<-REPORT
--- remove_table(:posts)
-   -> 0.0s
-        REPORT
-        expected_dump = <<-DUMP.chomp
-table_create posts TABLE_NO_KEY
-column_create posts published COLUMN_SCALAR Bool
-        DUMP
-        assert_migrate(expected_up_report,
-                       expected_down_report,
-                       expected_dump) do |migration|
-          migration.instance_eval do
-            create_table(:posts) do |table|
-              table.bool(:published)
-            end
-          end
+    sub_test_case("#boolean") do
+      test("default") do
+        assert_migrate_add_column(:published, "Bool") do |table|
+          table.boolean(:published)
         end
       end
-    end
 
-    sub_test_case("#integer") do
-      def assert_migrate_integer(type, options)
-        expected_up_report = <<-REPORT
--- create_table(:posts, {:type=>"TABLE_NO_KEY"})
-   -> 0.0s
--- add_column(:posts, :score, {:flags=>["COLUMN_SCALAR"], :value_type=>"#{type}"})
-   -> 0.0s
-        REPORT
-        expected_down_report = <<-REPORT
--- remove_table(:posts)
-   -> 0.0s
-        REPORT
-        expected_dump = <<-DUMP.chomp
-table_create posts TABLE_NO_KEY
-column_create posts score COLUMN_SCALAR #{type}
-        DUMP
-        assert_migrate(expected_up_report,
-                       expected_down_report,
-                       expected_dump) do |migration|
-          migration.instance_eval do
-            create_table(:posts) do |table|
-              table.integer(:score, options)
-            end
-          end
+      test("#bool alias") do
+        assert_migrate_add_column(:published, "Bool") do |table|
+          table.bool(:published)
         end
       end
+    end
 
+    sub_test_case("#integer") do
       test("default") do
-        assert_migrate_integer("Int32", {})
+        assert_migrate_add_column(:score, "Int32") do |table|
+          table.integer(:score)
+        end
       end
 
       test("bit: 8") do
-        assert_migrate_integer("Int8", bit: 8)
+        assert_migrate_add_column(:score, "Int8") do |table|
+          table.integer(:score, bit: 8)
+        end
       end
 
       test("bit: 16") do
-        assert_migrate_integer("Int16", bit: 16)
+        assert_migrate_add_column(:score, "Int16") do |table|
+          table.integer(:score, bit: 16)
+        end
       end
 
       test("bit: 32") do
-        assert_migrate_integer("Int32", bit: 32)
+        assert_migrate_add_column(:score, "Int32") do |table|
+          table.integer(:score, bit: 32)
+        end
       end
 
       test("bit: 64") do
-        assert_migrate_integer("Int64", bit: 64)
+        assert_migrate_add_column(:score, "Int64") do |table|
+          table.integer(:score, bit: 64)
+        end
       end
 
       test("bit: 8, unsigned: true") do
-        assert_migrate_integer("UInt8", bit: 8, unsigned: true)
+        assert_migrate_add_column(:score, "UInt8") do |table|
+          table.integer(:score, bit: 8, unsigned: true)
+        end
       end
 
       test("bit: 16, unsigned: true") do
-        assert_migrate_integer("UInt16", bit: 16, unsigned: true)
+        assert_migrate_add_column(:score, "UInt16") do |table|
+          table.integer(:score, bit: 16, unsigned: true)
+        end
       end
 
       test("bit: 32, unsigned: true") do
-        assert_migrate_integer("UInt32", bit: 32, unsigned: true)
+        assert_migrate_add_column(:score, "UInt32") do |table|
+          table.integer(:score, bit: 32, unsigned: true)
+        end
       end
 
       test("bit: 64, unsigned: true") do
-        assert_migrate_integer("UInt64", bit: 64, unsigned: true)
+        assert_migrate_add_column(:score, "UInt64") do |table|
+          table.integer(:score, bit: 64, unsigned: true)
+        end
       end
     end
 
     sub_test_case("#short_text") do
       test("default") do
-        expected_up_report = <<-REPORT
--- create_table(:posts, {:type=>"TABLE_NO_KEY"})
-   -> 0.0s
--- add_column(:posts, :title, {:flags=>["COLUMN_SCALAR"], :value_type=>"ShortText"})
-   -> 0.0s
-        REPORT
-        expected_down_report = <<-REPORT
--- remove_table(:posts)
-   -> 0.0s
-        REPORT
-        expected_dump = <<-DUMP.chomp
-table_create posts TABLE_NO_KEY
-column_create posts title COLUMN_SCALAR ShortText
-        DUMP
-        assert_migrate(expected_up_report,
-                       expected_down_report,
-                       expected_dump) do |migration|
-          migration.instance_eval do
-            create_table(:posts) do |table|
-              table.short_text(:title)
-            end
-          end
+        assert_migrate_add_column(:title, "ShortText") do |table|
+          table.short_text(:title)
         end
       end
     end
 
     sub_test_case("#text") do
       test("default") do
-        expected_up_report = <<-REPORT
--- create_table(:posts, {:type=>"TABLE_NO_KEY"})
-   -> 0.0s
--- add_column(:posts, :content, {:flags=>["COLUMN_SCALAR"], :value_type=>"Text"})
-   -> 0.0s
-        REPORT
-        expected_down_report = <<-REPORT
--- remove_table(:posts)
-   -> 0.0s
-        REPORT
-        expected_dump = <<-DUMP.chomp
-table_create posts TABLE_NO_KEY
-column_create posts content COLUMN_SCALAR Text
-        DUMP
-        assert_migrate(expected_up_report,
-                       expected_down_report,
-                       expected_dump) do |migration|
-          migration.instance_eval do
-            create_table(:posts) do |table|
-              table.text(:content)
-            end
-          end
+        assert_migrate_add_column(:content, "Text") do |table|
+          table.text(:content)
         end
       end
     end
 
     sub_test_case("#long_text") do
       test("default") do
-        expected_up_report = <<-REPORT
--- create_table(:posts, {:type=>"TABLE_NO_KEY"})
-   -> 0.0s
--- add_column(:posts, :content, {:flags=>["COLUMN_SCALAR"], :value_type=>"LongText"})
-   -> 0.0s
-        REPORT
-        expected_down_report = <<-REPORT
--- remove_table(:posts)
-   -> 0.0s
-        REPORT
-        expected_dump = <<-DUMP.chomp
-table_create posts TABLE_NO_KEY
-column_create posts content COLUMN_SCALAR LongText
-        DUMP
-        assert_migrate(expected_up_report,
-                       expected_down_report,
-                       expected_dump) do |migration|
-          migration.instance_eval do
-            create_table(:posts) do |table|
-              table.long_text(:content)
-            end
-          end
+        assert_migrate_add_column(:content, "LongText") do |table|
+          table.long_text(:content)
         end
       end
     end
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index