96 lines
3.0 KiB
Java
96 lines
3.0 KiB
Java
/**
|
|
*
|
|
*/
|
|
package org.gcube.resourcemanagement.manager.webapp.context;
|
|
|
|
import static org.junit.Assert.*;
|
|
|
|
import java.util.UUID;
|
|
|
|
import org.gcube.common.authorization.client.Constants;
|
|
import org.gcube.common.authorization.client.exceptions.ObjectNotFound;
|
|
import org.gcube.common.authorization.library.AuthorizationEntry;
|
|
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
|
import org.gcube.common.scope.api.ScopeProvider;
|
|
import org.gcube.informationsystem.model.entity.Context;
|
|
import org.gcube.informationsystem.resourceregistry.context.ResourceRegistryContextClient;
|
|
import org.gcube.informationsystem.resourceregistry.context.ResourceRegistryContextClientImpl;
|
|
import org.junit.AfterClass;
|
|
import org.junit.BeforeClass;
|
|
import org.junit.FixMethodOrder;
|
|
import org.junit.Test;
|
|
import org.junit.runner.RunWith;
|
|
import org.junit.runners.BlockJUnit4ClassRunner;
|
|
import org.junit.runners.MethodSorters;
|
|
|
|
/**
|
|
* Test cases for {@link Queries}
|
|
*
|
|
* @author Manuele Simi (ISTI CNR)
|
|
*
|
|
*/
|
|
@RunWith(BlockJUnit4ClassRunner.class)
|
|
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
|
public class QueriesTest {
|
|
|
|
private final static String RR = "http://manuele-registry.dev.d4science.org/resource-registry";
|
|
|
|
public static final String DEFAULT_TEST_SCOPE ="";
|
|
|
|
public static final UUID uuid = UUID.fromString("5f86dc81-2f59-486b-8aa9-3ab5486313c4");
|
|
|
|
private static boolean skipTest = false;
|
|
|
|
@BeforeClass
|
|
public static void beforeClass() throws Exception {
|
|
setContext(DEFAULT_TEST_SCOPE);
|
|
}
|
|
|
|
public static void setContext(String token) throws ObjectNotFound, Exception {
|
|
if (DEFAULT_TEST_SCOPE.isEmpty()) {
|
|
skipTest = true;
|
|
return;
|
|
}
|
|
SecurityTokenProvider.instance.set(token);
|
|
ScopeProvider.instance.set(getCurrentScope(token));
|
|
}
|
|
|
|
public static String getCurrentScope(String token) throws ObjectNotFound, Exception {
|
|
AuthorizationEntry authorizationEntry = Constants.authorizationService().get(token);
|
|
String context = authorizationEntry.getContext();
|
|
return context;
|
|
}
|
|
|
|
@AfterClass
|
|
public static void afterClass() throws Exception {
|
|
SecurityTokenProvider.instance.reset();
|
|
ScopeProvider.instance.reset();
|
|
}
|
|
/**
|
|
* Test method for {@link org.gcube.resourcemanagement.manager.webapp.context.Queries#contextExists(UUID)}.
|
|
*/
|
|
@Test
|
|
public void testContextExists() {
|
|
if (skipTest)
|
|
return;
|
|
ResourceRegistryContextClient client = new ResourceRegistryContextClientImpl(RR);
|
|
Queries queries = new Queries();
|
|
assertFalse("Context does exist, but it should not", queries.contextExists(UUID.randomUUID(),client));
|
|
}
|
|
|
|
/**
|
|
* Test method for {@link org.gcube.resourcemanagement.manager.webapp.context.Queries#fetchContext(UUID, client)}.
|
|
*/
|
|
@Test
|
|
public void testFetchContext() {
|
|
if (skipTest)
|
|
return;
|
|
ResourceRegistryContextClient client = new ResourceRegistryContextClientImpl(RR);
|
|
Queries queries = new Queries();
|
|
Context context = queries.fetchContext(uuid,client);
|
|
assertNotNull("Context does not exist.", context);
|
|
assertEquals("Unexpected uuid for context", uuid, context.getHeader().getUUID());
|
|
}
|
|
|
|
}
|