storagehub-application-pers.../src/test/java/org/gcube/storagehub/StorageHubManagementTest.java

152 lines
6.5 KiB
Java

package org.gcube.storagehub;
import java.util.List;
import java.util.Map;
import org.gcube.common.authorization.utils.manager.SecretManager;
import org.gcube.common.authorization.utils.manager.SecretManagerProvider;
import org.gcube.common.authorization.utils.secret.GCubeSecret;
import org.gcube.common.storagehub.client.dsl.ContainerType;
import org.gcube.common.storagehub.client.dsl.FileContainer;
import org.gcube.common.storagehub.client.dsl.FolderContainer;
import org.gcube.common.storagehub.client.dsl.ItemContainer;
import org.gcube.common.storagehub.client.dsl.ListResolver;
import org.gcube.common.storagehub.client.dsl.ListResolverTyped;
import org.gcube.common.storagehub.client.dsl.OpenResolver;
import org.gcube.common.storagehub.model.Metadata;
import org.gcube.common.storagehub.model.items.Item;
import org.gcube.common.storagehub.model.service.Version;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class StorageHubManagementTest extends ContextTest {
private static final Logger logger = LoggerFactory.getLogger(StorageHubManagementTest.class);
@Test
public void myTest() throws Exception {
SecretManager secretManager = SecretManagerProvider.instance.get();
GCubeSecret gCubeSecret = new GCubeSecret(ContextTest.properties.getProperty(DEFAULT_TEST_SCOPE_NAME));
secretManager.startSession(gCubeSecret);
StorageHubManagement storageHubManagement = new StorageHubManagement();
FolderContainer contextFolder = storageHubManagement.getContextFolder();
logger.debug("Context Folder ID : {} - Name : {}", contextFolder.getId(), contextFolder.get().getName());
secretManager.endSession();
}
@Test
public void test() throws Exception {
SecretManager secretManager = SecretManagerProvider.instance.get();
GCubeSecret gCubeSecret = new GCubeSecret(ContextTest.properties.getProperty(DEFAULT_TEST_SCOPE_NAME));
secretManager.startSession(gCubeSecret);
StorageHubManagement storageHubManagement = new StorageHubManagement();
@SuppressWarnings("unused")
OpenResolver openResolver = storageHubManagement.storageHubClient.open("");
// openResolver.asItem().delete();
/*
openResolver = storageHubManagement.storageHubClient.open("656cd713-bd79-4659-abd6-9f1baaedb5bc");
openResolver.asItem().delete();
openResolver = storageHubManagement.storageHubClient.open("bd44d81e-0e2f-4527-b634-2e26e8908f36");
openResolver.asItem().delete();
*/
secretManager.endSession();
}
@Test
public void listFolders() throws Exception {
SecretManager secretManager = SecretManagerProvider.instance.get();
GCubeSecret gCubeSecret = new GCubeSecret(ContextTest.properties.getProperty(DEFAULT_TEST_SCOPE_NAME));
secretManager.startSession(gCubeSecret);
StorageHubManagement storageHubManagement = new StorageHubManagement();
@SuppressWarnings("unused")
FolderContainer root = storageHubManagement.getWorkspaceRoot();
FolderContainer contextFolder = storageHubManagement.getContextFolder();
ListResolverTyped listResolverTyped = contextFolder.list();
List<ItemContainer<? extends Item>> containers = listResolverTyped.includeHidden().getContainers();
for(ItemContainer<? extends Item> itemContainer : containers) {
Item item = itemContainer.get();
String name = item.getName();
ContainerType containerType = itemContainer.getType();
if(containerType==ContainerType.FOLDER && name.compareTo(".catalogue")==0) {
itemContainer.delete();
}
}
// FolderContainer dstFolder = storageHubManagement.getDestinationFolder("application/pdf");
// storageHubManagement.tree(root);
// storageHubManagement.tree(contextFolder);
// storageHubManagement.tree(dstFolder);
secretManager.endSession();
}
@Test
public void getFileInfo() throws Exception {
SecretManager secretManager = SecretManagerProvider.instance.get();
GCubeSecret gCubeSecret = new GCubeSecret(ContextTest.properties.getProperty(DEFAULT_TEST_SCOPE_NAME));
secretManager.startSession(gCubeSecret);
StorageHubManagement storageHubManagement = new StorageHubManagement();
String id = "3daf465b-b84e-4d1c-9786-a388a267382c";
OpenResolver openResolver = storageHubManagement.storageHubClient.open(id);
FileContainer fileContainer = (FileContainer) openResolver.asFile();
logger.debug("StorageHub ID {} - File Name {}", id, fileContainer.get().getName());
/*
ListResolver listResolver = fileContainer.getAnchestors();
List<ItemContainer<? extends Item>> itemContainers = listResolver.getContainers();
for(ItemContainer<? extends Item> itemContainer : itemContainers) {
logger.debug("{}", itemContainer.get().getName());
}
*/
Metadata metadata = fileContainer.get().getMetadata();
Map<String,Object> map = metadata.getMap();
logger.debug("{}", map);
List<Version> versions = fileContainer.getVersions();
for(Version version : versions){
logger.debug("Version {} {}", version.getId(), version.getName());
}
secretManager.endSession();
}
@Test
public void getFileInfoViaDirectoryListing() throws Exception {
SecretManager secretManager = SecretManagerProvider.instance.get();
GCubeSecret gCubeSecret = new GCubeSecret(ContextTest.properties.getProperty(DEFAULT_TEST_SCOPE_NAME));
secretManager.startSession(gCubeSecret);
StorageHubManagement storageHubManagement = new StorageHubManagement();
String id = "22bd9034-1da0-45ac-868f-91d1e5438344";
OpenResolver openResolver = storageHubManagement.storageHubClient.open(id);
FolderContainer folderContainer = (FolderContainer) openResolver.asFolder();
String filename = "56a55300-9272-4c12-9ac8-ff61411a5976";
ListResolver listResolver = folderContainer.findByName(filename);
List<ItemContainer<? extends Item>> itemContainers = listResolver.withMetadata().getContainers();
for(ItemContainer<? extends Item> itemContainer : itemContainers) {
FileContainer fileContainer = (FileContainer) itemContainer;
logger.debug("StorageHub ID {} - File Name {}", id, fileContainer.get().getName());
/*
ListResolver listResolver = fileContainer.getAnchestors();
List<ItemContainer<? extends Item>> itemContainers = listResolver.getContainers();
for(ItemContainer<? extends Item> itemContainer : itemContainers) {
logger.debug("{}", itemContainer.get().getName());
}
*/
Metadata metadata = fileContainer.get().getMetadata();
Map<String,Object> map = metadata.getMap();
logger.debug("{}", map);
List<Version> versions = fileContainer.getVersions();
for(Version version : versions){
logger.debug("Version {} {}", version.getId(), version.getName());
}
}
secretManager.endSession();
}
}