/** * */ package org.gcube.accounting.datamodel; import org.gcube.accounting.datamodel.UsageRecord.OperationResult; import org.gcube.accounting.datamodel.implementations.ServiceUsageRecord; import org.gcube.accounting.exception.InvalidValueException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/ * */ public class TestUsageRecord { private static final Logger logger = LoggerFactory.getLogger(TestUsageRecord.class); public final static String TEST_CONSUMER_ID = "name.surname"; public final static String TEST_SCOPE = "/infrastructure/vo"; public final static String TEST_SERVICE_CLASS = "TestServiceClass"; public final static String TEST_SERVICE_NAME = "TestServiceName"; public final static String TEST_REF_HOST = "localhost"; public final static String TEST_REF_VM = "local"; public final static String TEST_PROPERTY_NAME = "TestPropertyName"; public final static String TEST_PROPERTY_VALUE = "TestPropertyValue"; private final static long MIN = 60; private final static long MAX = 1000; /** * Generate A Random long in a range between min and max. * This function is internally used to set random duration. * @return the generated random long */ public static long generateRandomLong(long min, long max){ return min + (int)(Math.random() * ((max - min) + 1)); } /** * Create a valid SingleUsageRecord * @return the created UsageRecord */ public static SingleUsageRecord createTestUsageRecord() { ServiceUsageRecord serviceUsageRecord = new ServiceUsageRecord(); try { serviceUsageRecord.setConsumerId(TEST_CONSUMER_ID); serviceUsageRecord.setScope(TEST_SCOPE); serviceUsageRecord.setOperationResult(OperationResult.SUCCESS); serviceUsageRecord.setServiceClass(TEST_SERVICE_CLASS); serviceUsageRecord.setServiceName(TEST_SERVICE_NAME); serviceUsageRecord.setRefHost(TEST_REF_HOST); serviceUsageRecord.setRefVM(TEST_REF_VM); serviceUsageRecord.setDuration(generateRandomLong(MIN, MAX)); serviceUsageRecord.setResourceProperty(TEST_PROPERTY_NAME, TEST_PROPERTY_VALUE); } catch (InvalidValueException e) { logger.error(" ------ You SHOULD NOT SEE THIS MESSAGE. Error Creating a test Usage Record", e.getCause()); } return serviceUsageRecord; } }