001package org.apache.turbine.services.avaloncomponent; 002 003 004/* 005 * Licensed to the Apache Software Foundation (ASF) under one 006 * or more contributor license agreements. See the NOTICE file 007 * distributed with this work for additional information 008 * regarding copyright ownership. The ASF licenses this file 009 * to you under the Apache License, Version 2.0 (the 010 * "License"); you may not use this file except in compliance 011 * with the License. You may obtain a copy of the License at 012 * 013 * http://www.apache.org/licenses/LICENSE-2.0 014 * 015 * Unless required by applicable law or agreed to in writing, 016 * software distributed under the License is distributed on an 017 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 018 * KIND, either express or implied. See the License for the 019 * specific language governing permissions and limitations 020 * under the License. 021 */ 022 023 024import static org.junit.Assert.assertTrue; 025import static org.junit.Assert.fail; 026 027import org.apache.commons.configuration.BaseConfiguration; 028import org.apache.commons.configuration.Configuration; 029import org.apache.turbine.services.ServiceManager; 030import org.apache.turbine.services.TurbineServices; 031import org.apache.turbine.test.BaseTestCase; 032import org.apache.turbine.test.TestComponent; 033import org.junit.Test; 034 035 036/** 037 * Simple test to make sure that the AvalonComponentService can be initialized. 038 * 039 * @author <a href="mailto:quintonm@bellsouth.net">Quinton McCombs</a> 040 * @version $Id: TurbineAvalonComponentServiceTest.java 1616993 2014-08-09 17:03:07Z tv $ 041 */ 042public class TurbineAvalonComponentServiceTest 043 extends BaseTestCase 044{ 045 private static final String PREFIX = "services." + 046 AvalonComponentService.SERVICE_NAME + '.'; 047 048 /** 049 * Initialize the unit test. The AvalonComponentService will be configured 050 * and initialized.*/ 051 052 053 /** 054 * Use the service to get an instance of the TestComponent. The test() method will be called to 055 * simply write a log message. The component will then be released. 056 */ 057 @Test public void testGetAndUseTestComponent() 058 { 059 ServiceManager serviceManager = TurbineServices.getInstance(); 060 serviceManager.setApplicationRoot("."); 061 062 Configuration cfg = new BaseConfiguration(); 063 064 // decide here whether to start ECM or YAAFI 065 //cfg.setProperty(PREFIX + "classname", TurbineAvalonComponentService.class.getName()); 066 cfg.setProperty(PREFIX + "classname", TurbineYaafiComponentService.class.getName()); 067 068 // we want to configure the service to load test TEST configuration files 069 cfg.setProperty(PREFIX + "componentConfiguration", 070 "src/test/componentConfiguration.xml"); 071 cfg.setProperty(PREFIX + "componentRoles", 072 "src/test/componentRoles.xml"); 073 serviceManager.setConfiguration(cfg); 074 075 try 076 { 077 serviceManager.init(); 078 } 079 catch(Exception e) 080 { 081 e.printStackTrace(); 082 fail(); 083 } 084 try 085 { 086 TestComponent tc = (TestComponent)TurbineServices.getInstance().getService(TestComponent.ROLE); 087 assertTrue( tc != null ); 088 tc.test(); 089 } 090 catch(Exception e) 091 { 092 e.printStackTrace(); 093 fail(); 094 } 095 } 096}