6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * Copyright (c) 2007 Sun Microsystems Inc. All Rights Reserved
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * The contents of this file are subject to the terms
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * of the Common Development and Distribution License
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * (the License). You may not use this file except in
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * compliance with the License.
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * You can obtain a copy of the License at
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * https://opensso.dev.java.net/public/CDDLv1.0.html or
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * See the License for the specific language governing
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * permission and limitations under the License.
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * When distributing Covered Code, include this CDDL
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * Header Notice in each file and include the License file
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * If applicable, add the following below the CDDL Header,
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * with the fields enclosed by brackets [] replaced by
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * your own identifying information:
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * "Portions Copyrighted [year] [name of copyright owner]"
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster * $Id: XACMLRequestProcessorTest.java,v 1.4 2008/06/25 05:50:18 qcheng Exp $
6d96e3809a612651f813d4c475c6590d0c602d94Allan Fosterimport com.sun.identity.saml2.common.SAML2Exception;
6d96e3809a612651f813d4c475c6590d0c602d94Allan Fosterimport com.sun.identity.shared.test.UnitTestBase;
6d96e3809a612651f813d4c475c6590d0c602d94Allan Fosterimport com.sun.identity.xacml.client.XACMLRequestProcessor;
6d96e3809a612651f813d4c475c6590d0c602d94Allan Fosterimport com.sun.identity.xacml.common.XACMLConstants;
6d96e3809a612651f813d4c475c6590d0c602d94Allan Fosterimport com.sun.identity.xacml.common.XACMLException;
6d96e3809a612651f813d4c475c6590d0c602d94Allan Fosterimport com.sun.identity.xacml.context.ContextFactory;
6d96e3809a612651f813d4c475c6590d0c602d94Allan Fosterimport com.sun.identity.xacml.context.Attribute;
6d96e3809a612651f813d4c475c6590d0c602d94Allan Fosterimport com.sun.identity.xacml.context.Environment;
6d96e3809a612651f813d4c475c6590d0c602d94Allan Fosterpublic class XACMLRequestProcessorTest extends UnitTestBase {
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster super("OpenFed-xacml-XACMLRequestProcessorTest");
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //@Test(groups={"xacml"}, expectedExceptions={XACMLException.class})
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //@Test(groups={"xacml"})
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster public void testGetInstance() throws XACMLException {
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster "subject.category",
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster "resource.servicename", "resource.servicename.datatype",
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster if ((subjectId == null) || (subjectId.length() == 0)) {
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster = TokenUtils.getSessionToken("/", loginId, loginPassword);
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster subjectIdType = XACMLConstants.OPENSSO_SESSION_ID;
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster Request xacmlRequest = createSampleXacmlRequest(
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster log(Level.INFO,"testProcessRequest():xacmlRequest:\n",
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster Response xacmlResponse = XACMLRequestProcessor.getInstance()
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster .processRequest(xacmlRequest, pdpEntityId, pepEntityId);
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster log(Level.INFO,"testProcessRequest():xacmlResponse:\n",
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster Request request = ContextFactory.getInstance().createRequest();
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //Subject1, access-subject
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster Subject subject1 = ContextFactory.getInstance().createSubject();
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //supported category for id
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster subject1.setSubjectCategory(new URI(subjectCategory));
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster Attribute attribute = ContextFactory.getInstance().createAttribute();
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //key attribute id
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //urn:oasis:names:tc:xacml:1.0:subject:subject-id
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //supported data type for id
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //urn:oasis:names:tc:xacml:1.0:data-type:x500Name
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //urn:sun:names:xacml:2.0:data-type:opensso-session-id
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //urn:sun:names:xacml:2.0:data-type:openfm-sp-nameid
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //set values
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster List<String> valueList = new ArrayList<String>();
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster List<Attribute> attributeList = new ArrayList<Attribute>();
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //Subject2, intermediary-subject
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster Subject subject2 = ContextFactory.getInstance().createSubject();
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster attribute = ContextFactory.getInstance().createAttribute();
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //supported data type for id
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //urn:oasis:names:tc:xacml:1.0:data-type:x500Name
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //urn:sun:names:xacml:2.0:data-type:opensso-session-id
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //urn:sun:names:xacml:2.0:data-type:openfm-sp-nameid
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //set values
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //set subjects in request
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster List<Subject> subjectList = new ArrayList<Subject>();
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster Resource resource = ContextFactory.getInstance().createResource();
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //resoruce-id attribute
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster attribute = ContextFactory.getInstance().createAttribute();
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //key attribute id
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //urn:oasis:names:tc:xacml:1.0:resource:resource-id
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //supported data type
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //set values
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //serviceName attribute
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster attribute = ContextFactory.getInstance().createAttribute();
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //additional attribute id
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //urn:sun:names:xacml:2.0:resource:target-service
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //supported data type
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //set values
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster List<Resource> resourceList = new ArrayList<Resource>();
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster Action action = ContextFactory.getInstance().createAction();
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster attribute = ContextFactory.getInstance().createAttribute();
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //key attribute id
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //urn:oasis:names:tc:xacml:1.0:action:action-id
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //supported data type
6d96e3809a612651f813d4c475c6590d0c602d94Allan Foster //Enviornment