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

77 lines
3.0 KiB
Java

/**
*
*/
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);
}
}