gcat/src/test/java/org/gcube/gcat/persistence/ckan/CKANOrganizationTest.java

105 lines
3.6 KiB
Java

package org.gcube.gcat.persistence.ckan;
import java.util.Arrays;
import java.util.List;
import org.gcube.com.fasterxml.jackson.databind.JsonNode;
import org.gcube.com.fasterxml.jackson.databind.ObjectMapper;
import org.gcube.com.fasterxml.jackson.databind.node.ArrayNode;
import org.gcube.common.authorization.utils.manager.SecretManagerProvider;
import org.gcube.common.scope.impl.ScopeBean;
import org.gcube.gcat.ContextTest;
import org.gcube.gcat.api.configuration.CatalogueConfiguration;
import org.junit.Ignore;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class CKANOrganizationTest extends ContextTest {
private static Logger logger = LoggerFactory.getLogger(CKANOrganizationTest.class);
/*
@Test
public void getUserRole() throws Exception {
CKANOrganization ckanOrganization = new CKANOrganization();
ckanOrganization.setApiKey(CKANUtility.getSysAdminAPI());
ckanOrganization.setName(CKANOrganization.getCKANOrganizationName());
String ret = ckanOrganization.getUserRole("luca.frosini");
logger.debug("{}", ret);
}
*/
@Test
public void countOrganizations() throws Exception {
CKANOrganization ckanOrganization = new CKANOrganization();
int count = ckanOrganization.count();
logger.debug("The organizations are {}", count);
}
public static List<String> listOrg() throws Exception {
CKANOrganization ckanOrganization = new CKANOrganization();
String ret = ckanOrganization.list(1000, 0);
ObjectMapper objectMapper = new ObjectMapper();
String[] groupArray = objectMapper.readValue(ret, String[].class);
return Arrays.asList(groupArray);
}
@Test
public void listOrganizations() throws Exception {
CKANOrganization ckanOrganization = new CKANOrganization();
String ret = ckanOrganization.list(1000, 0);
logger.debug("{}", ret);
}
@Ignore
@Test
public void deleteOrganization() throws Exception {
ContextTest.setContextByName("/gcube");
CKANOrganization ckanOrganization = new CKANOrganization();
ckanOrganization.setApiKey(CKANUtility.getSysAdminAPI());
String name = "aquamaps1";
ckanOrganization.setName(name);
logger.debug("Going to delete {}", name);
// ckanOrganization.delete(true);
}
@Ignore
@Test
public void createOrganization() throws Exception {
ContextTest.setContextByName("/gcube/devNext/NextNext");
String context = SecretManagerProvider.instance.get().getContext();
ScopeBean scopeBean = new ScopeBean(context);
CKANOrganization ckanOrganization = new CKANOrganization();
ckanOrganization.setApiKey(CKANUtility.getSysAdminAPI());
String name = CatalogueConfiguration.getOrganizationName(scopeBean);
ckanOrganization.setName(name);
String json = "{\"display_name\": \"" + scopeBean.name() + "\",\"description\": \"" + context + " Organization\",\"name\": \"" + name + "\"}";
logger.info("Going to create Organization {} : {}", name, json);
// ckanOrganization.create(json);
}
//@Ignore
@Test
public void deleteAllOrganizations() throws Exception {
ContextTest.setContextByName("/gcube");
CKANOrganization ckanOrganization = new CKANOrganization();
ckanOrganization.setApiKey(CKANUtility.getSysAdminAPI());
String ret = ckanOrganization.list(1000, 0);
logger.debug("{}", ret);
ObjectMapper mapper = new ObjectMapper();
JsonNode organizations = (ArrayNode) mapper.readTree(ret);
for(JsonNode jn : organizations) {
ckanOrganization.setName(jn.asText());
logger.debug("Going to delete organization '{}'", jn.asText());
try {
// ckanOrganization.delete(true);
}catch (Exception e) {
// A not empty organization cannot be deleted
}
}
}
}