View Javadoc

1   /**
2    * Copyright (c) 2002-2011 "Neo Technology,"
3    * Network Engine for Objects in Lund AB [http://neotechnology.com]
4    *
5    * This file is part of Neo4j.
6    *
7    * Neo4j is free software: you can redistribute it and/or modify
8    * it under the terms of the GNU General Public License as published by
9    * the Free Software Foundation, either version 3 of the License, or
10   * (at your option) any later version.
11   *
12   * This program is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   * GNU General Public License for more details.
16   *
17   * You should have received a copy of the GNU General Public License
18   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
19   */
20  package org.neo4j.server.configuration.validation;
21  
22  import static org.junit.Assert.*;
23  
24  import org.apache.commons.configuration.Configuration;
25  import org.junit.Test;
26  
27  
28  public class ValidatorTest {
29      @Test
30      public void shouldFailWhenRuleFails() {
31         Validator v = new Validator( new ValidationRule() {
32  
33          public void validate(Configuration configuration) throws RuleFailedException {
34              throw new RuleFailedException("dummy rule failed during unit test");
35          }});
36         
37         assertFalse(v.validate(null));
38      }
39      
40      @Test
41      public void shouldFailWhenAtLeastOneRuleFails() {
42         Validator v = new Validator( new ValidationRule() {
43  
44             public void validate(Configuration configuration) throws RuleFailedException {
45                 // do nothing
46             }},
47         new ValidationRule() {
48  
49             public void validate(Configuration configuration) throws RuleFailedException {
50                 throw new RuleFailedException("dummy rule failed during unit test");
51             }},
52         new ValidationRule() {
53  
54             public void validate(Configuration configuration) throws RuleFailedException {
55                 // do nothing
56             }},
57         new ValidationRule() {
58  
59             public void validate(Configuration configuration) throws RuleFailedException {
60                 // do nothing
61             }});
62         
63         assertFalse(v.validate(null));
64      }
65      
66      @Test
67      public void shouldPassWhenAllRulesComplete() {
68         Validator v = new Validator( new ValidationRule() {
69  
70             public void validate(Configuration configuration) throws RuleFailedException {
71                 // do nothing
72             }},
73         new ValidationRule() {
74  
75             public void validate(Configuration configuration) throws RuleFailedException {
76                 // do nothing
77             }},
78         new ValidationRule() {
79  
80             public void validate(Configuration configuration) throws RuleFailedException {
81                 // do nothing
82             }},
83         new ValidationRule() {
84  
85             public void validate(Configuration configuration) throws RuleFailedException {
86                 // do nothing
87             }});
88         
89         assertTrue(v.validate(null));
90      }
91  }