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

78 lines
2.8 KiB
Java

/**
*
*/
package org.gcube.documentstore.persistence;
import java.net.URL;
import org.gcube.accounting.datamodel.basetypes.TestUsageRecord;
import org.gcube.accounting.persistence.TestUtility;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.documentstore.records.Record;
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) http://www.lucafrosini.com/
*
*/
public class PersistenceCouchBaseTest {
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.createTestServiceUsageRecordAutomaticScope();
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.createTestTaskUsageRecordAutomaticScope();
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.createTestServiceUsageRecordAutomaticScope();
couchBase.reallyAccount(record);
}
}