package org.cloudifysource.rest; import java.lang.reflect.InvocationTargetException; import org.cloudifysource.domain.statistics.AverageInstancesStatisticsConfig; import org.cloudifysource.domain.statistics.AverageTimeWindowStatisticsConfig; import org.cloudifysource.domain.statistics.CpuPercentageTimeWindowStatisticsConfig; import org.cloudifysource.domain.statistics.EachSingleInstanceStatisticsConfig; import org.cloudifysource.domain.statistics.MaximumInstancesStatisticsConfig; import org.cloudifysource.domain.statistics.MaximumTimeWindowStatisticsConfig; import org.cloudifysource.domain.statistics.MinimumInstancesStatisticsConfig; import org.cloudifysource.domain.statistics.MinimumTimeWindowStatisticsConfig; import org.cloudifysource.domain.statistics.PercentileInstancesStatisticsConfig; import org.cloudifysource.domain.statistics.PercentileTimeWindowStatisticsConfig; import org.cloudifysource.domain.statistics.ThroughputTimeWindowStatisticsConfig; import org.cloudifysource.domain.statistics.TimeWindowStatisticsConfig; import org.cloudifysource.rest.util.OpenspacesDomainStatisticsAdapter; import org.junit.Assert; import org.junit.Test; import org.openspaces.admin.pu.statistics.InstancesStatisticsConfig; /** * * @author adaml * */ public class OpenspacesDomainStatisticsAdapterTest { private OpenspacesDomainStatisticsAdapter configFactory = new OpenspacesDomainStatisticsAdapter(); @Test public void testPercentileInstancesStatisticsConfig() throws InstantiationException, IllegalAccessException, ClassNotFoundException, InvocationTargetException { PercentileInstancesStatisticsConfig config = new PercentileInstancesStatisticsConfig(); config.setPercentile(10); InstancesStatisticsConfig instanceStatistics = configFactory.createInstanceStatisticsConfig(config); Assert.assertTrue("InstanceStatistics is expected to be instanceof PercentileInstancesStatisticsConfig", instanceStatistics instanceof org.openspaces.admin.pu.statistics.PercentileInstancesStatisticsConfig); org.openspaces.admin.pu.statistics.PercentileInstancesStatisticsConfig percentileConfig = (org.openspaces.admin.pu.statistics.PercentileInstancesStatisticsConfig) instanceStatistics; Assert.assertTrue("Expecting percentile to be set to 10", percentileConfig.getPercentile() == 10); } @Test public void testAverageInstancesStatisticsConfig() throws InstantiationException, IllegalAccessException, ClassNotFoundException, InvocationTargetException { AverageInstancesStatisticsConfig config = new AverageInstancesStatisticsConfig(); InstancesStatisticsConfig instanceStatistics = configFactory.createInstanceStatisticsConfig(config); Assert.assertTrue("InstanceStatistics is expected to be instanceof AverageInstancesStatisticsConfig", instanceStatistics instanceof org.openspaces.admin.pu.statistics.AverageInstancesStatisticsConfig); } @Test public void testEachSingleInstanceStatisticsConfig() throws InstantiationException, IllegalAccessException, ClassNotFoundException, InvocationTargetException { EachSingleInstanceStatisticsConfig config = new EachSingleInstanceStatisticsConfig(); InstancesStatisticsConfig instanceStatistics = configFactory.createInstanceStatisticsConfig(config); Assert.assertTrue("InstanceStatistics is expected to be instanceof EachSingleInstanceStatisticsConfig", instanceStatistics instanceof org.openspaces.admin.pu.statistics.EachSingleInstanceStatisticsConfig); } @Test public void testMaximumInstancesStatisticsConfig() throws InstantiationException, IllegalAccessException, ClassNotFoundException, InvocationTargetException { MaximumInstancesStatisticsConfig config = new MaximumInstancesStatisticsConfig(); InstancesStatisticsConfig instanceStatistics = configFactory.createInstanceStatisticsConfig(config); Assert.assertTrue("InstanceStatistics is expected to be instanceof MaximumInstancesStatisticsConfig", instanceStatistics instanceof org.openspaces.admin.pu.statistics.MaximumInstancesStatisticsConfig); } @Test public void testMinimumInstancesStatisticsConfig() throws InstantiationException, IllegalAccessException, ClassNotFoundException, InvocationTargetException { MinimumInstancesStatisticsConfig config = new MinimumInstancesStatisticsConfig(); InstancesStatisticsConfig instanceStatistics = configFactory.createInstanceStatisticsConfig(config); Assert.assertTrue("InstanceStatistics is expected to be instanceof MinimumInstancesStatisticsConfig", instanceStatistics instanceof org.openspaces.admin.pu.statistics.MinimumInstancesStatisticsConfig); } @Test public void testAverageTimeWindowStatisticsConfig() throws InstantiationException, IllegalAccessException, ClassNotFoundException, InvocationTargetException { TimeWindowStatisticsConfig config = new AverageTimeWindowStatisticsConfig(); org.openspaces.admin.pu.statistics.TimeWindowStatisticsConfig timeWindowStatistics = configFactory.createTimeWindowStatisticsConfig(config); assertDefaultTimeWindowValues(timeWindowStatistics); Assert.assertTrue("InstanceStatistics is expected to be instanceof AverageTimeWindowStatisticsConfig", timeWindowStatistics instanceof org.openspaces.admin.pu.statistics.AverageTimeWindowStatisticsConfig); } void assertDefaultTimeWindowValues( org.openspaces.admin.pu.statistics.TimeWindowStatisticsConfig timeWindowStatistics) { Assert.assertTrue("Expected default value not set.", ((org.openspaces.admin.pu.statistics.AbstractTimeWindowStatisticsConfig)timeWindowStatistics).getTimeWindowSeconds() == 60); Assert.assertTrue("Expected default value not set.", ((org.openspaces.admin.pu.statistics.AbstractTimeWindowStatisticsConfig)timeWindowStatistics).getMinimumTimeWindowSeconds() == 60); Assert.assertTrue("Expected default value not set.", ((org.openspaces.admin.pu.statistics.AbstractTimeWindowStatisticsConfig)timeWindowStatistics).getMaximumTimeWindowSeconds() == 120); } @Test public void testCpuPercentageTimeWindowStatisticsConfig() throws InstantiationException, IllegalAccessException, ClassNotFoundException, InvocationTargetException { TimeWindowStatisticsConfig config = new CpuPercentageTimeWindowStatisticsConfig(); org.openspaces.admin.pu.statistics.TimeWindowStatisticsConfig timeWindowStatistics = configFactory.createTimeWindowStatisticsConfig(config); assertDefaultTimeWindowValues(timeWindowStatistics); Assert.assertTrue("InstanceStatistics is expected to be instanceof CpuPercentageTimeWindowStatisticsConfig", timeWindowStatistics instanceof org.openspaces.admin.pu.statistics.CpuPercentageTimeWindowStatisticsConfig); } @Test public void testMaximumTimeWindowStatisticsConfig() throws InstantiationException, IllegalAccessException, ClassNotFoundException, InvocationTargetException { TimeWindowStatisticsConfig config = new MaximumTimeWindowStatisticsConfig(); org.openspaces.admin.pu.statistics.TimeWindowStatisticsConfig timeWindowStatistics = configFactory.createTimeWindowStatisticsConfig(config); assertDefaultTimeWindowValues(timeWindowStatistics); Assert.assertTrue("InstanceStatistics is expected to be instanceof MaximumTimeWindowStatisticsConfig", timeWindowStatistics instanceof org.openspaces.admin.pu.statistics.MaximumTimeWindowStatisticsConfig); } @Test public void testMinimumTimeWindowStatisticsConfig() throws InstantiationException, IllegalAccessException, ClassNotFoundException, InvocationTargetException { TimeWindowStatisticsConfig config = new MinimumTimeWindowStatisticsConfig(); org.openspaces.admin.pu.statistics.TimeWindowStatisticsConfig timeWindowStatistics = configFactory.createTimeWindowStatisticsConfig(config); assertDefaultTimeWindowValues(timeWindowStatistics); Assert.assertTrue("InstanceStatistics is expected to be instanceof MinimumTimeWindowStatisticsConfig", timeWindowStatistics instanceof org.openspaces.admin.pu.statistics.MinimumTimeWindowStatisticsConfig); } @Test public void testPercentileTimeWindowStatisticsConfig() throws InstantiationException, IllegalAccessException, ClassNotFoundException, InvocationTargetException { TimeWindowStatisticsConfig config = new PercentileTimeWindowStatisticsConfig(); org.openspaces.admin.pu.statistics.TimeWindowStatisticsConfig timeWindowStatistics = configFactory.createTimeWindowStatisticsConfig(config); assertDefaultTimeWindowValues(timeWindowStatistics); Assert.assertTrue("InstanceStatistics is expected to be instanceof PercentileTimeWindowStatisticsConfig", timeWindowStatistics instanceof org.openspaces.admin.pu.statistics.PercentileTimeWindowStatisticsConfig); } @Test public void testThroughputTimeWindowStatisticsConfig() throws InstantiationException, IllegalAccessException, ClassNotFoundException, InvocationTargetException { TimeWindowStatisticsConfig config = new ThroughputTimeWindowStatisticsConfig(); org.openspaces.admin.pu.statistics.TimeWindowStatisticsConfig timeWindowStatistics = configFactory.createTimeWindowStatisticsConfig(config); assertDefaultTimeWindowValues(timeWindowStatistics); Assert.assertTrue("InstanceStatistics is expected to be instanceof ThroughputTimeWindowStatisticsConfig", timeWindowStatistics instanceof org.openspaces.admin.pu.statistics.ThroughputTimeWindowStatisticsConfig); } }