Package org.jboss.on.embedded.test

Source Code of org.jboss.on.embedded.test.MeasurementUtilTest

/*
* Embedded Jopr Project
* Copyright (C) 2006-2009 Red Hat, Inc.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
package org.jboss.on.embedded.test;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.rhq.core.domain.measurement.Availability;
import org.rhq.core.domain.measurement.AvailabilityType;
import org.rhq.core.domain.measurement.DataType;
import org.rhq.core.domain.measurement.DisplayType;
import org.rhq.core.domain.measurement.MeasurementData;
import org.rhq.core.domain.measurement.MeasurementDefinition;
import org.rhq.core.domain.resource.Resource;

import org.jboss.on.embedded.ResourceTypes;
import org.jboss.on.embedded.bean.MeasurementDisplay;
import org.jboss.on.embedded.bean.MeasurementUtils;
import org.jboss.on.embedded.bean.ResourceListItem;
import org.jboss.on.embedded.util.EmbeddedPluginContainerHelper;

/**
* Tests that the MeasurementUtil class correctly loads the needed measurements and formats the data correctly
*
* @author Jessica Sant
*/
public class MeasurementUtilTest extends EmbeddedPluginContainerHelper {

    //   @Override
    //   protected String getScenario()
    //   {
    //      return "scenario1.xml";
    //   }

    //@Test

    public void testLoadMeasurementDataAll() throws Exception
    {
        final Resource resource = getResourceInstance(ResourceTypes.RESOURCE_TYPE_JMS_TOPIC, "FakeMetricsTopic");
        assert resource != null : "FakeMetricsTopic was not found and it should have been.";

        ResourceListItem resourceListItem = new ResourceListItem(resource, new Availability(resource, new Date(), AvailabilityType.UP));

        MeasurementUtils measurementUtils = new MeasurementUtils(resourceListItem);

        List<MeasurementData> measurementDataList = measurementUtils.loadMeasurementData(null, DataType.MEASUREMENT);
        assert measurementDataList != null : "measurements were null";
        assert measurementDataList.size() == 6 : "6 measurements were expected, but " + measurementDataList.size() + " were found.";

        for (MeasurementData md : measurementDataList)
        {
            if (md.getName().equals("FakeByteMetricSummary"))
            {
                assert md.getValue().equals((double)123456789) : "incorrect value for FakeByteMetricSummary " + md.getValue();
            }
            else if (md.getName().equals("FakeBitMetricSummary"))
            {
                assert md.getValue().equals((double)987654321) : "incorrect value for FakeBitMetricSummary " + md.getValue();
            }
            else if (md.getName().equals("FakeTimeMetricSummary"))
            {
                assert md.getValue().equals((double)1234567) : "incorrect value for FakeTimeMetricSummary " + md.getValue();
            }
            else if (md.getName().equals("FakeByteMetricDetail"))
            {
                assert md.getValue().equals((double)98765) : "incorrect value for FakeByteMetricDetail " + md.getValue();
            }
            else if (md.getName().equals("FakeBitMetricDetail"))
            {
                assert md.getValue().equals((double)12345) : "incorrect value for FakeBitMetricDetail " + md.getValue();
            }
            else if (md.getName().equals("FakeTimeMetricDetail"))
            {
                assert md.getValue().equals((double)9876) : "incorrect value for FakeTimeMetricDetail " + md.getValue();
            }
            else
            {
                assert false : "failed to find a matching metric name: " + md.getName();
            }
        }
    }

    //@Test
    public void testLoadMeasurementDataSummary() throws Exception
    {
        final Resource resource = getResourceInstance(ResourceTypes.RESOURCE_TYPE_JMS_TOPIC, "FakeMetricsTopic");
        assert resource != null : "FakeMetricsTopic was not found and it should have been.";

        ResourceListItem resourceListItem = new ResourceListItem(resource, new Availability(resource, new Date(), AvailabilityType.UP));

        MeasurementUtils measurementUtils = new MeasurementUtils(resourceListItem);

        List<MeasurementData> measurementDataList = measurementUtils.loadMeasurementData(DisplayType.SUMMARY, DataType.MEASUREMENT);
        assert measurementDataList != null : "measurements were null";
        assert measurementDataList.size() == 3 : "3 measurements were expected, but " + measurementDataList.size() + " were found.";

        for (MeasurementData md : measurementDataList)
        {
            if (md.getName().equals("FakeByteMetricSummary"))
            {
                assert md.getValue().equals((double)123456789) : "incorrect value for FakeByteMetricSummary " + md.getValue();
            }
            else if (md.getName().equals("FakeBitMetricSummary"))
            {
                assert md.getValue().equals((double)987654321) : "incorrect value for FakeBitMetricSummary " + md.getValue();
            }
            else if (md.getName().equals("FakeTimeMetricSummary"))
            {
                assert md.getValue().equals((double)1234567) : "incorrect value for FakeTimeMetricSummary " + md.getValue();
            }
            else
            {
                assert false : "failed to find a matching metric name: " + md.getName();
            }
        }
    }

