This repository has been archived on 2021-09-09. You can view files and clone it, but cannot push or open issues or pull requests.
geoportal-service/src/test/java/org/gcube/application/geoportal/service/MongoTests.java

87 lines
2.7 KiB
Java
Raw Normal View History

2021-09-09 13:35:09 +02:00
package org.gcube.application.geoportal.service;
2020-11-18 18:06:38 +01:00
import com.fasterxml.jackson.core.JsonProcessingException;
import com.mongodb.Block;
import com.mongodb.MongoClient;
2021-09-09 13:35:09 +02:00
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Projections;
2020-11-18 18:06:38 +01:00
import org.bson.Document;
import org.gcube.application.geoportal.service.engine.ImplementationProvider;
2021-09-09 13:35:09 +02:00
import org.gcube.application.geoportal.service.engine.mongo.MongoManager;
2021-08-04 16:22:29 +02:00
import org.gcube.application.geoportal.service.engine.providers.MongoClientProvider;
import org.gcube.application.geoportal.service.model.internal.faults.ConfigurationException;
2020-11-18 18:06:38 +01:00
import org.junit.BeforeClass;
import org.junit.Test;
import java.io.IOException;
2020-11-18 18:06:38 +01:00
public class MongoTests {
2021-09-09 13:35:09 +02:00
public static class MongoTester extends MongoManager {
public MongoTester() throws ConfigurationException {
}
public MongoCollection<Document> getCollection(){return getDatabase().getCollection("legacyConcessioni");}
@Override
protected MongoDatabase getDatabase() {
return client.getDatabase("gna_dev");
}
}
2020-11-18 18:06:38 +01:00
@BeforeClass
public static final void init() {
2020-11-19 17:38:56 +01:00
ImplementationProvider.get().setMongoClientProvider(new MongoClientProvider() {
2020-11-18 18:06:38 +01:00
@Override
2020-11-19 17:38:56 +01:00
public MongoClient getObject() throws ConfigurationException {
2021-09-09 13:35:09 +02:00
TokenSetter.set("/gcube/devsec/devVRE");
2020-11-19 17:38:56 +01:00
return super.getObject();
2020-11-18 18:06:38 +01:00
}
});
}
Block<Document> printBlock = new Block<Document>() {
@Override
public void apply(final Document document) {
System.out.println(document.toJson());
}
};
@Test
public void listProfiles() throws JsonProcessingException, IOException, ConfigurationException {
2020-12-04 18:37:15 +01:00
// MongoManager manager=new MongoManager();
// Profile f=Serialization.mapper.readerFor(Profile.class).readValue(
// Files.getFileFromResources("fakeProfile.json"));
2021-09-09 13:35:09 +02:00
//
2020-12-04 18:37:15 +01:00
// manager.iterate(new Document(),f).forEach(printBlock);
2020-11-18 18:06:38 +01:00
}
2021-09-09 13:35:09 +02:00
@Test
public void queries() throws ConfigurationException {
MongoTester tester=new MongoTester();
System.out.println("Using builders..");
tester.getCollection().find(Document.parse("{\"report.status\" : \"WARNING\"}")).
projection(Projections.include("nome")).forEach(printBlock);
System.out.println("Deserializing documents");
tester.getCollection().find(Document.parse("{\"report.status\" : \"WARNING\"}")).
projection(Document.parse("{\"nome\" : 1}")).forEach(printBlock);
}
@Test
public void checkQuerySerialization(){
System.out.println(Projections.include("nome"));
}
2020-11-18 18:06:38 +01:00
// @Test
// public void writeProject() {
// MongoManager manager=new MongoManager();
// Concessione f=Serialization.mapper.readerFor(Concessione.class).readValue(
// Files.getFileFromResources("fakeProfile.json"));
// }
}