accounting-lib/src/main/java/org/gcube/accounting/datamodel/TestUsageRecord.java

73 lines
2.3 KiB
Java
Raw Normal View History

/**
*
*/
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;
}
}