/** * */ package org.gcube.documentstore.persistence; import java.net.URL; import org.gcube.common.authorization.library.provider.SecurityTokenProvider; import org.gcube.documentstore.records.Record; import org.gcube.testutility.ScopedTest; import org.gcube.testutility.TestUsageRecord; import org.gcube.testutility.TestUtility; import org.junit.After; import org.junit.Assert; import org.junit.Before; 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); @Before public void before() throws Exception{ SecurityTokenProvider.instance.set(TestUtility.TOKEN); } @After public void after(){ SecurityTokenProvider.instance.reset(); } @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); } }