/**
* Copyright 2010 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.drools.guvnor.server.selector;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertSame;
public class SelectorManagerTest {
@Test
public void testSelectorMangerConfig() {
SelectorManager sm = new SelectorManager("/selectors-test.properties");
assertNotNull(sm);
assertNotNull(sm.selectors);
assertNull(sm.getSelector( "goo" ));
assertNotNull(sm.getSelector( "selector1" ));
assertTrue(sm.getSelector( "selector1" ) instanceof TestSelector);
assertNotNull(sm.getSelector( "selector2" ));
assertTrue(sm.getSelector( "selector2" ) instanceof RuleBasedSelector);
RuleBasedSelector sel = (RuleBasedSelector) sm.getSelector( "selector2" );
assertEquals("/TestSelector.drl", sel.ruleFile);
assertFalse(sel.evalRules( new DummyClass() ));
assertTrue(sel.evalRules( new Allow() ));
assertFalse(sel.evalRules( new DummyClass() ));
assertTrue(sel.evalRules( new Allow() ));
assertNull(sm.getSelector( "selector3" ));
assertNotNull(sm.getSelector( "" ));
assertNotNull(sm.getSelector( null ));
AssetSelector nil = sm.getSelector( null );
assertTrue(nil.isAssetAllowed( null ));
sm = new SelectorManager("/emptyselectors.properties");
assertNull(sm.getSelector( "XX" ));
assertNotNull(sm.getSelector( null ));
nil = sm.getSelector( " " );
assertTrue(nil.isAssetAllowed( null ));
assertSame( SelectorManager.getInstance(), SelectorManager.getInstance());
}
@Test
public void testGetBuiltInSelector() {
SelectorManager sm = new SelectorManager("/selectors-test.properties");
assertNotNull(sm);
assertNotNull(sm.selectors);
assertTrue(sm.getSelector( "BuiltInSelector" ) instanceof BuiltInSelector);
}
@Test
public void testGetCustomSelectors() {
SelectorManager sm = new SelectorManager("/selectors-test.properties");
assertNotNull(sm);
assertNotNull(sm.selectors);
assertEquals(2, sm.getCustomSelectors().length);
}
@Test
public void testBadConfig() throws Exception {
SelectorManager sm = new SelectorManager("/badselectors.properties");
assertNotNull(sm);
}
}