    //@Test( dependsOnMethods = "testLoadMeasurementDataSummary" )
    public void testLoadCategory() throws Exception
    {
        final Resource resource = getResourceInstance(ResourceTypes.RESOURCE_TYPE_JMS_TOPIC, "FakeMetricsTopic");
        assert resource != null : "FakeMetricsTopic was not found and it should have been.";

        ResourceListItem resourceListItem = new ResourceListItem(resource, new Availability(resource, new Date(), AvailabilityType.UP));

        HashMap<String, MeasurementDefinition> measurementDefinitionMap = new HashMap<String, MeasurementDefinition>();
        HashMap<String, List<MeasurementDisplay>> measurementDisplayMap = new HashMap<String, List<MeasurementDisplay>>();

        MeasurementUtils measurementUtils = new MeasurementUtils(resourceListItem);

        List<MeasurementData> measurementDataList = measurementUtils.loadMeasurementData(DisplayType.SUMMARY, DataType.MEASUREMENT);

        List<String> measurementCategoryList = measurementUtils.loadCategoryList(measurementDefinitionMap,
                measurementDataList, measurementDisplayMap);

        assert measurementCategoryList.contains("utilization") : "utilization category missing";
        assert measurementCategoryList.contains("throughput") : "throughput category missing";
        assert measurementCategoryList.contains("performance") : "performance category missing";
    }

    //@Test( dependsOnMethods = "testLoadMeasurementDataAll" )
    public void testFormattedMetrics() throws Exception
    {
        final Resource resource = getResourceInstance(ResourceTypes.RESOURCE_TYPE_JMS_TOPIC, "FakeMetricsTopic");
        assert resource != null : "FakeMetricsTopic was not found and it should have been.";

        ResourceListItem resourceListItem = new ResourceListItem(resource, new Availability(resource, new Date(), AvailabilityType.UP));

        List<MeasurementDisplay> measurementDisplayList = new ArrayList<MeasurementDisplay>();

        MeasurementUtils measurementUtils = new MeasurementUtils(resourceListItem);
        Map<String, MeasurementDefinition> measurementDefinitionMap = measurementUtils.getMeasurementDefinitionMap();

        List<MeasurementData> measurementDataList = measurementUtils.loadMeasurementData(null, DataType.MEASUREMENT);
        assert measurementDataList != null : "measurements were null";

        for (MeasurementData measurementData : measurementDataList)
        {
            MeasurementDefinition measurementDefinition = measurementDefinitionMap.get(measurementData.getName());
            measurementDisplayList.add(measurementUtils.createMeasurementDisplay(measurementData, measurementDefinition));
        }

        assert measurementDisplayList.size() == 6 : "6 measurements were expected, but " + measurementDisplayList.size() + " were found.";

        for (MeasurementDisplay md : measurementDisplayList)
        {
            if (md.getMeasurementData().getName().equals("FakeByteMetricSummary"))
            {
                assert md.getMeasurementValueAndUnits().toString().equals("117.7MB") : "incorrect value for FakeByteMetricSummary " + md.getMeasurementValueAndUnits();
            }
            else if (md.getMeasurementData().getName().equals("FakeBitMetricSummary"))
            {
                assert md.getMeasurementValueAndUnits().toString().equals("941.9Mb") : "incorrect value for FakeBitMetricSummary " + md.getMeasurementValueAndUnits();
            }
            else if (md.getMeasurementData().getName().equals("FakeTimeMetricSummary"))
            {
                assert md.getMeasurementValueAndUnits().toString().equals("14.3d") : "incorrect value for FakeTimeMetricSummary " + md.getMeasurementValueAndUnits();
            }
            else if (md.getMeasurementData().getName().equals("FakeByteMetricDetail"))
            {
                assert md.getMeasurementValueAndUnits().toString().equals("96.5KB") : "incorrect value for FakeByteMetricDetail " + md.getMeasurementValueAndUnits();
            }
            else if (md.getMeasurementData().getName().equals("FakeBitMetricDetail"))
            {
                assert md.getMeasurementValueAndUnits().toString().equals("12.1Kb") : "incorrect value for FakeBitMetricDetail " + md.getMeasurementValueAndUnits();
            }
            else if (md.getMeasurementData().getName().equals("FakeTimeMetricDetail"))
            {
                assert md.getMeasurementValueAndUnits().toString().equals("2.7h") : "incorrect value for FakeTimeMetricDetail " + md.getMeasurementValueAndUnits();
            }
            else
            {
                assert false : "failed to find a matching metric name: " + md.getMeasurementData().getName();
            }
        }

    }

