public static V1ServiceDescription createServiceDescription( boolean requiresRegistration, int numberOfProperties) { V1ServiceDescription sd = WSRP1TypeFactory.createServiceDescription(requiresRegistration); if (requiresRegistration) { List<V1PropertyDescription> descriptions = new ArrayList<V1PropertyDescription>(numberOfProperties); for (int i = 0; i < numberOfProperties; i++) { descriptions.add( WSRP1TypeFactory.createPropertyDescription("prop" + i, WSRPConstants.XSD_STRING)); } sd.setRegistrationPropertyDescription(WSRP1TypeFactory.createModelDescription(descriptions)); } return sd; }
@Test public void testInitCookieNoRegistrationWhenRegistrationRequired() throws Exception { configureRegistrationSettings(true, false); V1InitCookie initCookie = WSRP1TypeFactory.createInitCookie(null); try { producer.initCookie(initCookie); ExtendedAssert.fail("Should have thrown InvalidRegistration!"); } catch (V1InvalidRegistration invalidRegistration) { // expected } catch (Exception e) { ExtendedAssert.fail(e.getMessage()); } }
/** * Test to make sure setting the UserContext doesn't appear in the getRemoteUser method call. * * @throws Exception */ @Test public void testGetMarkupWithUserContext() throws Exception { undeploy(DEFAULT_MARKUP_PORTLET_WAR); String userContextPortletArchive = "test-usercontext-portlet.war"; deploy(userContextPortletArchive); try { V1GetMarkup getMarkup = createMarkupRequestForCurrentlyDeployedPortlet(); getMarkup.setUserContext(WSRP1TypeFactory.createUserContext("johndoe")); V1MarkupResponse response = producer.getMarkup(getMarkup); // Since the tests are not using WS-Security, the user is not logged in and should not be // displayed when the portlet calls getRemoteUser checkMarkupResponse(response, "user: null"); } finally { undeploy(userContextPortletArchive); } }
/** * @author <a * href="mailto:[email protected]?subject=org.gatein.wsrp.test.ServiceDescriptionBehavior">Chris * Laprun</a> * @version $Revision: 11320 $ * @since 2.6 */ public class ServiceDescriptionBehavior extends TestProducerBehavior implements WSRPV1ServiceDescriptionPortType { protected V1ServiceDescription serviceDescription; private static final V1ServiceDescription DEFAULT_SERVICE_DESCRIPTION = WSRP1TypeFactory.createServiceDescription(false); public static final ServiceDescriptionBehavior DEFAULT = new ServiceDescriptionBehavior(); protected List<V1PortletDescription> offeredPortlets; private boolean requiresRegistration; private V1CookieProtocol cookieProtocol; private V1ModelDescription registrationProperties; public ServiceDescriptionBehavior() { offeredPortlets = new LinkedList<V1PortletDescription>(); } public void setRequiresRegistration(boolean requiresRegistration) { this.requiresRegistration = requiresRegistration; } public void setRequiresInitCookie(V1CookieProtocol requiresInitCookie) { this.cookieProtocol = requiresInitCookie; } public void setServiceDescription(boolean requiresRegistration, int numberOfProps) { V1ServiceDescription sd = createServiceDescription(requiresRegistration, numberOfProps); offeredPortlets = sd.getOfferedPortlets(); this.requiresRegistration = sd.isRequiresRegistration(); registrationProperties = sd.getRegistrationPropertyDescription(); } public static V1ServiceDescription getDefaultServiceDescription() { return DEFAULT_SERVICE_DESCRIPTION; } public void addPortletDescription(V1PortletDescription portletDescription) { offeredPortlets.add(portletDescription); } public Set<String> getPortletHandles() { Set<String> handles = new HashSet<String>(offeredPortlets.size()); for (V1PortletDescription description : offeredPortlets) { handles.add(description.getPortletHandle()); } return handles; } public int getPortletNumber() { return offeredPortlets.size(); } public static V1ServiceDescription createServiceDescription( boolean requiresRegistration, int numberOfProperties) { V1ServiceDescription sd = WSRP1TypeFactory.createServiceDescription(requiresRegistration); if (requiresRegistration) { List<V1PropertyDescription> descriptions = new ArrayList<V1PropertyDescription>(numberOfProperties); for (int i = 0; i < numberOfProperties; i++) { descriptions.add( WSRP1TypeFactory.createPropertyDescription("prop" + i, WSRPConstants.XSD_STRING)); } sd.setRegistrationPropertyDescription(WSRP1TypeFactory.createModelDescription(descriptions)); } return sd; } public void getServiceDescription( @WebParam(name = "registrationContext", targetNamespace = "urn:oasis:names:tc:wsrp:v1:types") V1RegistrationContext registrationContext, @WebParam(name = "desiredLocales", targetNamespace = "urn:oasis:names:tc:wsrp:v1:types") List<String> desiredLocales, @WebParam( mode = WebParam.Mode.OUT, name = "requiresRegistration", targetNamespace = "urn:oasis:names:tc:wsrp:v1:types") Holder<Boolean> requiresRegistration, @WebParam( mode = WebParam.Mode.OUT, name = "offeredPortlets", targetNamespace = "urn:oasis:names:tc:wsrp:v1:types") Holder<List<V1PortletDescription>> offeredPortlets, @WebParam( mode = WebParam.Mode.OUT, name = "userCategoryDescriptions", targetNamespace = "urn:oasis:names:tc:wsrp:v1:types") Holder<List<V1ItemDescription>> userCategoryDescriptions, @WebParam( mode = WebParam.Mode.OUT, name = "customUserProfileItemDescriptions", targetNamespace = "urn:oasis:names:tc:wsrp:v1:types") Holder<List<V1ItemDescription>> customUserProfileItemDescriptions, @WebParam( mode = WebParam.Mode.OUT, name = "customWindowStateDescriptions", targetNamespace = "urn:oasis:names:tc:wsrp:v1:types") Holder<List<V1ItemDescription>> customWindowStateDescriptions, @WebParam( mode = WebParam.Mode.OUT, name = "customModeDescriptions", targetNamespace = "urn:oasis:names:tc:wsrp:v1:types") Holder<List<V1ItemDescription>> customModeDescriptions, @WebParam( mode = WebParam.Mode.OUT, name = "requiresInitCookie", targetNamespace = "urn:oasis:names:tc:wsrp:v1:types") Holder<V1CookieProtocol> requiresInitCookie, @WebParam( mode = WebParam.Mode.OUT, name = "registrationPropertyDescription", targetNamespace = "urn:oasis:names:tc:wsrp:v1:types") Holder<V1ModelDescription> registrationPropertyDescription, @WebParam( mode = WebParam.Mode.OUT, name = "locales", targetNamespace = "urn:oasis:names:tc:wsrp:v1:types") Holder<List<String>> locales, @WebParam( mode = WebParam.Mode.OUT, name = "resourceList", targetNamespace = "urn:oasis:names:tc:wsrp:v1:types") Holder<V1ResourceList> resourceList, @WebParam( mode = WebParam.Mode.OUT, name = "extensions", targetNamespace = "urn:oasis:names:tc:wsrp:v1:types") Holder<List<V1Extension>> extensions) throws V1InvalidRegistration, V1OperationFailed { incrementCallCount(); offeredPortlets.value = this.offeredPortlets; requiresRegistration.value = this.requiresRegistration; requiresInitCookie.value = this.cookieProtocol; registrationPropertyDescription.value = registrationProperties; } }