/* * JBoss, Home of Professional Open Source * Copyright 2010, Red Hat, Inc., and individual contributors * by the @authors tag. See the copyright.txt in the distribution for a * full listing of individual contributors. * * 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.jboss.cdi.tck.api; import javax.enterprise.context.spi.Context; import org.jboss.cdi.tck.spi.Beans; import org.jboss.cdi.tck.spi.Contexts; import org.jboss.cdi.tck.spi.EL; /** * The configuration of the TCK. * * The TCK may be configured using system properties or placed in a properties file called META-INF/cdi-tck.properties. * * Porting package property names are the FQCN of the SPI class. Other property names (one for each non-porting package SPI configuration option) are specified * here. * * The TCK may also be configured programatically through this interface. * * @author Pete Muir * @author Martin Kouba */ public interface Configuration { public static final String LIBRARY_DIRECTORY_PROPERTY_NAME = "org.jboss.cdi.tck.libraryDirectory"; public static final String TEST_DATASOURCE_PROPERTY_NAME = "org.jboss.cdi.tck.testDataSource"; public static final String TEST_JMS_CONNECTION_FACTORY = "org.jboss.cdi.tck.testJmsConnectionFactory"; public static final String TEST_JMS_QUEUE = "org.jboss.cdi.tck.testJmsQueue"; public static final String TEST_JMS_TOPIC = "org.jboss.cdi.tck.testJmsTopic"; public static final String TEST_TIMEOUT_FACTOR = "org.jboss.cdi.tck.testTimeoutFactor"; public static final int TEST_TIMEOUT_FACTOR_DEFAULT_VALUE = 100; /** * The implementation of {@link Beans} in use. */ public Beans getBeans(); /** * The implementation of {@link Contexts} in use. */ public <T extends Context> Contexts<T> getContexts(); public void setBeans(Beans beans); public <T extends Context> void setContexts(Contexts<T> contexts); public void setEl(EL el); /** * The implementation of {@link EL} in use. */ public EL getEl(); /** * The TCK allows additional libraries to be put in the deployed test artifacts (for example the porting package for the implementation). Any jars in this * directory will be added to the deployed artifact. * * By default no directory is used. * * @return path to additional libraries */ public String getLibraryDirectory(); public void setLibraryDirectory(String libraryDir); /** * Few TCK tests need to work with Java EE services related to persistence (JPA, JTA) - test datasource must be provided. These tests belong to testng group * <code>persistence</code>. * * @return the JNDI name of the test datasource */ public String getTestDataSource(); /** * * @param testDatasource */ public void setTestDataSource(String testDatasource); /** * * @return the JNDI name of the test JMS connection factory */ public String getTestJmsConnectionFactory(); /** * @param testJmsConnectionFactory */ public void setTestJmsConnectionFactory(String testJmsConnectionFactory); /** * * @return the JNDI name of the test JMS queue */ public String getTestJmsQueue(); /** * @param testJmsQueue */ public void setTestJmsQueue(String testJmsQueue); /** * * @return the JNDI name of the test JMS topic */ public String getTestJmsTopic(); /** * @param testJmsTopic */ public void setTestJmsTopic(String testJmsTopic); /** * All tests using some timeout technique (e.g. wait for async processing) should use this value to adjust the final timeout so that it's possible to configure timeouts * according to the testing runtime performance and throughput. * * @return the test timeout factor (in percent) */ public int getTestTimeoutFactor(); /** * * @param timeoutFactor */ public void setTestTimeoutFactor(int timeoutFactor); }