73 lines
2.3 KiB
Java
73 lines
2.3 KiB
Java
|
/**
|
||
|
*
|
||
|
*/
|
||
|
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;
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|