001 /** 002 * Copyright 2005-2014 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.rice.kim.test.service; 017 018 import org.kuali.rice.core.api.config.property.ConfigContext; 019 import org.kuali.rice.kim.api.KimApiConstants; 020 import org.kuali.rice.ksb.api.KsbApiServiceLocator; 021 import org.kuali.rice.ksb.api.bus.Endpoint; 022 import org.kuali.rice.ksb.api.bus.ServiceBus; 023 024 import javax.xml.namespace.QName; 025 import java.util.List; 026 027 import static org.junit.Assert.fail; 028 029 /** 030 * Test the IdentityArchiveService via remote calls 031 * 032 * @author Kuali Rice Team (kuali-rice@googlegroups.com) 033 * 034 */ 035 public class IdentityArchiveServiceRemoteTest extends IdentityArchiveServiceTest { 036 037 public void setUp() throws Exception { 038 super.setUp(); 039 } 040 041 private int getConfigIntProp(String intPropKey) { 042 return Integer.parseInt(getConfigProp(intPropKey)); 043 } 044 045 private String getConfigProp(String propKey) { 046 return ConfigContext.getCurrentContextConfig().getProperty(propKey); 047 } 048 049 /** 050 * This method tries to get a client proxy for the specified KIM service 051 * 052 * @param svcName - name of the KIM service desired 053 * @return the proxy object 054 * @throws Exception 055 */ 056 protected Object getKimService(String svcName) throws Exception { 057 ServiceBus serviceBus = KsbApiServiceLocator.getServiceBus(); 058 List<Endpoint> endpoints = serviceBus.getRemoteEndpoints( 059 new QName(KimApiConstants.Namespaces.KIM_NAMESPACE_2_0, svcName)); 060 if (endpoints.size() > 1) { 061 fail("Found more than one RemotedServiceHolder for " + svcName); 062 } 063 Endpoint endpoint = endpoints.get(0); 064 return endpoint.getService(); 065 } 066 }