/** * */ package org.gcube.documentstore.persistence; import java.net.URL; import org.gcube.common.authorization.client.exceptions.ObjectNotFound; import org.gcube.documentstore.records.Record; import org.gcube.testutility.ScopedTest; import org.gcube.testutility.TestUsageRecord; import org.junit.Assert; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.couchbase.client.deps.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 testJsonNodeUsageRecordConversions() throws Exception { Record record = TestUsageRecord.createTestServiceUsageRecord(); 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)); } @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)); } public void testProxyWithTestConfiguration() throws Exception{ // Production-Preproduction Nodes URL url = new URL("http://pc-frosini.isti.cnr.it"); PersistenceBackendConfiguration persitenceConfiguration = PersistenceBackendConfiguration.getUnconfiguredInstance(); persitenceConfiguration.addProperty(PersistenceCouchBase.URL_PROPERTY_KEY, url.toString()); //persitenceConfiguration.addProperty(AccountingPersistenceCouchBase.USERNAME_PROPERTY_KEY, ""); persitenceConfiguration.addProperty(PersistenceCouchBase.PASSWORD_PROPERTY_KEY, ""); persitenceConfiguration.addProperty(PersistenceCouchBase.BUCKET_NAME_PROPERTY_KEY,"accounting"); PersistenceCouchBase couchBase = new PersistenceCouchBase(); couchBase.prepareConnection(persitenceConfiguration); Record record = TestUsageRecord.createTestServiceUsageRecord(); couchBase.reallyAccount(record); } }