68 lines
2.6 KiB
Java
68 lines
2.6 KiB
Java
/**
|
|
*
|
|
*/
|
|
package org.gcube.documentstore.persistence;
|
|
|
|
import org.gcube.accounting.datamodel.usagerecords.TestUsageRecord;
|
|
import org.gcube.common.authorization.client.exceptions.ObjectNotFound;
|
|
import org.gcube.documentstore.records.DSMapper;
|
|
import org.gcube.documentstore.records.Record;
|
|
import org.gcube.testutility.ScopedTest;
|
|
import org.junit.Assert;
|
|
import org.junit.Test;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
|
|
|
/**
|
|
* @author Luca Frosini (ISTI - CNR)
|
|
*
|
|
*/
|
|
public class PersistenceCouchBaseTest extends ScopedTest {
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(PersistenceCouchBaseTest.class);
|
|
|
|
|
|
@Test
|
|
public void persistenceIsCouchBase() throws ObjectNotFound, Exception {
|
|
PersistenceBackendFactory.setFallbackLocation(null);
|
|
FallbackPersistenceBackend fallbackPersistenceBackend = PersistenceBackendFactory.createFallback(ScopedTest.getCurrentContext());
|
|
PersistenceBackend persistenceBackend = PersistenceBackendFactory.rediscoverPersistenceBackend(fallbackPersistenceBackend, ScopedTest.getCurrentContext());
|
|
Assert.assertTrue(persistenceBackend instanceof PersistenceCouchBase);
|
|
}
|
|
|
|
@Test
|
|
public void persistenceIsCouchBaseForcingImmediateRediscovery() throws ObjectNotFound, Exception {
|
|
PersistenceBackendFactory.setFallbackLocation(null);
|
|
String context = ScopedTest.getCurrentContext();
|
|
PersistenceBackendFactory.forceImmediateRediscovery(context);
|
|
PersistenceBackend persistenceBackend = PersistenceBackendFactory.getPersistenceBackend(context);
|
|
Assert.assertTrue(persistenceBackend instanceof PersistenceCouchBase);
|
|
}
|
|
|
|
|
|
@Test
|
|
public void testJsonNodeUsageRecordConversions() throws Exception {
|
|
Record record = TestUsageRecord.createTestServiceUsageRecord();
|
|
logger.debug("UsageRecord : {}", DSMapper.marshal(record));
|
|
JsonNode node = PersistenceCouchBase.usageRecordToJsonNode(record);
|
|
logger.debug("Node : {}", node.toString());
|
|
Record r = PersistenceCouchBase.jsonNodeToUsageRecord(node);
|
|
Assert.assertEquals(0, record.compareTo(r));
|
|
Assert.assertEquals(0, r.compareTo(record));
|
|
}
|
|
|
|
@Test
|
|
public void testJsonNodeUsageRecordConversionsWithNestedMap() throws Exception {
|
|
Record record = TestUsageRecord.createTestTaskUsageRecord();
|
|
logger.debug("UsageRecord : {}", record.toString());
|
|
JsonNode node = PersistenceCouchBase.usageRecordToJsonNode(record);
|
|
logger.debug("Node : {}", node.toString());
|
|
Record r = PersistenceCouchBase.jsonNodeToUsageRecord(node);
|
|
Assert.assertEquals(0, record.compareTo(r));
|
|
Assert.assertEquals(0, r.compareTo(record));
|
|
}
|
|
|
|
} |