infrastructure-tests/src/test/java/org/gcube/authorization/ContextAuthorizationTest.java

69 lines
2.5 KiB
Java

package org.gcube.authorization;
import static org.gcube.common.authorization.client.Constants.authorizationService;
import java.util.ArrayList;
import org.gcube.common.authorization.client.Constants;
import org.gcube.common.authorization.library.AuthorizationEntry;
import org.gcube.common.authorization.library.provider.ClientInfo;
import org.gcube.common.authorization.library.provider.ContainerInfo;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.authorization.library.provider.UserInfo;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public class ContextAuthorizationTest extends ContextTest {
private static Logger logger = LoggerFactory.getLogger(ContextAuthorizationTest.class);
@Test
public void getInfo() throws Exception {
ContextTest.setContext("");
}
@Test
public void generateApplicationToken() throws Exception {
ContextTest.setContext(ROOT);
String context = "/d4science.research-infrastructures.eu/D4Research/AGINFRAplusDev";
UserInfo userInfo = new UserInfo("luca.frosini",new ArrayList<>());
String userToken = authorizationService().generateUserToken(userInfo, context);
SecurityTokenProvider.instance.set(userToken);
String applicationName = "nagios.check";
String generatedToken = authorizationService().generateExternalServiceToken(applicationName);
logger.trace("Application Token for application {} in Context {} is {}", applicationName,
ContextUtility.getCurrentContext(), generatedToken);
}
@Test
public void generateHostToken() throws Exception {
String currentContext = ContextUtility.getCurrentContext();
String host = "pc-frosini.isti.cnr.it";
int port = 8080;
ContainerInfo containerInfo = new ContainerInfo(host, port);
String tokenNode = authorizationService().requestActivation(containerInfo, currentContext);
logger.trace("Token for Context {} for host {}:{} is {}", currentContext, host, port, tokenNode);
}
@Test
public void generateUserToken() throws Exception {
String currentContext = ContextUtility.getCurrentContext();
AuthorizationEntry authorizationEntry = Constants.authorizationService().get(SecurityTokenProvider.instance.get());
UserInfo userInfo = (UserInfo) authorizationEntry.getClientInfo();
String tokenNode = authorizationService().generateUserToken(userInfo, currentContext);
logger.trace("Token for Context {} for {} is {}", currentContext, userInfo.getId(), tokenNode);
}
}