[Groonga-commit] droonga/fluent-plugin-droonga at 89b777c [master] catalog v2: validate datasets.dataset.replica

Back to archive index

Kouhei Sutou null+****@clear*****
Fri Mar 21 14:39:02 JST 2014


Kouhei Sutou	2014-03-21 14:39:02 +0900 (Fri, 21 Mar 2014)

  New Revision: 89b777c2264107e333233f6cfde8121eff510a44
  https://github.com/droonga/fluent-plugin-droonga/commit/89b777c2264107e333233f6cfde8121eff510a44

  Message:
    catalog v2: validate datasets.dataset.replica

  Modified files:
    lib/droonga/catalog/version2_validator.rb
    test/unit/catalog/test_version2_validator.rb

  Modified: lib/droonga/catalog/version2_validator.rb (+10 -0)
===================================================================
--- lib/droonga/catalog/version2_validator.rb    2014-03-21 14:35:16 +0900 (c1ce403)
+++ lib/droonga/catalog/version2_validator.rb    2014-03-21 14:39:02 +0900 (2ee945d)
@@ -39,6 +39,16 @@ module Droonga
           required_parameter_is_missing("datasets")
           return
         end
+        @data["datasets"].each do |name, dataset|
+          validate_dataset(name, dataset)
+        end
+      end
+
+      def validate_dataset(name, dataset)
+        unless dataset.key?("replicas")
+          required_parameter_is_missing("datasets.#{name}.replicas")
+          return
+        end
       end
 
       def add_detail(value_path, message)

  Modified: test/unit/catalog/test_version2_validator.rb (+20 -0)
===================================================================
--- test/unit/catalog/test_version2_validator.rb    2014-03-21 14:35:16 +0900 (ef16548)
+++ test/unit/catalog/test_version2_validator.rb    2014-03-21 14:39:02 +0900 (cdbda68)
@@ -42,5 +42,25 @@ class CatalogVersion2ValidatorTest < Test::Unit::TestCase
         validate({})
       end
     end
+
+    class DatasetTest < self
+      class ReplicasTest < self
+        def test_missing
+          details = [
+            detail("datasets.Droonga.replicas",
+                   "required parameter is missing"),
+          ]
+          assert_raise(validation_error(details)) do
+            data = {
+              "datasets" => {
+                "Droonga" => {
+                }
+              }
+            }
+            validate(data)
+          end
+        end
+      end
+    end
   end
 end
-------------- next part --------------
HTML����������������������������...
Download 



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