Repository: juddi Updated Branches: refs/heads/master 4c7e798b7 -> a866ea020
http://git-wip-us.apache.org/repos/asf/juddi/blob/a866ea02/juddi-core/src/test/java/org/apache/juddi/api/impl/API_150_ValueSetValidationTest.java ---------------------------------------------------------------------- diff --git a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_150_ValueSetValidationTest.java b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_150_ValueSetValidationTest.java index 643ce81..54c9399 100644 --- a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_150_ValueSetValidationTest.java +++ b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_150_ValueSetValidationTest.java @@ -17,6 +17,7 @@ package org.apache.juddi.api.impl; import java.util.ArrayList; import java.util.List; +import java.util.UUID; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -32,16 +33,24 @@ import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; +import org.uddi.api_v3.AccessPoint; import org.uddi.api_v3.BindingDetail; +import org.uddi.api_v3.BindingTemplate; +import org.uddi.api_v3.BusinessDetail; import org.uddi.api_v3.BusinessEntity; +import org.uddi.api_v3.BusinessService; +import org.uddi.api_v3.BusinessServices; import org.uddi.api_v3.CategoryBag; import org.uddi.api_v3.Description; import org.uddi.api_v3.GetBindingDetail; +import org.uddi.api_v3.IdentifierBag; import org.uddi.api_v3.KeyedReference; import org.uddi.api_v3.Name; +import org.uddi.api_v3.SaveBinding; import org.uddi.api_v3.SaveBusiness; import org.uddi.api_v3.SaveTModel; import org.uddi.api_v3.TModel; +import org.uddi.api_v3.TModelDetail; import org.uddi.api_v3.TModelInstanceDetails; import org.uddi.v3_service.UDDIInquiryPortType; import org.uddi.v3_service.UDDIPublicationPortType; @@ -61,6 +70,7 @@ public class API_150_ValueSetValidationTest { static UDDIValueSetValidationImpl vsv = new UDDIValueSetValidationImpl(); static TckTModel tckTModel = new TckTModel(new UDDIPublicationImpl(), new UDDIInquiryImpl()); protected static String authInfoJoe = null; + protected static String authInfoMary = null; protected static String authInfoSam = null; protected static String authInfoRoot = null; protected static String authInfoUDDI = null; @@ -77,6 +87,7 @@ public class API_150_ValueSetValidationTest { logger.debug("Getting auth tokens.."); try { authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword()); + authInfoMary = TckSecurity.getAuthToken(security, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword()); authInfoSam = TckSecurity.getAuthToken(security, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword()); authInfoRoot = TckSecurity.getAuthToken(security, TckPublisher.getRootPublisherId(), TckPublisher.getRootPassword()); authInfoUDDI = TckSecurity.getAuthToken(security, TckPublisher.getUDDIPublisherId(), TckPublisher.getUDDIPassword()); @@ -123,42 +134,35 @@ public class API_150_ValueSetValidationTest { //register business/service/bt for validatevalues service //this is done by the install process using the built in vsv - //add/alter BT to include instance info for ref to tmodel checked //turns out we don't need this either, its in the default install data //AlterRootBusiness(); - //configure jUDDI API service to "set" the valid values //SaveVSVValues(TckTModel.JOE_PUBLISHER_KEY_PREFIX + TMODEL); - //add a new service for joe, reference the checked tmodel with an invalid token - - SaveBusiness(authInfoJoe, true,TMODEL); + SaveBusiness(authInfoJoe, true, TMODEL); //add a new service for joe, reference the checked tmodel with invalid token } + @Ignore @Test(expected = ValueNotAllowedException.class) public void Scenario1Invalid() throws Exception { //create checked tmodel x //logger.info("Saving checked tModel"); - // SaveCheckedTModel(TckTModel.JOE_PUBLISHER_KEY_PREFIX + TMODEL); + // SaveCheckedTModel(TckTModel.JOE_PUBLISHER_KEY_PREFIX + TMODEL); //register business/service/bt for validatevalues service //this is done by the install process using the built in vsv - //add/alter BT to include instance info for ref to tmodel checked //turns out we don't need this either, its in the default install data //AlterRootBusiness(); - //configure jUDDI API service to "set" the valid values //logger.info("Saving VS valid values"); //SaveVSVValues(TckTModel.JOE_PUBLISHER_KEY_PREFIX + TMODEL); - //add a new service for joe, reference the checked tmodel with an invalid token - logger.info("Saving a business using those values"); - SaveBusiness(authInfoJoe, false,TMODEL); + SaveBusiness(authInfoJoe, false, TMODEL); //add a new service for joe, reference the checked tmodel with invalid token } @@ -171,7 +175,7 @@ public class API_150_ValueSetValidationTest { register business/service/bt for validatevalues service add/alter BT to include instance info for ref to tmodel checked alter checked tmodel, add reference to the BT for the validator - >>> open question? do we check existing instances of tmodel x at this point? do we reject the request if validation fails? + >>> open question? do we check existing instances of tmodel x at this point? do we reject the request if validation fails? someone tries to use the checked tmodel as a KR on publish, the server attempts to validate the KR's value against the VV service via the binding Template */ @@ -184,7 +188,7 @@ public class API_150_ValueSetValidationTest { tm.setName(new Name("My Custom validated key", "en")); tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); tm.getCategoryBag().getKeyedReference().add( - new KeyedReference(UDDIConstants.IS_VALIDATED_BY, UDDIConstants.IS_VALIDATED_BY_KEY_NAME, VSV_BT_KEY)); + new KeyedReference(UDDIConstants.IS_VALIDATED_BY, UDDIConstants.IS_VALIDATED_BY_KEY_NAME, VSV_BT_KEY)); SaveTModel stm = new SaveTModel(); stm.setAuthInfo(authInfoJoe); stm.getTModel().add(tm); @@ -234,4 +238,469 @@ public class API_150_ValueSetValidationTest { items.add(i); juddi.setAllValidValues(authInfoJoe, items); } + + public void DerviedFromValid() throws Exception { + + TModel tm = new TModel(); + //tm.setTModelKey(); + tm.setCategoryBag(new CategoryBag()); + tm.setName(new Name("My Custom validated key", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.IS_DERVIVED_FROM, "", "uddi:uddi.org:categorization:nodes")); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + } + + @Test(expected = ValueNotAllowedException.class) + public void DerviedFromInValid() throws Exception { + + TModel tm = new TModel(); + //tm.setTModelKey(); + tm.setCategoryBag(new CategoryBag()); + tm.setName(new Name("My Custom validated key", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.IS_DERVIVED_FROM, "", "uddi:juddi.apache.org:" + UUID.randomUUID().toString())); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + } + + @Test + public void EntitKeyValuesValid() throws Exception { + TModel tm = new TModel(); + //tm.setTModelKey(); + tm.setCategoryBag(new CategoryBag()); + tm.setName(new Name("My Custom validated key", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.ENTITY_KEY_VALUES, "", "tModelKey")); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + + } + + @Test(expected = ValueNotAllowedException.class) + public void EntitKeyValuesInValid() throws Exception { + TModel tm = new TModel(); + //tm.setTModelKey(); + tm.setCategoryBag(new CategoryBag()); + tm.setName(new Name("My Custom validated key", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.ENTITY_KEY_VALUES, "", "asdasdasd")); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + } + + @Test + @Ignore + public void UDDINodeValid() throws Exception { + BusinessEntity be = new BusinessEntity(); + be.getName().add(new Name("test", "en")); + be.setCategoryBag(new CategoryBag()); + be.getCategoryBag().getKeyedReference().add(new KeyedReference("uddi:uddi.org:categorization:nodes", "", "node")); + SaveBusiness sb = new SaveBusiness(); + sb.setAuthInfo(authInfoRoot); + sb.getBusinessEntity().add(be); + publication.saveBusiness(sb); + } + + @Test(expected = ValueNotAllowedException.class) + public void UDDINodeInValid1() throws Exception { + BusinessEntity be = new BusinessEntity(); + be.getName().add(new Name("test", "en")); + be.setCategoryBag(new CategoryBag()); + be.getCategoryBag().getKeyedReference().add(new KeyedReference("uddi:uddi.org:categorization:nodes", "", "asdasd")); + SaveBusiness sb = new SaveBusiness(); + sb.setAuthInfo(authInfoRoot); + sb.getBusinessEntity().add(be); + publication.saveBusiness(sb); + } + + @Test(expected = ValueNotAllowedException.class) + public void UDDINodeInValid2() throws Exception { + BusinessEntity be = new BusinessEntity(); + be.getName().add(new Name("test", "en")); + be.setBusinessServices(new BusinessServices()); + BusinessService bs = new BusinessService(); + bs.setCategoryBag(new CategoryBag()); + bs.getCategoryBag().getKeyedReference().add(new KeyedReference("uddi:uddi.org:categorization:nodes", "", "asdasd")); + be.getBusinessServices().getBusinessService().add(bs); + be.setCategoryBag(new CategoryBag()); + + SaveBusiness sb = new SaveBusiness(); + sb.setAuthInfo(authInfoRoot); + sb.getBusinessEntity().add(be); + publication.saveBusiness(sb); + } + + @Test + public void OwningBusinessValid() throws Exception { + TModel tm = new TModel(); + //tm.setTModelKey(); + tm.setCategoryBag(new CategoryBag()); + tm.setName(new Name("My Custom validated key", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.OWNING_BUSINESS, "", "uddi:juddi.apache.org:businesses-asf")); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + } + + @Test(expected = ValueNotAllowedException.class) + public void OwningBusinessInValid() throws Exception { + BusinessEntity be = new BusinessEntity(); + be.getName().add(new Name("test", "en")); + be.setCategoryBag(new CategoryBag()); + be.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.OWNING_BUSINESS, "", "uddi:juddi.apache.org:" + UUID.randomUUID().toString())); + SaveBusiness sb = new SaveBusiness(); + sb.setAuthInfo(authInfoJoe); + sb.getBusinessEntity().add(be); + publication.saveBusiness(sb); + } + + @Test(expected = ValueNotAllowedException.class) + public void OwningBusinessInValid2() throws Exception { + TModel tm = new TModel(); + //tm.setTModelKey(); + tm.setCategoryBag(new CategoryBag()); + tm.setName(new Name("My Custom validated key", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.OWNING_BUSINESS, "", "uddi:juddi.apache.org:" + UUID.randomUUID().toString())); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + } + + @Test + public void TypeTmodelValid() throws Exception { + TModel tm = new TModel(); + //tm.setTModelKey(); + tm.setCategoryBag(new CategoryBag()); + tm.setName(new Name("My Custom validated key", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference("uddi:uddi.org:categorization:types", "", "namespace")); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + + } + + @Test(expected = ValueNotAllowedException.class) + public void TypeTModelInValid() throws Exception { + TModel tm = new TModel(); + //tm.setTModelKey(); + tm.setCategoryBag(new CategoryBag()); + tm.setName(new Name("My Custom validated key", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference("uddi:uddi.org:categorization:types", "", "wsdlDeployment")); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + + } + + @Test(expected = ValueNotAllowedException.class) + public void TypeBindingInValid() throws Exception { + SaveBinding sb = new SaveBinding(); + sb.setAuthInfo(authInfoRoot); + BindingTemplate bt = new BindingTemplate(); + bt.setServiceKey("uddi:juddi.apache.org:services-inquiry"); + bt.setAccessPoint(new AccessPoint("http://test", "endPoint")); + bt.setCategoryBag(new CategoryBag()); + bt.getCategoryBag().getKeyedReference().add(new KeyedReference("uddi:uddi.org:categorization:types", "", "namespace")); + publication.saveBinding(sb); + } + + @Test + public void TypeBindingValid() throws Exception { + SaveBinding sb = new SaveBinding(); + sb.setAuthInfo(authInfoRoot); + BindingTemplate bt = new BindingTemplate(); + bt.setServiceKey("uddi:juddi.apache.org:services-inquiry"); + bt.setAccessPoint(new AccessPoint("http://test", "endPoint")); + bt.setCategoryBag(new CategoryBag()); + bt.getCategoryBag().getKeyedReference().add(new KeyedReference("uddi:uddi.org:categorization:types", "", "wsdlDeployment")); + sb.getBindingTemplate().add(bt); + publication.saveBinding(sb); + } + + @Test(expected = ValueNotAllowedException.class) + public void ValidatedByInValid() throws Exception { + TModel tm = new TModel(); + //tm.setTModelKey(); + tm.setCategoryBag(new CategoryBag()); + tm.setName(new Name("My Custom validated key", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.IS_VALIDATED_BY, UDDIConstants.IS_VALIDATED_BY_KEY_NAME, "uddi:juddi.apache.org:s:nonexistentvalidator")); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + + } + + @Test + @Ignore + public void ValidatedByValid() throws Exception { + //this is covered by the default install + } + + @Test + public void ReplacedByValid() throws Exception { + TModel tm = new TModel(); + tm.setName(new Name("My old tmodel", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + TModelDetail saveTModel = publication.saveTModel(stm); + + tm = new TModel(); + tm.setName(new Name("My new tmodel", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.setIdentifierBag(new IdentifierBag()); + tm.getIdentifierBag().getKeyedReference().add(new KeyedReference(UDDIConstants.IS_REPLACED_BY, "", saveTModel.getTModel().get(0).getTModelKey())); + stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + } + + @Test + public void ReplacedByValid2() throws Exception { + TModel tm = new TModel(); + tm.setName(new Name("My old tmodel", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + TModelDetail saveTModel = publication.saveTModel(stm); + + tm = new TModel(); + tm.setName(new Name("My new tmodel", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.setCategoryBag(new CategoryBag()); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.IS_REPLACED_BY, "", saveTModel.getTModel().get(0).getTModelKey())); + stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + } + + @Test + public void ReplacedByValid3() throws Exception { + BusinessEntity tm = new BusinessEntity(); + tm.getName().add(new Name("My old business", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + SaveBusiness stm = new SaveBusiness(); + stm.setAuthInfo(authInfoJoe); + stm.getBusinessEntity().add(tm); + BusinessDetail saveBusiness = publication.saveBusiness(stm); + + tm = new BusinessEntity(); + tm.getName().add(new Name("My new business", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.setIdentifierBag(new IdentifierBag()); + tm.getIdentifierBag().getKeyedReference().add(new KeyedReference(UDDIConstants.IS_REPLACED_BY, "", saveBusiness.getBusinessEntity().get(0).getBusinessKey())); + stm = new SaveBusiness(); + stm.setAuthInfo(authInfoJoe); + stm.getBusinessEntity().add(tm); + publication.saveBusiness(stm); + } + + @Test + public void ReplacedByValid4() throws Exception { + BusinessEntity tm = new BusinessEntity(); + tm.getName().add(new Name("My old business", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + SaveBusiness stm = new SaveBusiness(); + stm.setAuthInfo(authInfoJoe); + stm.getBusinessEntity().add(tm); + BusinessDetail saveBusiness = publication.saveBusiness(stm); + + tm = new BusinessEntity(); + tm.getName().add(new Name("My new business", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.setCategoryBag(new CategoryBag()); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.IS_REPLACED_BY, "", saveBusiness.getBusinessEntity().get(0).getBusinessKey())); + stm = new SaveBusiness(); + stm.setAuthInfo(authInfoJoe); + stm.getBusinessEntity().add(tm); + publication.saveBusiness(stm); + } + + @Test + public void ReplacedByValid5Projected() throws Exception { + BusinessEntity tm = new BusinessEntity(); + tm.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + "testbiz"); + tm.getName().add(new Name("My old business", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + SaveBusiness stm = new SaveBusiness(); + stm.setAuthInfo(authInfoJoe); + stm.getBusinessEntity().add(tm); + + tm = new BusinessEntity(); + tm.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + "oldbiz"); + tm.getName().add(new Name("My new business", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.setCategoryBag(new CategoryBag()); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.IS_REPLACED_BY, "", TckTModel.JOE_PUBLISHER_KEY_PREFIX + "testbiz")); + stm.getBusinessEntity().add(tm); + publication.saveBusiness(stm); + } + + + @Test + public void ReplacedByValid6DifferentOwners() throws Exception { + BusinessEntity tm = new BusinessEntity(); + tm.setBusinessKey(TckTModel.MARY_KEY_PREFIX + "testbiz"); + tm.getName().add(new Name("My old business", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + SaveBusiness stm = new SaveBusiness(); + stm.setAuthInfo(authInfoMary); + stm.getBusinessEntity().add(tm); + publication.saveBusiness(stm); + + tm = new BusinessEntity(); + tm.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + "oldbiz"); + tm.getName().add(new Name("My new business", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.setCategoryBag(new CategoryBag()); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.IS_REPLACED_BY, "", TckTModel.MARY_KEY_PREFIX + "testbiz")); + stm = new SaveBusiness(); + stm.setAuthInfo(authInfoJoe); + stm.getBusinessEntity().add(tm); + publication.saveBusiness(stm); + } + + @Test + public void ReplacedByValid7DifferentOwners() throws Exception { + BusinessEntity tm = new BusinessEntity(); + tm.setBusinessKey(TckTModel.MARY_KEY_PREFIX + "testbiz"); + tm.getName().add(new Name("My old business", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + SaveBusiness stm = new SaveBusiness(); + stm.setAuthInfo(authInfoMary); + stm.getBusinessEntity().add(tm); + publication.saveBusiness(stm); + + tm = new BusinessEntity(); + tm.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + "oldbiz"); + tm.getName().add(new Name("My new business", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.setIdentifierBag(new IdentifierBag()); + tm.getIdentifierBag().getKeyedReference().add(new KeyedReference(UDDIConstants.IS_REPLACED_BY, "", TckTModel.MARY_KEY_PREFIX + "testbiz")); + stm = new SaveBusiness(); + stm.setAuthInfo(authInfoJoe); + stm.getBusinessEntity().add(tm); + publication.saveBusiness(stm); + } + + /** + * reference undefined tmodel + * + * @throws Exception + */ + @Test(expected = ValueNotAllowedException.class) + public void ReplacedByInValid() throws Exception { + + TModel tm = new TModel(); + tm.setName(new Name("My new tmodel", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.setCategoryBag(new CategoryBag()); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.IS_REPLACED_BY, "", TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString())); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + } + + /** + * reference business key + * + * @throws Exception + */ + @Test(expected = ValueNotAllowedException.class) + public void ReplacedByInValid2() throws Exception { + + TModel tm = new TModel(); + tm.setName(new Name("My new tmodel", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.setCategoryBag(new CategoryBag()); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.IS_REPLACED_BY, "", "uddi:juddi.apache.org:businesses-asf")); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + } + + @Test + public void RelationshipsValid() throws Exception { + TModel tm = new TModel(); + tm.setCategoryBag(new CategoryBag()); + tm.setName(new Name("My Custom validated key", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.RELATIONSHIPS, "", "peer-peer")); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + + } + + @Test(expected = ValueNotAllowedException.class) + public void RelationshipsInValid() throws Exception { + TModel tm = new TModel(); + //tm.setTModelKey(); + tm.setCategoryBag(new CategoryBag()); + tm.setName(new Name("My Custom validated key", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.RELATIONSHIPS, "", "asdasdasd")); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + + } + + @Test(expected = ValueNotAllowedException.class) + public void ClassLoadingTestsInValid() throws Exception { + + //save a tmodel that's is validated but no validator exists + TModel tm = new TModel(); + //tm.setTModelKey(); + tm.setCategoryBag(new CategoryBag()); + tm.setTModelKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + "nonexistentvalidator"); + tm.setName(new Name("My Custom validated key", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(UDDIConstants.IS_VALIDATED_BY, UDDIConstants.IS_VALIDATED_BY_KEY_NAME, "uddi:juddi.apache.org:servicebindings-valueset-cp")); + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + + tm = new TModel(); + //tm.setTModelKey(); + tm.setCategoryBag(new CategoryBag()); + // tm.setTModelKey("uddi:uddi.org:categorization:nonexistentvalidator"); + tm.setName(new Name("My Custom validated key", "en")); + tm.getDescription().add(new Description("valid values include 'one', 'two', 'three'", "en")); + tm.getCategoryBag().getKeyedReference().add(new KeyedReference(TckTModel.JOE_PUBLISHER_KEY_PREFIX + "nonexistentvalidator", "", "asdasd")); + stm = new SaveTModel(); + stm.setAuthInfo(authInfoJoe); + stm.getTModel().add(tm); + publication.saveTModel(stm); + + //use it has a keyed reference, expect failure + } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
