Author: jonesde
Date: Thu Mar 8 17:28:43 2007 New Revision: 516253 URL: http://svn.apache.org/viewvc?view=rev&rev=516253 Log: Added simple-method-test to call a simple-method as a service, without a service definition; also includes some various fixes including one from Joe in Jira OFBIZ-791 Added: ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java (with props) Modified: ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/ObjectType.java ofbiz/trunk/framework/entity/src/org/ofbiz/entity/test/EntityTestSuite.java ofbiz/trunk/framework/example/script/org/ofbiz/example/example/ExampleServices.xml ofbiz/trunk/framework/example/servicedef/services.xml ofbiz/trunk/framework/example/testdef/tests.xml ofbiz/trunk/framework/testtools/dtd/test-suite.xsd ofbiz/trunk/framework/testtools/servicedef/services.xml ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ModelTestSuite.java ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ServiceTest.java Modified: ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/ObjectType.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/ObjectType.java?view=diff&rev=516253&r1=516252&r2=516253 ============================================================================== --- ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/ObjectType.java (original) +++ ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/ObjectType.java Thu Mar 8 17:28:43 2007 @@ -288,7 +288,7 @@ * @return */ public static boolean isOrSubOf(Class objectClass, Class parentClass) { - + //Debug.logInfo("Checking isOrSubOf for [" + objectClass.getName() + "] and [" + objectClass.getName() + "]", module); while (objectClass != null) { if (objectClass == parentClass) return true; objectClass = objectClass.getSuperclass(); @@ -366,8 +366,9 @@ public static boolean instanceOf(Object obj, String typeName, ClassLoader loader) { Class infoClass = loadInfoClass(typeName, loader); - if (infoClass == null) + if (infoClass == null) { throw new IllegalArgumentException("Illegal type found in info map (could not load class for specified type)"); + } return instanceOf(obj, infoClass); } Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/test/EntityTestSuite.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/test/EntityTestSuite.java?view=diff&rev=516253&r1=516252&r2=516253 ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/test/EntityTestSuite.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/test/EntityTestSuite.java Thu Mar 8 17:28:43 2007 @@ -53,8 +53,10 @@ /* * This sets how many values to insert when trying to create a large number of values. 10,000 causes HSQL to crash but is ok * with Derby. Going up to 100,000 causes problems all around because Java List seems to be capped at about 65,000 values. + * + * NOTE: setting this lower so that the general tests don't take so long to run; to really push it can increase this number. */ - public static final long TEST_COUNT = 10000; + public static final long TEST_COUNT = 1000; public EntityTestSuite(String name) { super(name); Modified: ofbiz/trunk/framework/example/script/org/ofbiz/example/example/ExampleServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/example/script/org/ofbiz/example/example/ExampleServices.xml?view=diff&rev=516253&r1=516252&r2=516253 ============================================================================== --- ofbiz/trunk/framework/example/script/org/ofbiz/example/example/ExampleServices.xml (original) +++ ofbiz/trunk/framework/example/script/org/ofbiz/example/example/ExampleServices.xml Thu Mar 8 17:28:43 2007 @@ -106,9 +106,7 @@ </call-service> <check-errors/> - <entity-one entity-name="Example" value-name="example" auto-field-map="false"> - <field-map field-name="exampleId" value="lookupMap.exampleId"/> - </entity-one> + <find-by-primary-key entity-name="Example" map-name="lookupMap" value-name="example"/> <assert> <not><if-empty field-name="example"/></not> @@ -116,11 +114,20 @@ <check-errors/> <assert> - <if-compare field-name="example.exampleTypeId" value="createExampleMap.exampleTypeId" operator="equals"/> - <if-compare field-name="example.exampleName" value="createExampleMap.exampleName" operator="equals"/> - <if-compare field-name="example.statusId" value="createExampleMap.statusId" operator="equals"/> + <if-compare-field field-name="example.exampleTypeId" to-field-name="createExampleMap.exampleTypeId" operator="equals"/> </assert> <check-errors/> + + <assert> + <if-compare-field field-name="example.exampleName" to-field-name="createExampleMap.exampleName" operator="equals"/> + </assert> + <check-errors/> + + <assert> + <if-compare-field field-name="example.statusId" to-field-name="createExampleMap.statusId" operator="equals"/> + </assert> + <check-errors/> + </simple-method> </simple-methods> Modified: ofbiz/trunk/framework/example/servicedef/services.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/example/servicedef/services.xml?view=diff&rev=516253&r1=516252&r2=516253 ============================================================================== --- ofbiz/trunk/framework/example/servicedef/services.xml (original) +++ ofbiz/trunk/framework/example/servicedef/services.xml Thu Mar 8 17:28:43 2007 @@ -137,5 +137,4 @@ location="org/ofbiz/example/example/ExampleServices.xml" invoke="testCreateExampleService"> <implements service="testServiceInterface"/> </service> - </services> Modified: ofbiz/trunk/framework/example/testdef/tests.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/example/testdef/tests.xml?view=diff&rev=516253&r1=516252&r2=516253 ============================================================================== --- ofbiz/trunk/framework/example/testdef/tests.xml (original) +++ ofbiz/trunk/framework/example/testdef/tests.xml Thu Mar 8 17:28:43 2007 @@ -25,9 +25,10 @@ <test-case case-name="userLoginEntityXmlAssert"> <entity-xml-assert entity-xml-url="component://example/testdef/assertdata/TestUserLoginData.xml"/> </test-case> - - <test-case case-name="testCreateExampleService"> + <test-case case-name="testCreateExampleService Through Service Engine"> <service-test service-name="testCreateExampleService"/> </test-case> - + <test-case case-name="testCreateExampleService Direct Simple Method"> + <simple-method-test location="org/ofbiz/example/example/ExampleServices.xml" name="testCreateExampleService"/> + </test-case> </test-suite> Modified: ofbiz/trunk/framework/testtools/dtd/test-suite.xsd URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/dtd/test-suite.xsd?view=diff&rev=516253&r1=516252&r2=516253 ============================================================================== --- ofbiz/trunk/framework/testtools/dtd/test-suite.xsd (original) +++ ofbiz/trunk/framework/testtools/dtd/test-suite.xsd Thu Mar 8 17:28:43 2007 @@ -79,6 +79,16 @@ <xs:attribute type="xs:string" name="service-name" use="required"/> </xs:attributeGroup> + <xs:element name="simple-method-test" substitutionGroup="TestCaseTypes"> + <xs:complexType> + <xs:attributeGroup ref="attlist.simple-method-test"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.simple-method-test"> + <xs:attribute type="xs:string" name="location" use="required"/> + <xs:attribute type="xs:string" name="name" use="required"/> + </xs:attributeGroup> + <xs:element name="entity-xml-assert" substitutionGroup="TestCaseTypes"> <xs:complexType> <xs:attributeGroup ref="attlist.entity-xml-assert"/> Modified: ofbiz/trunk/framework/testtools/servicedef/services.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/servicedef/services.xml?view=diff&rev=516253&r1=516252&r2=516253 ============================================================================== --- ofbiz/trunk/framework/testtools/servicedef/services.xml (original) +++ ofbiz/trunk/framework/testtools/servicedef/services.xml Thu Mar 8 17:28:43 2007 @@ -31,6 +31,7 @@ - errorMessage, errorMessageList, errorMessageMap: where messages will comes from for error or fail responses - successMessage, successMessagesList: where messages will comes from for success responses </description> - <attribute name="testCase" type="junit.framework.TestCase" mode="IN" optional="false"/> + <attribute name="test" type="junit.framework.Test" mode="IN" optional="false"/> + <attribute name="testResult" type="junit.framework.TestResult" mode="IN" optional="false"/> </service> </services> Modified: ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ModelTestSuite.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ModelTestSuite.java?view=diff&rev=516253&r1=516252&r2=516253 ============================================================================== --- ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ModelTestSuite.java (original) +++ ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ModelTestSuite.java Thu Mar 8 17:28:43 2007 @@ -92,6 +92,8 @@ } } else if ("service-test".equals(nodeName)) { this.testList.add(new ServiceTest(caseName, this, childElement)); + } else if ("simple-method-test".equals(nodeName)) { + this.testList.add(new SimpleMethodTest(caseName, this, childElement)); } else if ("entity-xml-assert".equals(nodeName)) { this.testList.add(new EntityXmlAssertTest(caseName, this, childElement)); } else if ("jython-test".equals(nodeName)) { Modified: ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ServiceTest.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ServiceTest.java?view=diff&rev=516253&r1=516252&r2=516253 ============================================================================== --- ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ServiceTest.java (original) +++ ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ServiceTest.java Thu Mar 8 17:28:43 2007 @@ -58,7 +58,7 @@ try { - Map serviceResult = dispatcher.runSync(serviceName, UtilMisc.toMap("testCase", this)); + Map serviceResult = dispatcher.runSync(serviceName, UtilMisc.toMap("test", this, "testResult", result)); // do something with the errorMessage String errorMessage = (String) serviceResult.get(ModelService.ERROR_MESSAGE); Added: ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java?view=auto&rev=516253 ============================================================================== --- ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java (added) +++ ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java Thu Mar 8 17:28:43 2007 @@ -0,0 +1,97 @@ +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + *******************************************************************************/ +package org.ofbiz.testtools; + +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import junit.framework.AssertionFailedError; +import junit.framework.TestResult; + +import org.ofbiz.base.util.UtilMisc; +import org.ofbiz.base.util.UtilValidate; +import org.ofbiz.minilang.MiniLangException; +import org.ofbiz.minilang.SimpleMethod; +import org.ofbiz.service.LocalDispatcher; +import org.ofbiz.service.ModelService; +import org.w3c.dom.Element; + +public class SimpleMethodTest extends TestCaseBase { + + public static final String module = ServiceTest.class.getName(); + + protected String methodLocation; + protected String methodName; + + /** + * @param modelTestSuite + */ + public SimpleMethodTest(String caseName, ModelTestSuite modelTestSuite, Element mainElement) { + super(caseName, modelTestSuite); + this.methodLocation = mainElement.getAttribute("location"); + this.methodName = mainElement.getAttribute("name"); + } + + public int countTestCases() { + return 1; + } + + public void run(TestResult result) { + result.startTest(this); + + LocalDispatcher dispatcher = modelTestSuite.getDispatcher(); + + try { + + Map serviceResult = SimpleMethod.runSimpleService(methodLocation, methodName, dispatcher.getDispatchContext(), + UtilMisc.toMap("test", this, "testResult", result)); + + // do something with the errorMessage + String errorMessage = (String) serviceResult.get(ModelService.ERROR_MESSAGE); + if (UtilValidate.isNotEmpty(errorMessage)) { + result.addFailure(this, new AssertionFailedError(errorMessage)); + } + + // do something with the errorMessageList + List errorMessageList = (List) serviceResult.get(ModelService.ERROR_MESSAGE_LIST); + if (UtilValidate.isNotEmpty(errorMessageList)) { + Iterator i = errorMessageList.iterator(); + while (i.hasNext()) { + result.addFailure(this, new AssertionFailedError((String) i.next())); + } + } + + // do something with the errorMessageMap + Map errorMessageMap = (Map) serviceResult.get(ModelService.ERROR_MESSAGE_MAP); + if (!UtilValidate.isEmpty(errorMessageMap)) { + Iterator i = errorMessageMap.entrySet().iterator(); + while (i.hasNext()) { + Map.Entry entry = (Map.Entry) i.next(); + result.addFailure(this, new AssertionFailedError(entry.getKey() + ": " + entry.getValue())); + } + } + + } catch (MiniLangException e) { + result.addError(this, e); + } + + result.endTest(this); + } +} Propchange: ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java ------------------------------------------------------------------------------ svn:mime-type = text/plain |
Free forum by Nabble | Edit this page |