package at.ac.tuwien.iter.modules; import org.apache.tapestry5.ioc.OrderedConfiguration; import org.apache.tapestry5.ioc.annotations.Contribute; import org.slf4j.Logger; import at.ac.tuwien.iter.services.AssertionService; import at.ac.tuwien.iter.services.MathEngineDao; import at.ac.tuwien.iter.services.impl.assertions.DoodleWebServiceAvgResponseTimeAssertion; import at.ac.tuwien.iter.services.impl.assertions.FailedRequestAssertion; import at.ac.tuwien.iter.services.impl.datacollector.DatabaseManagerService; /** * Use only a subset of possible assertions during some of the tests * * @author alessiogambi * */ public class TestAssertions { @Contribute(AssertionService.class) public static void addAssertions( OrderedConfiguration<AssertionService> configuration, Logger logger, MathEngineDao dao, DatabaseManagerService dbService) { // Assertions over the Clients Requests ! Note that those require the // output being a valid JMeter XML ! configuration.add("NoFailedRequests", new FailedRequestAssertion( logger, dbService)); // QoS Related - thresholds can be read as well by file. TODO // NOTE THAT THIS IS SPECIFIC OF THE APPLICATION, SO WE MUST DEAL WITH // THIS IN A DIFFERENT WAY IN THE FUTURE double avgCreatePollMillis = 2000.0; double avgDeletePollMillis = 1500.0; double avgGetAllPollsMillis = 2000.0; double avgGetPollMillis = 500.0; double avgVotePollMillis = 1000.0; // THE ORDER HERE IS IMPORTATN !!! double[] thresholds = new double[] { avgCreatePollMillis, avgDeletePollMillis, avgGetAllPollsMillis, avgGetPollMillis, avgVotePollMillis }; configuration.add("AvgRT", new DoodleWebServiceAvgResponseTimeAssertion(logger, dbService, thresholds)); } }