infrastructure-tests/src/test/java/org/gcube/documentstore/persistence/PersistenceCouchBaseTest.java

62 lines
2.2 KiB
Java

/**
*
*/
package org.gcube.documentstore.persistence;
import org.gcube.accounting.datamodel.usagerecords.TestUsageRecord;
import org.gcube.accounting.persistence.AccountingPersistenceFactory;
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 {
AccountingPersistenceFactory.initAccountingPackages();
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));
}
}