/** * */ package org.gcube.accounting.aggregation; import java.util.Set; import org.gcube.accounting.datamodel.basetypes.TestUsageRecord; import org.gcube.accounting.datamodel.usagerecords.ServiceUsageRecord; import org.gcube.accounting.exception.InvalidValueException; import org.junit.Assert; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/ * */ public class ServiceUsageRecordTest { private static Logger logger = LoggerFactory.getLogger(ServiceUsageRecordTest.class); @Test public void testRequiredFields() throws InvalidValueException { ServiceUsageRecord serviceUsageRecord = TestUsageRecord.createTestServiceUsageRecordAutomaticScope(); AggregatedServiceUsageRecord aggregatedServiceUsageRecord = new AggregatedServiceUsageRecord(serviceUsageRecord); Set expectedRequiredFields = org.gcube.accounting.datamodel.usagerecords.ServiceUsageRecordTest.getExpectedRequiredFields(); expectedRequiredFields.add(AggregatedServiceUsageRecord.DURATION); expectedRequiredFields.add(AggregatedServiceUsageRecord.MAX_INVOCATION_TIME); expectedRequiredFields.add(AggregatedServiceUsageRecord.MIN_INVOCATION_TIME); logger.debug("Expected Required Fields : {}", expectedRequiredFields); Set gotRequiredFields = aggregatedServiceUsageRecord.getRequiredFields(); logger.debug("Got Required Fields : {}", gotRequiredFields); Assert.assertTrue(expectedRequiredFields.containsAll(gotRequiredFields)); Assert.assertTrue(gotRequiredFields.containsAll(expectedRequiredFields)); } }