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