diff --git a/pom.xml b/pom.xml
index 41df6e0..1f51b21 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,73 +27,110 @@
org.gcube.data.publishing
document-store-lib
- [1.1.0-SNAPSHOT, 2.0.0-SNAPSHOT)
-
-
-
- org.gcube.accounting
- accounting-lib
- [2.1.0-SNAPSHOT, 3.0.0-SNAPSHOT)
+ [1.0.1-SNAPSHOT, 2.0.0-SNAPSHOT)
+ test
org.gcube.data.publishing
document-store-lib-couchbase
[1.1.0-SNAPSHOT, 2.0.0-SNAPSHOT)
+ test
+
+
+ org.gcube.data.publishing
+ document-store-lib-couchdb
+ [1.1.0-SNAPSHOT, 2.0.0-SNAPSHOT)
+ test
+
+
+ org.gcube.data.publishing
+ document-store-lib-mongodb
+ [1.1.0-SNAPSHOT, 2.0.0-SNAPSHOT)
+ test
-
+
+
+ org.gcube.accounting
+ accounting-lib
+ [2.1.0-SNAPSHOT, 3.0.0-SNAPSHOT)
+ test
+
+
org.gcube.accounting
accounting-analytics
[1.2.0-SNAPSHOT, 2.0.0-SNAPSHOT)
+ test
org.gcube.accounting
accounting-analytics-persistence-couchdb
[1.2.0-SNAPSHOT, 2.0.0-SNAPSHOT)
+ test
org.gcube.accounting
accounting-analytics-persistence-couchbase
- [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)
+ [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)
+ test
org.gcube.vremanagement
smart-executor-client
- [1.3.0-SNAPSHOT, 2.0.0-SNAPSHOT)
+ [1.3.0-SNAPSHOT,2.0.0-SNAPSHOT)
+ test
+
+
+ org.gcube.accounting
+ couchdb-cache-se-plugin
+ [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)
+ test
+
+
+ org.gcube.information-system
+ is-sweeper-se-plugin
+ [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)
+ test
org.gcube.core
common-scope
[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT]
+ test
org.gcube.resources
registry-publisher
[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT]
+ test
org.gcube.core
common-encryption
[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT]
+ test
org.slf4j
slf4j-api
1.7.5
+ test
ch.qos.logback
logback-classic
1.0.13
+ test
junit
junit
4.11
+ test
diff --git a/src/test/java/org/gcube/accounting/persistence/AccountingPersistenceConfigurationTest.java b/src/test/java/org/gcube/accounting/persistence/AccountingPersistenceConfigurationTest.java
index 38ca09c..3ff41c6 100644
--- a/src/test/java/org/gcube/accounting/persistence/AccountingPersistenceConfigurationTest.java
+++ b/src/test/java/org/gcube/accounting/persistence/AccountingPersistenceConfigurationTest.java
@@ -7,7 +7,6 @@ import java.io.StringWriter;
import java.net.URL;
import org.gcube.accounting.datamodel.BasicUsageRecord;
-import org.gcube.accounting.testutility.TestUtility;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.resources.gcore.Resources;
import org.gcube.common.resources.gcore.ServiceEndpoint;
@@ -18,6 +17,7 @@ import org.gcube.common.resources.gcore.ServiceEndpoint.Runtime;
import org.gcube.common.resources.gcore.common.Platform;
import org.gcube.common.resources.gcore.utils.Group;
import org.gcube.documentstore.persistence.PersistenceBackend;
+import org.gcube.utils.TestUtility;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
diff --git a/src/test/java/org/gcube/accounting/persistence/PersistenceCouchBaseTest.java b/src/test/java/org/gcube/accounting/persistence/PersistenceCouchBaseTest.java
index 402678d..e3d9942 100644
--- a/src/test/java/org/gcube/accounting/persistence/PersistenceCouchBaseTest.java
+++ b/src/test/java/org/gcube/accounting/persistence/PersistenceCouchBaseTest.java
@@ -17,6 +17,7 @@ import org.gcube.documentstore.persistence.PersistenceBackendFactory;
import org.gcube.documentstore.persistence.PersistenceCouchBase;
import org.gcube.informationsystem.publisher.RegistryPublisher;
import org.gcube.informationsystem.publisher.RegistryPublisherFactory;
+import org.gcube.utils.TestUtility;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
diff --git a/src/test/java/org/gcube/accounting/persistence/PersistenceCouchDBTest.java b/src/test/java/org/gcube/accounting/persistence/PersistenceCouchDBTest.java
index 7a33449..fbe4910 100644
--- a/src/test/java/org/gcube/accounting/persistence/PersistenceCouchDBTest.java
+++ b/src/test/java/org/gcube/accounting/persistence/PersistenceCouchDBTest.java
@@ -16,6 +16,7 @@ import org.gcube.documentstore.persistence.PersistenceBackendFactory;
import org.gcube.documentstore.persistence.PersistenceCouchDB;
import org.gcube.informationsystem.publisher.RegistryPublisher;
import org.gcube.informationsystem.publisher.RegistryPublisherFactory;
+import org.gcube.utils.TestUtility;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
diff --git a/src/test/java/org/gcube/accounting/persistence/PersistenceMongoDBTest.java b/src/test/java/org/gcube/accounting/persistence/PersistenceMongoDBTest.java
index 0b55843..fe33cd5 100644
--- a/src/test/java/org/gcube/accounting/persistence/PersistenceMongoDBTest.java
+++ b/src/test/java/org/gcube/accounting/persistence/PersistenceMongoDBTest.java
@@ -16,6 +16,7 @@ import org.gcube.documentstore.persistence.PersistenceBackendFactory;
import org.gcube.documentstore.persistence.PersistenceMongoDB;
import org.gcube.informationsystem.publisher.RegistryPublisher;
import org.gcube.informationsystem.publisher.RegistryPublisherFactory;
+import org.gcube.utils.TestUtility;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
diff --git a/src/test/java/org/gcube/accounting/documentstore/persistence/PersistenceBackendMonitorTest.java b/src/test/java/org/gcube/documentstore/persistence/PersistenceBackendMonitorTest.java
similarity index 88%
rename from src/test/java/org/gcube/accounting/documentstore/persistence/PersistenceBackendMonitorTest.java
rename to src/test/java/org/gcube/documentstore/persistence/PersistenceBackendMonitorTest.java
index c6f48d5..e5c664c 100644
--- a/src/test/java/org/gcube/accounting/documentstore/persistence/PersistenceBackendMonitorTest.java
+++ b/src/test/java/org/gcube/documentstore/persistence/PersistenceBackendMonitorTest.java
@@ -8,11 +8,15 @@ import java.util.concurrent.TimeUnit;
import org.gcube.accounting.datamodel.BasicUsageRecord;
import org.gcube.accounting.datamodel.UsageRecord;
import org.gcube.accounting.datamodel.basetypes.TestUsageRecord;
-import org.gcube.accounting.testutility.TestUtility;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.documentstore.exception.InvalidValueException;
+import org.gcube.documentstore.persistence.FallbackPersistenceBackend;
+import org.gcube.documentstore.persistence.PersistenceBackend;
+import org.gcube.documentstore.persistence.PersistenceBackendFactory;
+import org.gcube.documentstore.persistence.PersistenceBackendMonitor;
import org.gcube.utils.StressTestUtility;
import org.gcube.utils.TestOperation;
+import org.gcube.utils.TestUtility;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -52,13 +56,13 @@ public class PersistenceBackendMonitorTest {
UsageRecord usageRecord = null;
switch (i%3) {
case 0:
- usageRecord = TestUsageRecord.createTestServiceUsageRecordAutomaticScope();
+ usageRecord = TestUsageRecord.createTestServiceUsageRecord();
break;
case 1:
- usageRecord = TestUsageRecord.createTestStorageUsageRecordAutomaticScope();
+ usageRecord = TestUsageRecord.createTestStorageUsageRecord();
break;
case 2:
- usageRecord = TestUsageRecord.createTestJobUsageRecordAutomaticScope();
+ usageRecord = TestUsageRecord.createTestJobUsageRecord();
break;
}
try {
diff --git a/src/test/java/org/gcube/accounting/documentstore/persistence/PersistenceBackendTest.java b/src/test/java/org/gcube/documentstore/persistence/PersistenceBackendTest.java
similarity index 90%
rename from src/test/java/org/gcube/accounting/documentstore/persistence/PersistenceBackendTest.java
rename to src/test/java/org/gcube/documentstore/persistence/PersistenceBackendTest.java
index 721ea58..fe9d6a7 100644
--- a/src/test/java/org/gcube/accounting/documentstore/persistence/PersistenceBackendTest.java
+++ b/src/test/java/org/gcube/documentstore/persistence/PersistenceBackendTest.java
@@ -9,11 +9,10 @@ import java.util.concurrent.TimeUnit;
import org.gcube.accounting.datamodel.BasicUsageRecord;
import org.gcube.accounting.datamodel.UsageRecord;
import org.gcube.accounting.datamodel.basetypes.TestUsageRecord;
-import org.gcube.accounting.testutility.TestUtility;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
-import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.utils.StressTestUtility;
import org.gcube.utils.TestOperation;
+import org.gcube.utils.TestUtility;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -60,13 +59,8 @@ public class PersistenceBackendTest {
StressTestUtility.stressTest(new TestOperation() {
@Override
public void operate(int i) {
- UsageRecord usageRecord;
- try {
- usageRecord = TestUsageRecord.createTestServiceUsageRecordExplicitScope();
- persistence.accountValidateAggregate(usageRecord, true, false);
- } catch (InvalidValueException e) {
- throw new RuntimeException(e);
- }
+ UsageRecord usageRecord = TestUsageRecord.createTestServiceUsageRecord();
+ persistence.accountValidateAggregate(usageRecord, true, false);
}
}, 1);
@@ -79,7 +73,7 @@ public class PersistenceBackendTest {
StressTestUtility.stressTest(new TestOperation() {
@Override
public void operate(int i) {
- UsageRecord usageRecord = TestUsageRecord.createTestServiceUsageRecordAutomaticScope();
+ UsageRecord usageRecord = TestUsageRecord.createTestServiceUsageRecord();
persistence.accountValidateAggregate(usageRecord, true, false);
}
}, 1);
@@ -93,7 +87,7 @@ public class PersistenceBackendTest {
StressTestUtility.stressTest(new TestOperation() {
@Override
public void operate(int i) {
- UsageRecord usageRecord = TestUsageRecord.createTestServiceUsageRecordAutomaticScope();
+ UsageRecord usageRecord = TestUsageRecord.createTestServiceUsageRecord();
persistence.accountValidateAggregate(usageRecord, true, false);
}
});
@@ -106,7 +100,7 @@ public class PersistenceBackendTest {
StressTestUtility.stressTest(new TestOperation() {
@Override
public void operate(int i) throws Exception {
- UsageRecord usageRecord = TestUsageRecord.createTestServiceUsageRecordAutomaticScope();
+ UsageRecord usageRecord = TestUsageRecord.createTestServiceUsageRecord();
persistence.account(usageRecord);
}
});
diff --git a/src/test/java/org/gcube/documentstore/persistence/PersistenceCouchBaseTest.java b/src/test/java/org/gcube/documentstore/persistence/PersistenceCouchBaseTest.java
index 78f7446..6a0cf6d 100644
--- a/src/test/java/org/gcube/documentstore/persistence/PersistenceCouchBaseTest.java
+++ b/src/test/java/org/gcube/documentstore/persistence/PersistenceCouchBaseTest.java
@@ -6,7 +6,6 @@ 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;
diff --git a/src/test/java/org/gcube/documentstore/persistence/PersistenceCouchDBTest.java b/src/test/java/org/gcube/documentstore/persistence/PersistenceCouchDBTest.java
index 504316e..f729a04 100644
--- a/src/test/java/org/gcube/documentstore/persistence/PersistenceCouchDBTest.java
+++ b/src/test/java/org/gcube/documentstore/persistence/PersistenceCouchDBTest.java
@@ -7,9 +7,9 @@ import java.net.URL;
import org.codehaus.jackson.JsonNode;
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.gcube.utils.TestUtility;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
diff --git a/src/test/java/org/gcube/documentstore/persistence/PersistenceMongoDBTest.java b/src/test/java/org/gcube/documentstore/persistence/PersistenceMongoDBTest.java
index ad446eb..0b6711a 100644
--- a/src/test/java/org/gcube/documentstore/persistence/PersistenceMongoDBTest.java
+++ b/src/test/java/org/gcube/documentstore/persistence/PersistenceMongoDBTest.java
@@ -9,7 +9,6 @@ import org.bson.Document;
import org.gcube.accounting.datamodel.UsageRecord;
import org.gcube.accounting.datamodel.basetypes.AbstractStorageUsageRecord.OperationType;
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;
diff --git a/src/test/java/org/gcube/accounting/documentstore/records/aggregation/AggregationSchedulerTest.java b/src/test/java/org/gcube/documentstore/records/aggregation/AggregationSchedulerTest.java
similarity index 89%
rename from src/test/java/org/gcube/accounting/documentstore/records/aggregation/AggregationSchedulerTest.java
rename to src/test/java/org/gcube/documentstore/records/aggregation/AggregationSchedulerTest.java
index 5907fbe..a1623cb 100644
--- a/src/test/java/org/gcube/accounting/documentstore/records/aggregation/AggregationSchedulerTest.java
+++ b/src/test/java/org/gcube/documentstore/records/aggregation/AggregationSchedulerTest.java
@@ -10,13 +10,13 @@ import java.util.Map;
import org.gcube.accounting.datamodel.UsageRecord;
import org.gcube.accounting.datamodel.basetypes.TestUsageRecord;
import org.gcube.accounting.datamodel.usagerecords.ServiceUsageRecord;
-import org.gcube.accounting.testutility.TestUtility;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.documentstore.persistence.PersistenceExecutor;
import org.gcube.documentstore.records.AggregatedRecord;
import org.gcube.documentstore.records.Record;
import org.gcube.utils.StressTestUtility;
import org.gcube.utils.TestOperation;
+import org.gcube.utils.TestUtility;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -78,12 +78,12 @@ public class AggregationSchedulerTest {
StressTestUtility.stressTest(new TestOperation() {
@Override
public void operate(int i) throws Exception {
- UsageRecord usageRecord = TestUsageRecord.createTestServiceUsageRecordAutomaticScope();
+ UsageRecord usageRecord = TestUsageRecord.createTestServiceUsageRecord();
aggregationScheduler.aggregate(usageRecord, persistenceExecutor);
}
});
List types = new ArrayList();
- String serviceUsageRecordtype = TestUsageRecord.createTestServiceUsageRecordAutomaticScope().getRecordType();
+ String serviceUsageRecordtype = TestUsageRecord.createTestServiceUsageRecord().getRecordType();
types.add(serviceUsageRecordtype);
madeAssertion(aggregationScheduler.bufferedRecords, types, 1, StressTestUtility.DEFAULT_NUMBER_OF_RECORDS);
aggregationScheduler.flush(persistenceExecutor);
@@ -97,7 +97,7 @@ public class AggregationSchedulerTest {
StressTestUtility.stressTest(new TestOperation() {
@Override
public void operate(int i) throws Exception {
- ServiceUsageRecord usageRecord = TestUsageRecord.createTestServiceUsageRecordAutomaticScope();
+ ServiceUsageRecord usageRecord = TestUsageRecord.createTestServiceUsageRecord();
if(i%2==0){
usageRecord.setServiceClass(ALTERNATIVE_SERVICE_CLASS);
}
@@ -105,7 +105,7 @@ public class AggregationSchedulerTest {
}
});
List types = new ArrayList();
- String serviceUsageRecordtype = TestUsageRecord.createTestServiceUsageRecordAutomaticScope().getRecordType();
+ String serviceUsageRecordtype = TestUsageRecord.createTestServiceUsageRecord().getRecordType();
types.add(serviceUsageRecordtype);
madeAssertion(aggregationScheduler.bufferedRecords, types, 2, StressTestUtility.DEFAULT_NUMBER_OF_RECORDS/2);
@@ -121,17 +121,17 @@ public class AggregationSchedulerTest {
public void operate(int i) throws Exception {
UsageRecord usageRecord;
if(i%2==0){
- usageRecord = TestUsageRecord.createTestServiceUsageRecordAutomaticScope();
+ usageRecord = TestUsageRecord.createTestServiceUsageRecord();
}else{
- usageRecord = TestUsageRecord.createTestStorageUsageRecordAutomaticScope();
+ usageRecord = TestUsageRecord.createTestStorageUsageRecord();
}
aggregationScheduler.aggregate(usageRecord, persistenceExecutor);
}
});
List types = new ArrayList();
- String serviceUsageRecordtype = TestUsageRecord.createTestServiceUsageRecordAutomaticScope().getRecordType();
- String storageUsageRecordtype = TestUsageRecord.createTestStorageUsageRecordAutomaticScope().getRecordType();
+ String serviceUsageRecordtype = TestUsageRecord.createTestServiceUsageRecord().getRecordType();
+ String storageUsageRecordtype = TestUsageRecord.createTestStorageUsageRecord().getRecordType();
types.add(serviceUsageRecordtype);
types.add(storageUsageRecordtype);
@@ -149,16 +149,16 @@ public class AggregationSchedulerTest {
UsageRecord usageRecord;
switch (i%3) {
case 0:
- usageRecord = TestUsageRecord.createTestServiceUsageRecordAutomaticScope();
+ usageRecord = TestUsageRecord.createTestServiceUsageRecord();
break;
case 1:
- usageRecord = TestUsageRecord.createTestStorageUsageRecordAutomaticScope();
+ usageRecord = TestUsageRecord.createTestStorageUsageRecord();
break;
case 2:
- usageRecord = TestUsageRecord.createTestJobUsageRecordAutomaticScope();
+ usageRecord = TestUsageRecord.createTestJobUsageRecord();
break;
default:
- usageRecord = TestUsageRecord.createTestJobUsageRecordAutomaticScope();
+ usageRecord = TestUsageRecord.createTestJobUsageRecord();
}
aggregationScheduler.aggregate(usageRecord, persistenceExecutor);
diff --git a/src/test/java/org/gcube/utils/StressTestUtility.java b/src/test/java/org/gcube/utils/StressTestUtility.java
index 90d09b7..6ae4fc3 100644
--- a/src/test/java/org/gcube/utils/StressTestUtility.java
+++ b/src/test/java/org/gcube/utils/StressTestUtility.java
@@ -18,7 +18,7 @@ public class StressTestUtility {
private static final Logger logger = LoggerFactory.getLogger(StressTestUtility.class);
- protected final static int DEFAULT_NUMBER_OF_RECORDS = 3000;
+ public final static int DEFAULT_NUMBER_OF_RECORDS = 3000;
public static void stressTest(TestOperation operation) throws Exception {
stressTest(operation, DEFAULT_NUMBER_OF_RECORDS);
diff --git a/src/test/java/org/gcube/utils/TestUtility.java b/src/test/java/org/gcube/utils/TestUtility.java
index f8f2688..f4378df 100644
--- a/src/test/java/org/gcube/utils/TestUtility.java
+++ b/src/test/java/org/gcube/utils/TestUtility.java
@@ -3,6 +3,19 @@
*/
package org.gcube.utils;
+import java.io.StringWriter;
+
+import org.gcube.common.authorization.client.Constants;
+import org.gcube.common.authorization.library.AuthorizationEntry;
+import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
+import org.gcube.common.resources.gcore.Resource;
+import org.gcube.common.resources.gcore.Resources;
+import org.gcube.informationsystem.publisher.RegistryPublisher;
+import org.gcube.informationsystem.publisher.RegistryPublisherFactory;
+import org.gcube.informationsystem.publisher.exception.RegistryNotFoundException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
/**
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
*
@@ -11,4 +24,62 @@ public class TestUtility {
public static final String TOKEN = "";
+ /**
+ * Logger
+ */
+ private static Logger logger = LoggerFactory.getLogger(TestUtility.class);
+
+ public static String getScopeFromToken(){
+ String token = SecurityTokenProvider.instance.get();
+ AuthorizationEntry authorizationEntry;
+ try {
+ authorizationEntry = Constants.authorizationService().get(token);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ String scope = authorizationEntry.getContext();
+ return scope;
+ }
+
+ /**
+ * Publish the provided resource on current scope
+ * @param resource to be published
+ * @throws RegistryNotFoundException if the Registry is not found so the
+ * resource has not be published
+ */
+ public static void publishResource(Resource resource) throws Exception {
+ StringWriter stringWriter = new StringWriter();
+ Resources.marshal(resource, stringWriter);
+
+ RegistryPublisher registryPublisher = RegistryPublisherFactory.create();
+
+ try {
+ logger.debug("Trying to publish to {}:\n{}", getScopeFromToken(), stringWriter);
+ registryPublisher.create(resource);
+ } catch (Exception e) {
+ logger.error("The resource was not published", e);
+ throw e;
+ }
+ }
+
+ /**
+ * Remove the resource from IS from curretn scope
+ * @param resource to be unpublished
+ * @throws RegistryNotFoundException if the Registry is not found so the
+ * resource has not be published
+ */
+ public static void unPublishResource(Resource resource) throws Exception {
+ //StringWriter stringWriter = new StringWriter();
+ //Resources.marshal(resource, stringWriter);
+
+ RegistryPublisher registryPublisher = RegistryPublisherFactory.create();
+
+ String id = resource.id();
+ logger.debug("Trying to remove {} with ID {} from {}", resource.getClass().getSimpleName(), id, getScopeFromToken());
+
+ registryPublisher.remove(resource);
+
+ logger.debug("{} with ID {} removed successfully", resource.getClass().getSimpleName(), id);
+ }
+
}