    //@Test
    public void testMeasurementTraitAll()
    {
        final Resource resource = getResourceInstance(ResourceTypes.RESOURCE_TYPE_JMS_TOPIC, "FakeMetricsTopic");
        assert resource != null : "FakeMetricsTopic was not found and it should have been.";

        ResourceListItem resourceListItem = new ResourceListItem(resource, new Availability(resource, new Date(), AvailabilityType.UP));

        MeasurementUtils measurementUtils = new MeasurementUtils(resourceListItem);

        List<MeasurementData> measurementDataList = measurementUtils.loadMeasurementData(null, DataType.TRAIT);
        assert measurementDataList != null : "measurements were null";
        assert measurementDataList.size() == 2 : "2 measurement(s) were expected, but " + measurementDataList.size() + " were found.";

        for (MeasurementData md : measurementDataList)
        {
            if (md.getName().equals("FakeTraitNumericSummary"))
            {
                assert md.getValue().toString().equals("333.0") : "incorrect value for FakeTraitNumericSummary " + md.getValue();
            }
            else if (md.getName().equals("FakeTraitNumericDetail"))
            {
                assert md.getValue().toString().equals("555.0") : "incorrect value for FakeTraitNumericDetail " + md.getValue();
            }
            else
            {
                assert false : "failed to find a matching metric name: " + md.getName();
            }
        }
    }

    //@Test
    public void testMeasurementTraitSummary()
    {
        final Resource resource = getResourceInstance(ResourceTypes.RESOURCE_TYPE_JMS_TOPIC, "FakeMetricsTopic");
        assert resource != null : "FakeMetricsTopic was not found and it should have been.";

        ResourceListItem resourceListItem = new ResourceListItem(resource, new Availability(resource, new Date(), AvailabilityType.UP));

        MeasurementUtils measurementUtils = new MeasurementUtils(resourceListItem);

        List<MeasurementData> measurementDataList = measurementUtils.loadMeasurementData(DisplayType.SUMMARY, DataType.TRAIT);
        assert measurementDataList != null : "measurements were null";
        assert measurementDataList.size() == 1 : "1 measurement(s) were expected, but " + measurementDataList.size() + " were found.";

        for (MeasurementData md : measurementDataList)
        {
            if (md.getName().equals("FakeTraitNumericSummary"))
            {
                assert md.getValue().toString().equals("333.0") : "incorrect value for FakeTraitNumericSummary " + md.getValue();
            }
            else
            {
                assert false : "failed to find a matching metric name: " + md.getName();
            }
        }
    }

    //@Test
    public void testMeasurementTraitDetail()
    {
        final Resource resource = getResourceInstance(ResourceTypes.RESOURCE_TYPE_JMS_TOPIC, "FakeMetricsTopic");
        assert resource != null : "FakeMetricsTopic was not found and it should have been.";

        ResourceListItem resourceListItem = new ResourceListItem(resource, new Availability(resource, new Date(), AvailabilityType.UP));

        MeasurementUtils measurementUtils = new MeasurementUtils(resourceListItem);

        List<MeasurementData> measurementDataList = measurementUtils.loadMeasurementData(DisplayType.DETAIL, DataType.TRAIT);
        assert measurementDataList != null : "measurements were null";
        assert measurementDataList.size() == 1 : "1 measurement(s) were expected, but " + measurementDataList.size() + " were found.";

        for (MeasurementData md : measurementDataList)
        {
            if (md.getName().equals("FakeTraitNumericDetail"))
            {
                assert md.getValue().toString().equals("555.0") : "incorrect value for FakeTraitNumericDetail " + md.getValue();
            }
            else
            {
                assert false : "failed to find a matching metric name: " + md.getName();
            }
        }
    }
}
TOP

Related Classes of org.jboss.on.embedded.test.MeasurementUtilTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.