You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by al...@apache.org on 2013/12/12 01:27:32 UTC
svn commit: r1550327 [8/8] - in /juddi/branches/juddi-3.3.x: ./
juddi-client/src/main/java/org/apache/juddi/v3/client/config/
juddi-client/src/test/java/org/apache/juddi/v3/client/mapping/
juddi-core/src/main/java/org/apache/juddi/validation/ juddi-cor...
Modified: juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_150_CustodyTransferIntegrationTest.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_150_CustodyTransferIntegrationTest.java?rev=1550327&r1=1550326&r2=1550327&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_150_CustodyTransferIntegrationTest.java (original)
+++ juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_150_CustodyTransferIntegrationTest.java Thu Dec 12 00:27:31 2013
@@ -20,6 +20,7 @@ import javax.xml.datatype.DatatypeFactor
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.soap.SOAPFault;
+import javax.xml.ws.BindingProvider;
import javax.xml.ws.Holder;
import org.apache.commons.configuration.ConfigurationException;
@@ -30,6 +31,7 @@ import org.apache.juddi.v3.client.transp
import org.apache.juddi.v3.tck.TckPublisher;
import org.apache.juddi.v3.tck.TckSecurity;
import org.apache.juddi.v3.tck.TckTModel;
+import static org.apache.juddi.v3.tck.UDDI_141_JIRAIntegrationTest.publicationJoe;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
@@ -63,343 +65,374 @@ import org.uddi.v3_service.UDDISecurityP
*/
public class UDDI_150_CustodyTransferIntegrationTest {
- private static Log logger = LogFactory.getLog(UDDI_150_CustodyTransferIntegrationTest.class);
- static UDDISecurityPortType security = null;
- static UDDIInquiryPortType inquiry = null;
- static UDDIPublicationPortType publish = null;
- static UDDICustodyTransferPortType custodyTransferPortType = null;
- static TckTModel tckTModel = null;
- protected static String authInfoJoe = null;
- protected static String authInfoSam = null;
- private static UDDIClient manager;
- static final String str256 = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111";
- static final String str255 = "uddi:tmodelkey:categories:1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111";
- static final String strkey256 = "uddi:tmodelkey:categories:11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111";
- static final String strkey256_1 = "uddi:org.apache:omething.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.somethi.com";
- static final String str26 = "11111111111111111111111111";
- static final String str27 = "111111111111111111111111110";
- static final String str10 = "0123456789";
- static final String str11 = "01234567890";
- static final String str80 = "01234567890123456789012345678901234567890123456789012345678901234567890123456789";
- static final String str81 = "012345678901234567890123456789012345678901234567890123456789012345678901234567891";
- static final String TRANS = "The transaction has been rolled back";
- static final String str4096 = "12345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000XXXXXXXX";
- static final String str4097 = "12345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000XXXXXXXXZ";
- static final String str51 = "111111111111111111111111111111111111111111111111111";
- static final String str50 = "11111111111111111111111111111111111111111111111111";
- static final String MISSING_RESOURCE = "Can't find resource for bundle";
-
- @AfterClass
- public static void stopManager() throws ConfigurationException {
- manager.stop();
- }
-
- @BeforeClass
- public static void startManager() throws ConfigurationException {
- manager = new UDDIClient();
- manager.start();
-
- logger.debug("Getting auth tokens..");
- try {
- Transport transport = manager.getTransport();
- security = transport.getUDDISecurityService();
- authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
- authInfoSam = TckSecurity.getAuthToken(security, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
- Assert.assertNotNull(authInfoJoe);
- Assert.assertNotNull(authInfoSam);
-
- publish = transport.getUDDIPublishService();
- inquiry = transport.getUDDIInquiryService();
- custodyTransferPortType = transport.getUDDICustodyTransferService();
- tckTModel = new TckTModel(publish, inquiry);
-
-
- String authInfoUDDI = TckSecurity.getAuthToken(security, TckPublisher.getUDDIPublisherId(), TckPublisher.getUDDIPassword());
- tckTModel.saveUDDIPublisherTmodel(authInfoUDDI);
- tckTModel.saveTModels(authInfoUDDI, TckTModel.TMODELS_XML);
- tckTModel.saveJoePublisherTmodel(authInfoJoe);
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- Assert.fail("Could not obtain authInfo token.");
- }
- }
-
- static void HandleException(Exception ex) {
- System.err.println("Error caught of type " + ex.getClass().getCanonicalName());
- ex.printStackTrace();
- if (ex.getMessage() != null) {
- Assert.assertFalse(ex.getMessage().contains(TRANS));
- Assert.assertFalse(ex.getMessage().contains(MISSING_RESOURCE));
- }
- if (ex instanceof SOAPFault) {
- SOAPFault sf = (SOAPFault) ex;
- if (!sf.getTextContent().contains("org.apache.juddi.v3.error.ValueNotAllowedException")) {
- Assert.fail();
- }
- }
- }
-
- /**
- * tests a user to user transfer on the same node
- *
- * @throws Exception
- */
- @Test
- public void ValidTransfer() throws Exception {
- DatatypeFactory df = DatatypeFactory.newInstance();
- GregorianCalendar gcal = new GregorianCalendar();
- gcal.setTimeInMillis(System.currentTimeMillis());
- XMLGregorianCalendar xcal = df.newXMLGregorianCalendar(gcal);
-
-
- BusinessEntity myBusEntity = new BusinessEntity();
- Name myBusName = new Name();
- myBusName.setLang("en");
- myBusName.setValue("UDDI's Business" + " " + xcal.toString());
- myBusEntity.getName().add(myBusName);
- myBusEntity.setBusinessServices(new BusinessServices());
- myBusEntity.getBusinessServices().getBusinessService().add(CreateBusiness("UDDI"));
- SaveBusiness sb = new SaveBusiness();
- sb.getBusinessEntity().add(myBusEntity);
- sb.setAuthInfo(authInfoJoe);
- BusinessDetail bd = publish.saveBusiness(sb);
-
- String keyJoeBiz = bd.getBusinessEntity().get(0).getBusinessKey();
- //String keyJoeBizSvc = bd.getBusinessEntity().get(0).getBusinessServices().getBusinessService().get(0).getServiceKey();
-
-
-
- myBusEntity = new BusinessEntity();
- myBusName = new Name();
- myBusName.setLang("en");
- myBusName.setValue("Root's Business" + " " + xcal.toString());
- myBusEntity.getName().add(myBusName);
- myBusEntity.setBusinessServices(new BusinessServices());
- myBusEntity.getBusinessServices().getBusinessService().add(CreateBusiness("root"));
- sb = new SaveBusiness();
- sb.getBusinessEntity().add(myBusEntity);
- sb.setAuthInfo(authInfoSam);
- bd = publish.saveBusiness(sb);
-
- String keySamBiz = bd.getBusinessEntity().get(0).getBusinessKey();
- //String keySamBizSvc = bd.getBusinessEntity().get(0).getBusinessServices().getBusinessService().get(0).getServiceKey();
-
- //transfers from Joe to Sam
- KeyBag kb = new KeyBag();
- kb.getKey().add(keyJoeBiz);
-
- Holder<String> nodeidOUT = new Holder<String>();
- Holder<XMLGregorianCalendar> expiresOUT = new Holder<XMLGregorianCalendar>();
- Holder<byte[]> tokenOUT = new Holder<byte[]>();
- custodyTransferPortType.getTransferToken(authInfoJoe, kb, nodeidOUT, expiresOUT, tokenOUT);
-
- //sam accepts
- TransferEntities te = new TransferEntities();
- te.setAuthInfo(authInfoSam);
- te.setKeyBag(kb);
- TransferToken tt = new TransferToken();
- tt.setExpirationTime(expiresOUT.value);
- tt.setNodeID(nodeidOUT.value);
- tt.setOpaqueToken(tokenOUT.value);
- te.setTransferToken(tt);
-
- custodyTransferPortType.transferEntities(te);
-
- //confirm the transfer
- GetOperationalInfo go = new GetOperationalInfo();
- go.setAuthInfo(authInfoSam);
- go.getEntityKey().add(keySamBiz);
- go.getEntityKey().add(keyJoeBiz);
- OperationalInfos operationalInfo = inquiry.getOperationalInfo(go);
- boolean ok = false;
- for (int i = 0; i < operationalInfo.getOperationalInfo().size(); i++) {
- if (operationalInfo.getOperationalInfo().get(i).getEntityKey().equalsIgnoreCase(keyJoeBiz)) {
- Assert.assertEquals(operationalInfo.getOperationalInfo().get(i).getAuthorizedName(), (TckPublisher.getSamPublisherId()));
-
- }
- }
- System.out.println("Business Entity transfered successfull");
-
-
- }
-
- private BusinessService CreateBusiness(String root) {
- BusinessService bs = new BusinessService();
- bs.getName().add(new Name());
- bs.getName().get(0).setValue(root + "'s callback endpoint");
- bs.setBindingTemplates(new BindingTemplates());
- BindingTemplate bt = new BindingTemplate();
- bt.setAccessPoint(new AccessPoint());
- bt.getAccessPoint().setValue("http://localhost:9999/" + root);
- bt.getAccessPoint().setUseType("endPoint");
- bs.getBindingTemplates().getBindingTemplate().add(bt);
- return bs;
- }
-
- @Test
- public void InvalidTransferTokenNullKeybag() {
- try {
- //transfers from Joe to Sam
- KeyBag kb = null;
-
- Holder<String> nodeidOUT = new Holder<String>();
- Holder<XMLGregorianCalendar> expiresOUT = new Holder<XMLGregorianCalendar>();
- Holder<byte[]> tokenOUT = new Holder<byte[]>();
- custodyTransferPortType.getTransferToken(authInfoJoe, kb, nodeidOUT, expiresOUT, tokenOUT);
- Assert.fail();
- } catch (Exception ex) {
- // HandleException(ex);
- }
-
- }
-
- @Test
- public void InvalidTransferTokenEmptyKeybag() {
- try {
- //transfers from Joe to Sam
- KeyBag kb = new KeyBag();
- //kb.getKey().add(keyJoeBiz);
-
- Holder<String> nodeidOUT = new Holder<String>();
- Holder<XMLGregorianCalendar> expiresOUT = new Holder<XMLGregorianCalendar>();
- Holder<byte[]> tokenOUT = new Holder<byte[]>();
- custodyTransferPortType.getTransferToken(authInfoJoe, kb, nodeidOUT, expiresOUT, tokenOUT);
-
- Assert.fail();
- } catch (Exception ex) {
- // HandleException(ex);
- }
-
- }
-
- @Test
- public void InvalidTransferTokenEmptyNullAuthToken() {
- try {
- DatatypeFactory df = DatatypeFactory.newInstance();
- GregorianCalendar gcal = new GregorianCalendar();
- gcal.setTimeInMillis(System.currentTimeMillis());
- XMLGregorianCalendar xcal = df.newXMLGregorianCalendar(gcal);
-
-
- BusinessEntity myBusEntity = new BusinessEntity();
- Name myBusName = new Name();
- myBusName.setLang("en");
- myBusName.setValue("UDDI's Business" + " " + xcal.toString());
- myBusEntity.getName().add(myBusName);
- myBusEntity.setBusinessServices(new BusinessServices());
- myBusEntity.getBusinessServices().getBusinessService().add(CreateBusiness("UDDI"));
- SaveBusiness sb = new SaveBusiness();
- sb.getBusinessEntity().add(myBusEntity);
- sb.setAuthInfo(authInfoJoe);
- BusinessDetail bd = publish.saveBusiness(sb);
-
- String keyJoeBiz = bd.getBusinessEntity().get(0).getBusinessKey();
-
- //transfers from Joe to Sam
- KeyBag kb = new KeyBag();
- kb.getKey().add(keyJoeBiz);
-
- Holder<String> nodeidOUT = new Holder<String>();
- Holder<XMLGregorianCalendar> expiresOUT = new Holder<XMLGregorianCalendar>();
- Holder<byte[]> tokenOUT = new Holder<byte[]>();
- custodyTransferPortType.getTransferToken(null, kb, nodeidOUT, expiresOUT, tokenOUT);
-
- Assert.fail();
- } catch (Exception ex) {
- // HandleException(ex);
- }
-
- }
-
- @Test
- public void InvalidTransferTokenModified() {
- try {
- DatatypeFactory df = DatatypeFactory.newInstance();
- GregorianCalendar gcal = new GregorianCalendar();
- gcal.setTimeInMillis(System.currentTimeMillis());
- XMLGregorianCalendar xcal = df.newXMLGregorianCalendar(gcal);
-
-
- BusinessEntity myBusEntity = new BusinessEntity();
- Name myBusName = new Name();
- myBusName.setLang("en");
- myBusName.setValue("UDDI's Business" + " " + xcal.toString());
- myBusEntity.getName().add(myBusName);
- myBusEntity.setBusinessServices(new BusinessServices());
- myBusEntity.getBusinessServices().getBusinessService().add(CreateBusiness("UDDI"));
- SaveBusiness sb = new SaveBusiness();
- sb.getBusinessEntity().add(myBusEntity);
- sb.setAuthInfo(authInfoJoe);
- BusinessDetail bd = publish.saveBusiness(sb);
-
- String keyJoeBiz = bd.getBusinessEntity().get(0).getBusinessKey();
- //String keyJoeBizSvc = bd.getBusinessEntity().get(0).getBusinessServices().getBusinessService().get(0).getServiceKey();
-
-
-
- myBusEntity = new BusinessEntity();
- myBusName = new Name();
- myBusName.setLang("en");
- myBusName.setValue("Root's Business" + " " + xcal.toString());
- myBusEntity.getName().add(myBusName);
- myBusEntity.setBusinessServices(new BusinessServices());
- myBusEntity.getBusinessServices().getBusinessService().add(CreateBusiness("root"));
- sb = new SaveBusiness();
- sb.getBusinessEntity().add(myBusEntity);
- sb.setAuthInfo(authInfoSam);
- bd = publish.saveBusiness(sb);
-
- String keySamBiz = bd.getBusinessEntity().get(0).getBusinessKey();
- //String keySamBizSvc = bd.getBusinessEntity().get(0).getBusinessServices().getBusinessService().get(0).getServiceKey();
-
- //transfers from Joe to Sam
- KeyBag kb = new KeyBag();
- kb.getKey().add(keyJoeBiz);
-
- Holder<String> nodeidOUT = new Holder<String>();
- Holder<XMLGregorianCalendar> expiresOUT = new Holder<XMLGregorianCalendar>();
- Holder<byte[]> tokenOUT = new Holder<byte[]>();
- custodyTransferPortType.getTransferToken(authInfoJoe, kb, nodeidOUT, expiresOUT, tokenOUT);
-
-
- //sam accepts
- TransferEntities te = new TransferEntities();
- te.setAuthInfo(authInfoSam);
- te.setKeyBag(kb);
- te.getKeyBag().getKey().add("uddi:uddi.joepublisher.com:" + UUID.randomUUID().toString());
- TransferToken tt = new TransferToken();
- tt.setExpirationTime(expiresOUT.value);
- tt.setNodeID(nodeidOUT.value);
- tt.setOpaqueToken(tokenOUT.value);
- te.setTransferToken(tt);
-
- custodyTransferPortType.transferEntities(te);
- Assert.fail();
- } catch (Exception ex) {
- // HandleException(ex);
- }
-
- }
-
- @Test
- public void InvalidTransferTokenServiceDoesntExist() throws Exception {
- try {
- //transfers from Joe to Sam
- KeyBag kb = new KeyBag();
- kb.getKey().add("uddi:uddi.joepublisher.com:" + UUID.randomUUID().toString());
-
- Holder<String> nodeidOUT = new Holder<String>();
- Holder<XMLGregorianCalendar> expiresOUT = new Holder<XMLGregorianCalendar>();
- Holder<byte[]> tokenOUT = new Holder<byte[]>();
- custodyTransferPortType.getTransferToken(authInfoJoe, kb, nodeidOUT, expiresOUT, tokenOUT);
- Assert.fail();
- } catch (Exception ex) {
- //HandleException(ex);
- }
- }
-
- @Test
- public void ExpiredTransferToken() {
- //TODO
- }
+ private static Log logger = LogFactory.getLog(UDDI_150_CustodyTransferIntegrationTest.class);
+ static UDDISecurityPortType security = null;
+ static UDDIInquiryPortType inquiryJoe = null;
+ static UDDIPublicationPortType publishJoe = null;
+ static UDDICustodyTransferPortType custodyTransferPortTypeJoe = null;
+ static TckTModel tckTModelJoe = null;
+ static UDDIInquiryPortType inquirySam = null;
+ static UDDIPublicationPortType publishSam = null;
+ static UDDICustodyTransferPortType custodyTransferPortTypeSam = null;
+ protected static String authInfoJoe = null;
+ protected static String authInfoSam = null;
+ private static UDDIClient manager;
+ static final String str256 = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111";
+ static final String str255 = "uddi:tmodelkey:categories:1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111";
+ static final String strkey256 = "uddi:tmodelkey:categories:11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111";
+ static final String strkey256_1 = "uddi:org.apache:omething.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.somethi.com";
+ static final String str26 = "11111111111111111111111111";
+ static final String str27 = "111111111111111111111111110";
+ static final String str10 = "0123456789";
+ static final String str11 = "01234567890";
+ static final String str80 = "01234567890123456789012345678901234567890123456789012345678901234567890123456789";
+ static final String str81 = "012345678901234567890123456789012345678901234567890123456789012345678901234567891";
+ static final String TRANS = "The transaction has been rolled back";
+ static final String str4096 = "1234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000XXXXXXXX";
+ static final String str4097 = "1234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000XXXXXXXXZ";
+ static final String str51 = "111111111111111111111111111111111111111111111111111";
+ static final String str50 = "11111111111111111111111111111111111111111111111111";
+ static final String MISSING_RESOURCE = "Can't find resource for bundle";
+
+ @AfterClass
+ public static void stopManager() throws ConfigurationException {
+ manager.stop();
+ }
+
+ @BeforeClass
+ public static void startManager() throws ConfigurationException {
+ manager = new UDDIClient();
+ manager.start();
+
+ logger.debug("Getting auth tokens..");
+ try {
+ Transport transport = manager.getTransport();
+ security = transport.getUDDISecurityService();
+ authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+ authInfoSam = TckSecurity.getAuthToken(security, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
+ //Assert.assertNotNull(authInfoJoe);
+ //Assert.assertNotNull(authInfoSam);
+
+
+ publishJoe = transport.getUDDIPublishService();
+ inquiryJoe = transport.getUDDIInquiryService();
+ custodyTransferPortTypeJoe = transport.getUDDICustodyTransferService();
+
+ if (!TckPublisher.isUDDIAuthMode()) {
+ TckSecurity.setCredentials((BindingProvider) publicationJoe, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+ TckSecurity.setCredentials((BindingProvider) inquiryJoe, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+ TckSecurity.setCredentials((BindingProvider) custodyTransferPortTypeJoe, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+ }
+
+ tckTModelJoe = new TckTModel(publishJoe, inquiryJoe);
+
+ transport = manager.getTransport();
+ publishSam = transport.getUDDIPublishService();
+ inquirySam = transport.getUDDIInquiryService();
+ custodyTransferPortTypeSam = transport.getUDDICustodyTransferService();
+ if (!TckPublisher.isUDDIAuthMode()) {
+ TckSecurity.setCredentials((BindingProvider) publicationJoe, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
+ TckSecurity.setCredentials((BindingProvider) inquiryJoe, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
+ TckSecurity.setCredentials((BindingProvider) custodyTransferPortTypeJoe, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
+ }
+
+ transport = manager.getTransport();
+ UDDIPublicationPortType uddiPublishService = transport.getUDDIPublishService();
+ UDDIInquiryPortType uddiInquiryService = transport.getUDDIInquiryService();
+ if (!TckPublisher.isUDDIAuthMode()) {
+ TckSecurity.setCredentials((BindingProvider) publicationJoe, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
+ TckSecurity.setCredentials((BindingProvider) inquiryJoe, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
+ TckSecurity.setCredentials((BindingProvider) custodyTransferPortTypeJoe, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
+ }
+
+ TckTModel tckTModelUDDI= new TckTModel(uddiPublishService, uddiInquiryService);
+ String authInfoUDDI = TckSecurity.getAuthToken(security, TckPublisher.getUDDIPublisherId(), TckPublisher.getUDDIPassword());
+ tckTModelUDDI.saveUDDIPublisherTmodel(authInfoUDDI);
+ tckTModelUDDI.saveTModels(authInfoUDDI, TckTModel.TMODELS_XML);
+
+ tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ Assert.fail("Could not obtain authInfo token.");
+ }
+ }
+
+ static void HandleException(Exception ex) {
+ System.err.println("Error caught of type " + ex.getClass().getCanonicalName());
+ ex.printStackTrace();
+ if (ex.getMessage() != null) {
+ Assert.assertFalse(ex.getMessage().contains(TRANS));
+ Assert.assertFalse(ex.getMessage().contains(MISSING_RESOURCE));
+ }
+ if (ex instanceof SOAPFault) {
+ SOAPFault sf = (SOAPFault) ex;
+ if (!sf.getTextContent().contains("org.apache.juddi.v3.error.ValueNotAllowedException")) {
+ Assert.fail();
+ }
+ }
+ }
+
+ /**
+ * tests a user to user transfer on the same node
+ *
+ * @throws Exception
+ */
+ @Test
+ public void ValidTransfer() throws Exception {
+ DatatypeFactory df = DatatypeFactory.newInstance();
+ GregorianCalendar gcal = new GregorianCalendar();
+ gcal.setTimeInMillis(System.currentTimeMillis());
+ XMLGregorianCalendar xcal = df.newXMLGregorianCalendar(gcal);
+
+
+ BusinessEntity myBusEntity = new BusinessEntity();
+ Name myBusName = new Name();
+ myBusName.setLang("en");
+ myBusName.setValue("UDDI's Business" + " " + xcal.toString());
+ myBusEntity.getName().add(myBusName);
+ myBusEntity.setBusinessServices(new BusinessServices());
+ myBusEntity.getBusinessServices().getBusinessService().add(CreateBusiness("UDDI"));
+ SaveBusiness sb = new SaveBusiness();
+ sb.getBusinessEntity().add(myBusEntity);
+ sb.setAuthInfo(authInfoJoe);
+ BusinessDetail bd = publishJoe.saveBusiness(sb);
+
+ String keyJoeBiz = bd.getBusinessEntity().get(0).getBusinessKey();
+ //String keyJoeBizSvc = bd.getBusinessEntity().get(0).getBusinessServices().getBusinessService().get(0).getServiceKey();
+
+
+
+ myBusEntity = new BusinessEntity();
+ myBusName = new Name();
+ myBusName.setLang("en");
+ myBusName.setValue("Root's Business" + " " + xcal.toString());
+ myBusEntity.getName().add(myBusName);
+ myBusEntity.setBusinessServices(new BusinessServices());
+ myBusEntity.getBusinessServices().getBusinessService().add(CreateBusiness("root"));
+ sb = new SaveBusiness();
+ sb.getBusinessEntity().add(myBusEntity);
+ sb.setAuthInfo(authInfoSam);
+ bd = publishSam.saveBusiness(sb);
+
+ String keySamBiz = bd.getBusinessEntity().get(0).getBusinessKey();
+ //String keySamBizSvc = bd.getBusinessEntity().get(0).getBusinessServices().getBusinessService().get(0).getServiceKey();
+
+ //transfers from Joe to Sam
+ KeyBag kb = new KeyBag();
+ kb.getKey().add(keyJoeBiz);
+
+ Holder<String> nodeidOUT = new Holder<String>();
+ Holder<XMLGregorianCalendar> expiresOUT = new Holder<XMLGregorianCalendar>();
+ Holder<byte[]> tokenOUT = new Holder<byte[]>();
+ custodyTransferPortTypeJoe.getTransferToken(authInfoJoe, kb, nodeidOUT, expiresOUT, tokenOUT);
+
+ //sam accepts
+ TransferEntities te = new TransferEntities();
+ te.setAuthInfo(authInfoSam);
+ te.setKeyBag(kb);
+ TransferToken tt = new TransferToken();
+ tt.setExpirationTime(expiresOUT.value);
+ tt.setNodeID(nodeidOUT.value);
+ tt.setOpaqueToken(tokenOUT.value);
+ te.setTransferToken(tt);
+
+ custodyTransferPortTypeSam.transferEntities(te);
+
+ //confirm the transfer
+ GetOperationalInfo go = new GetOperationalInfo();
+ go.setAuthInfo(authInfoSam);
+ go.getEntityKey().add(keySamBiz);
+ go.getEntityKey().add(keyJoeBiz);
+ OperationalInfos operationalInfo = inquirySam.getOperationalInfo(go);
+ boolean ok = false;
+ for (int i = 0; i < operationalInfo.getOperationalInfo().size(); i++) {
+ if (operationalInfo.getOperationalInfo().get(i).getEntityKey().equalsIgnoreCase(keyJoeBiz)) {
+ Assert.assertEquals(operationalInfo.getOperationalInfo().get(i).getAuthorizedName(), (TckPublisher.getSamPublisherId()));
+
+ }
+ }
+ System.out.println("Business Entity transfered successfull");
+
+
+ }
+
+ private BusinessService CreateBusiness(String root) {
+ BusinessService bs = new BusinessService();
+ bs.getName().add(new Name());
+ bs.getName().get(0).setValue(root + "'s callback endpoint");
+ bs.setBindingTemplates(new BindingTemplates());
+ BindingTemplate bt = new BindingTemplate();
+ bt.setAccessPoint(new AccessPoint());
+ bt.getAccessPoint().setValue("http://localhost:9999/" + root);
+ bt.getAccessPoint().setUseType("endPoint");
+ bs.getBindingTemplates().getBindingTemplate().add(bt);
+ return bs;
+ }
+
+ @Test
+ public void InvalidTransferTokenNullKeybag() {
+ try {
+ //transfers from Joe to Sam
+ KeyBag kb = null;
+
+ Holder<String> nodeidOUT = new Holder<String>();
+ Holder<XMLGregorianCalendar> expiresOUT = new Holder<XMLGregorianCalendar>();
+ Holder<byte[]> tokenOUT = new Holder<byte[]>();
+ custodyTransferPortTypeJoe.getTransferToken(authInfoJoe, kb, nodeidOUT, expiresOUT, tokenOUT);
+ Assert.fail();
+ } catch (Exception ex) {
+ // HandleException(ex);
+ }
+
+ }
+
+ @Test
+ public void InvalidTransferTokenEmptyKeybag() {
+ try {
+ //transfers from Joe to Sam
+ KeyBag kb = new KeyBag();
+ //kb.getKey().add(keyJoeBiz);
+
+ Holder<String> nodeidOUT = new Holder<String>();
+ Holder<XMLGregorianCalendar> expiresOUT = new Holder<XMLGregorianCalendar>();
+ Holder<byte[]> tokenOUT = new Holder<byte[]>();
+ custodyTransferPortTypeJoe.getTransferToken(authInfoJoe, kb, nodeidOUT, expiresOUT, tokenOUT);
+
+ Assert.fail();
+ } catch (Exception ex) {
+ // HandleException(ex);
+ }
+
+ }
+
+ @Test
+ public void InvalidTransferTokenEmptyNullAuthToken() {
+ try {
+ DatatypeFactory df = DatatypeFactory.newInstance();
+ GregorianCalendar gcal = new GregorianCalendar();
+ gcal.setTimeInMillis(System.currentTimeMillis());
+ XMLGregorianCalendar xcal = df.newXMLGregorianCalendar(gcal);
+
+
+ BusinessEntity myBusEntity = new BusinessEntity();
+ Name myBusName = new Name();
+ myBusName.setLang("en");
+ myBusName.setValue("UDDI's Business" + " " + xcal.toString());
+ myBusEntity.getName().add(myBusName);
+ myBusEntity.setBusinessServices(new BusinessServices());
+ myBusEntity.getBusinessServices().getBusinessService().add(CreateBusiness("UDDI"));
+ SaveBusiness sb = new SaveBusiness();
+ sb.getBusinessEntity().add(myBusEntity);
+ sb.setAuthInfo(authInfoJoe);
+ BusinessDetail bd = publishJoe.saveBusiness(sb);
+
+ String keyJoeBiz = bd.getBusinessEntity().get(0).getBusinessKey();
+
+ //transfers from Joe to Sam
+ KeyBag kb = new KeyBag();
+ kb.getKey().add(keyJoeBiz);
+
+ Holder<String> nodeidOUT = new Holder<String>();
+ Holder<XMLGregorianCalendar> expiresOUT = new Holder<XMLGregorianCalendar>();
+ Holder<byte[]> tokenOUT = new Holder<byte[]>();
+ custodyTransferPortTypeJoe.getTransferToken(null, kb, nodeidOUT, expiresOUT, tokenOUT);
+
+ Assert.fail();
+ } catch (Exception ex) {
+ // HandleException(ex);
+ }
+
+ }
+
+ @Test
+ public void InvalidTransferTokenModified() {
+ try {
+ DatatypeFactory df = DatatypeFactory.newInstance();
+ GregorianCalendar gcal = new GregorianCalendar();
+ gcal.setTimeInMillis(System.currentTimeMillis());
+ XMLGregorianCalendar xcal = df.newXMLGregorianCalendar(gcal);
+
+
+ BusinessEntity myBusEntity = new BusinessEntity();
+ Name myBusName = new Name();
+ myBusName.setLang("en");
+ myBusName.setValue("UDDI's Business" + " " + xcal.toString());
+ myBusEntity.getName().add(myBusName);
+ myBusEntity.setBusinessServices(new BusinessServices());
+ myBusEntity.getBusinessServices().getBusinessService().add(CreateBusiness("UDDI"));
+ SaveBusiness sb = new SaveBusiness();
+ sb.getBusinessEntity().add(myBusEntity);
+ sb.setAuthInfo(authInfoJoe);
+ BusinessDetail bd = publishJoe.saveBusiness(sb);
+
+ String keyJoeBiz = bd.getBusinessEntity().get(0).getBusinessKey();
+ //String keyJoeBizSvc = bd.getBusinessEntity().get(0).getBusinessServices().getBusinessService().get(0).getServiceKey();
+
+
+
+ myBusEntity = new BusinessEntity();
+ myBusName = new Name();
+ myBusName.setLang("en");
+ myBusName.setValue("Root's Business" + " " + xcal.toString());
+ myBusEntity.getName().add(myBusName);
+ myBusEntity.setBusinessServices(new BusinessServices());
+ myBusEntity.getBusinessServices().getBusinessService().add(CreateBusiness("root"));
+ sb = new SaveBusiness();
+ sb.getBusinessEntity().add(myBusEntity);
+ sb.setAuthInfo(authInfoSam);
+ bd = publishSam.saveBusiness(sb);
+
+ String keySamBiz = bd.getBusinessEntity().get(0).getBusinessKey();
+ //String keySamBizSvc = bd.getBusinessEntity().get(0).getBusinessServices().getBusinessService().get(0).getServiceKey();
+
+ //transfers from Joe to Sam
+ KeyBag kb = new KeyBag();
+ kb.getKey().add(keyJoeBiz);
+
+ Holder<String> nodeidOUT = new Holder<String>();
+ Holder<XMLGregorianCalendar> expiresOUT = new Holder<XMLGregorianCalendar>();
+ Holder<byte[]> tokenOUT = new Holder<byte[]>();
+ custodyTransferPortTypeJoe.getTransferToken(authInfoJoe, kb, nodeidOUT, expiresOUT, tokenOUT);
+
+
+ //sam accepts
+ TransferEntities te = new TransferEntities();
+ te.setAuthInfo(authInfoSam);
+ te.setKeyBag(kb);
+ te.getKeyBag().getKey().add("uddi:uddi.joepublisher.com:" + UUID.randomUUID().toString());
+ TransferToken tt = new TransferToken();
+ tt.setExpirationTime(expiresOUT.value);
+ tt.setNodeID(nodeidOUT.value);
+ tt.setOpaqueToken(tokenOUT.value);
+ te.setTransferToken(tt);
+
+ custodyTransferPortTypeSam.transferEntities(te);
+ Assert.fail();
+ } catch (Exception ex) {
+ // HandleException(ex);
+ }
+
+ }
+
+ @Test
+ public void InvalidTransferTokenServiceDoesntExist() throws Exception {
+ try {
+ //transfers from Joe to Sam
+ KeyBag kb = new KeyBag();
+ kb.getKey().add("uddi:uddi.joepublisher.com:" + UUID.randomUUID().toString());
+
+ Holder<String> nodeidOUT = new Holder<String>();
+ Holder<XMLGregorianCalendar> expiresOUT = new Holder<XMLGregorianCalendar>();
+ Holder<byte[]> tokenOUT = new Holder<byte[]>();
+ custodyTransferPortTypeJoe.getTransferToken(authInfoJoe, kb, nodeidOUT, expiresOUT, tokenOUT);
+ Assert.fail();
+ } catch (Exception ex) {
+ //HandleException(ex);
+ }
+ }
+
+ @Test
+ public void ExpiredTransferToken() {
+ //TODO
+ }
}
Copied: juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_160_RESTIntergrationTest.java (from r1549359, juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_020_RESTIntergrationTest.java)
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_160_RESTIntergrationTest.java?p2=juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_160_RESTIntergrationTest.java&p1=juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_020_RESTIntergrationTest.java&r1=1549359&r2=1550327&rev=1550327&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_020_RESTIntergrationTest.java (original)
+++ juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_160_RESTIntergrationTest.java Thu Dec 12 00:27:31 2013
@@ -15,6 +15,10 @@
*/
package org.apache.juddi.v3.tck;
+import java.rmi.RemoteException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.xml.bind.JAXB;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -22,25 +26,40 @@ import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.juddi.v3.client.UDDIConstants;
import org.apache.juddi.v3.client.config.UDDIClient;
import org.apache.juddi.v3.client.transport.Transport;
-import org.apache.juddi.v3_service.JUDDIApiPortType;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Assume;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.uddi.api_v3.GetAuthToken;
-import org.uddi.v3_service.UDDISecurityPortType;
+import org.uddi.api_v3.BindingTemplate;
+import org.uddi.api_v3.BusinessEntity;
+import org.uddi.api_v3.BusinessList;
+import org.uddi.api_v3.BusinessService;
+import org.uddi.api_v3.FindBinding;
+import org.uddi.api_v3.FindBusiness;
+import org.uddi.api_v3.FindQualifiers;
+import org.uddi.api_v3.FindService;
+import org.uddi.api_v3.FindTModel;
+import org.uddi.api_v3.GetServiceDetail;
+import org.uddi.api_v3.Name;
+import org.uddi.api_v3.ServiceDetail;
+import org.uddi.api_v3.ServiceList;
+import org.uddi.api_v3.TModel;
+import org.uddi.api_v3.TModelList;
+import org.uddi.v3_service.DispositionReportFaultMessage;
+import org.uddi.v3_service.UDDIInquiryPortType;
/**
+ * Optional HTTP GET, REST style web services for UDDI
*
* @author Alex O'Ree
*/
-public class JUDDI_020_RESTIntergrationTest {
+public class UDDI_160_RESTIntergrationTest {
- private static UDDISecurityPortType security = null;
- private static JUDDIApiPortType publisher = null;
+ private static UDDIInquiryPortType inquiry = null;
private static Log logger = LogFactory.getLog(JUDDI_100_ClientSubscriptionInfoTest.class);
private static String authInfo = null;
private static UDDIClient manager;
@@ -51,18 +70,9 @@ public class JUDDI_020_RESTIntergrationT
manager = new UDDIClient();
manager.start();
-
- logger.debug("Getting auth tokens..");
try {
Transport transport = manager.getTransport();
-
- security = transport.getUDDISecurityService();
- GetAuthToken getAuthToken = new GetAuthToken();
- getAuthToken.setUserID(TckPublisher.getRootPublisherId());
- getAuthToken.setCred(TckPublisher.getRootPassword());
- authInfo = security.getAuthToken(getAuthToken).getAuthInfo();
-
- publisher = transport.getJUDDIApiService();
+ inquiry = transport.getUDDIInquiryService();
} catch (Exception e) {
logger.error(e.getMessage(), e);
Assert.fail("Could not obtain authInfo token.");
@@ -74,13 +84,161 @@ public class JUDDI_020_RESTIntergrationT
manager.stop();
}
+ /*@Test
+ public void InquiryREST_WADL_GET() throws Exception {
+ Assume.assumeTrue(TckPublisher.isInquiryRestEnabled());
+
+ String url = manager.getClientConfig().getHomeNode().getInquiry_REST_Url();
+ Assume.assumeNotNull(url);
+ HttpClient client = new DefaultHttpClient();
+ HttpGet httpGet = new HttpGet(url + "?_wadl");
+ HttpResponse response = client.execute(httpGet);
+ Assert.assertTrue(response.getStatusLine().getStatusCode() == 200);
+
+ }*/
@Test
- public void BusinessREST_GET() throws Exception {
+ public void InquiryREST_GET_Business() throws Exception {
+ Assume.assumeTrue(TckPublisher.isInquiryRestEnabled());
+ FindBusiness fb = new FindBusiness();
+ fb.setMaxRows(1);
+ fb.getName().add(new Name(UDDIConstants.WILDCARD, null));
+ fb.setFindQualifiers(new FindQualifiers());
+ fb.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
+ BusinessList findBusiness = inquiry.findBusiness(fb);
+ Assume.assumeTrue(findBusiness != null);
+ Assume.assumeTrue(findBusiness.getBusinessInfos() != null);
+ Assume.assumeTrue(!findBusiness.getBusinessInfos().getBusinessInfo().isEmpty());
+
String url = manager.getClientConfig().getHomeNode().getInquiry_REST_Url();
+
Assume.assumeNotNull(url);
HttpClient client = new DefaultHttpClient();
- HttpGet httpGet = new HttpGet(url + "?wadl");
+ HttpGet httpGet = new HttpGet(url + "businessKey?" + findBusiness.getBusinessInfos().getBusinessInfo().get(0).getBusinessKey());
HttpResponse response = client.execute(httpGet);
+ Assert.assertTrue(response.getStatusLine().getStatusCode() == 200);
+ BusinessEntity unmarshal = JAXB.unmarshal(response.getEntity().getContent(), BusinessEntity.class);
+ Assert.assertNotNull(unmarshal);
+ Assert.assertEquals(unmarshal.getBusinessKey(), findBusiness.getBusinessInfos().getBusinessInfo().get(0).getBusinessKey());
+
+
+ }
+
+ @Test
+ public void InquiryREST_GET_TModel() throws Exception {
+ Assume.assumeTrue(TckPublisher.isInquiryRestEnabled());
+ FindTModel fb = new FindTModel();
+ fb.setMaxRows(1);
+ fb.setName(new Name(UDDIConstants.WILDCARD, null));
+ fb.setFindQualifiers(new FindQualifiers());
+ fb.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
+ TModelList findTModel = inquiry.findTModel(fb);
+ Assume.assumeTrue(findTModel != null);
+ Assume.assumeTrue(findTModel.getTModelInfos() != null);
+ Assume.assumeTrue(!findTModel.getTModelInfos().getTModelInfo().isEmpty());
+
+ String url = manager.getClientConfig().getHomeNode().getInquiry_REST_Url();
+
+ Assume.assumeNotNull(url);
+ HttpClient client = new DefaultHttpClient();
+ HttpGet httpGet = new HttpGet(url + "tModelKey?" + findTModel.getTModelInfos().getTModelInfo().get(0).getTModelKey());
+ HttpResponse response = client.execute(httpGet);
+ Assert.assertTrue(response.getStatusLine().getStatusCode() == 200);
+ TModel unmarshal = JAXB.unmarshal(response.getEntity().getContent(), TModel.class);
+ Assert.assertNotNull(unmarshal);
+ Assert.assertEquals(unmarshal.getTModelKey(), findTModel.getTModelInfos().getTModelInfo().get(0).getTModelKey());
+
+
+ }
+
+ @Test
+ public void InquiryREST_GET_Service() throws Exception {
+ Assume.assumeTrue(TckPublisher.isInquiryRestEnabled());
+ FindService fb = new FindService();
+ fb.setMaxRows(1);
+ fb.getName().add(new Name(UDDIConstants.WILDCARD, null));
+ fb.setFindQualifiers(new FindQualifiers());
+ fb.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
+ ServiceList findService = inquiry.findService(fb);
+ Assume.assumeTrue(findService != null);
+ Assume.assumeTrue(findService.getServiceInfos() != null);
+ Assume.assumeTrue(!findService.getServiceInfos().getServiceInfo().isEmpty());
+
+ String url = manager.getClientConfig().getHomeNode().getInquiry_REST_Url();
+
+ Assume.assumeNotNull(url);
+ HttpClient client = new DefaultHttpClient();
+ HttpGet httpGet = new HttpGet(url + "tModelKey?" + findService.getServiceInfos().getServiceInfo().get(0).getServiceKey());
+ HttpResponse response = client.execute(httpGet);
+ Assert.assertTrue(response.getStatusLine().getStatusCode() == 200);
+ BusinessService unmarshal = JAXB.unmarshal(response.getEntity().getContent(), BusinessService.class);
+ Assert.assertNotNull(unmarshal);
+ Assert.assertEquals(unmarshal.getServiceKey(), findService.getServiceInfos().getServiceInfo().get(0).getServiceKey());
+
+
+ }
+
+ private BindingTemplate getFirstBindingTemplate() {
+ try {
+ int fetch = 10;
+ int offset = 0;
+ FindService fb = new FindService();
+ fb.setMaxRows(fetch);
+ fb.setListHead(offset);
+ fb.getName().add(new Name(UDDIConstants.WILDCARD, null));
+ fb.setFindQualifiers(new FindQualifiers());
+ fb.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
+ ServiceList findService = inquiry.findService(fb);
+ int returnedcount = findService.getServiceInfos().getServiceInfo().size();
+ do {
+ for (int i = 0; i < findService.getServiceInfos().getServiceInfo().size(); i++) {
+ GetServiceDetail gsd = new GetServiceDetail();
+ gsd.getServiceKey().add(findService.getServiceInfos().getServiceInfo().get(i).getServiceKey());
+ ServiceDetail serviceDetail = inquiry.getServiceDetail(gsd);
+ if (serviceDetail.getBusinessService().get(0).getBindingTemplates() != null
+ && !serviceDetail.getBusinessService().get(0).getBindingTemplates().getBindingTemplate().isEmpty()) {
+ return serviceDetail.getBusinessService().get(0).getBindingTemplates().getBindingTemplate().get(0);
+ }
+
+ }
+ offset = fetch;
+ fetch = fetch + 10;
+ fb = new FindService();
+ fb.setMaxRows(fetch);
+ fb.setListHead(offset);
+ fb.getName().add(new Name(UDDIConstants.WILDCARD, null));
+ fb.setFindQualifiers(new FindQualifiers());
+ fb.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
+ findService = inquiry.findService(fb);
+ returnedcount = findService.getServiceInfos().getServiceInfo().size();
+
+ } while (returnedcount > 0);
+ } catch (DispositionReportFaultMessage ex) {
+ Logger.getLogger(UDDI_160_RESTIntergrationTest.class.getName()).log(Level.SEVERE, null, ex);
+ } catch (RemoteException ex) {
+ Logger.getLogger(UDDI_160_RESTIntergrationTest.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ return null;
+ }
+
+ @Test
+ public void InquiryREST_GET_Binding() throws Exception {
+ Assume.assumeTrue(TckPublisher.isInquiryRestEnabled());
+ BindingTemplate bt = getFirstBindingTemplate();
+ Assume.assumeTrue(bt != null);
+
+ String url = manager.getClientConfig().getHomeNode().getInquiry_REST_Url();
+
+ Assume.assumeNotNull(url);
+ HttpClient client = new DefaultHttpClient();
+ HttpGet httpGet = new HttpGet(url + "bindingKey?" + bt.getBindingKey());
+ HttpResponse response = client.execute(httpGet);
+ Assert.assertTrue(response.getStatusLine().getStatusCode() == 200);
+ BindingTemplate unmarshal = JAXB.unmarshal(response.getEntity().getContent(), BindingTemplate.class);
+ Assert.assertNotNull(unmarshal);
+ Assert.assertEquals(unmarshal.getServiceKey(), bt.getServiceKey());
+ Assert.assertEquals(unmarshal.getBindingKey(), bt.getBindingKey());
+
+
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org