You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jo...@apache.org on 2007/03/08 02:21:50 UTC

svn commit: r515876 - in /ofbiz/trunk/framework: example/script/org/ofbiz/example/example/ExampleServices.xml example/servicedef/services.xml example/testdef/tests.xml testtools/src/org/ofbiz/testtools/ServiceTest.java

Author: jonesde
Date: Wed Mar  7 17:21:49 2007
New Revision: 515876

URL: http://svn.apache.org/viewvc?view=rev&rev=515876
Log:
Appled patches from Joe Eckard for the ServiceTest implementation, and example to use it; Jira #OFBIZ-791; I made a small change to the patch to show the key and value for the error message Map

Modified:
    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/src/org/ofbiz/testtools/ServiceTest.java

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=515876&r1=515875&r2=515876
==============================================================================
--- ofbiz/trunk/framework/example/script/org/ofbiz/example/example/ExampleServices.xml (original)
+++ ofbiz/trunk/framework/example/script/org/ofbiz/example/example/ExampleServices.xml Wed Mar  7 17:21:49 2007
@@ -89,4 +89,38 @@
         <entity-one entity-name="ExampleItem" value-name="lookedUpValue"/>
         <remove-value value-name="lookedUpValue"/>
     </simple-method>
+
+    <!-- Example ServiceTest Service -->
+    <simple-method method-name="testCreateExampleService" short-description="test the create example service" login-required="false">
+
+        <set field="createExampleMap.exampleTypeId" value="CONTRIVED"/>
+        <set field="createExampleMap.exampleName" value="Test Example"/>
+        <set field="createExampleMap.statusId" value="EXST_IN_DESIGN"/>
+
+        <entity-one entity-name="UserLogin" value-name="createExampleMap.userLogin" auto-field-map="false">
+            <field-map field-name="userLoginId" value="system"/>
+        </entity-one>
+
+        <call-service service-name="createExample" in-map-name="createExampleMap">
+            <result-to-field result-name="exampleId" field-name="lookupMap.exampleId"/>
+        </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>
+        
+        <assert>
+            <not><if-empty field-name="example"/></not>
+        </assert>
+        <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"/>
+        </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=515876&r1=515875&r2=515876
==============================================================================
--- ofbiz/trunk/framework/example/servicedef/services.xml (original)
+++ ofbiz/trunk/framework/example/servicedef/services.xml Wed Mar  7 17:21:49 2007
@@ -131,4 +131,11 @@
              location="org/ofbiz/example/ExamplePermissionServices.xml" invoke="exampleGenericPermission">
         <implements service="permissionInterface"/>
     </service>
+
+    <!-- Example ServiceTest Service -->
+    <service name="testCreateExampleService" engine="simple"
+             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=515876&r1=515875&r2=515876
==============================================================================
--- ofbiz/trunk/framework/example/testdef/tests.xml (original)
+++ ofbiz/trunk/framework/example/testdef/tests.xml Wed Mar  7 17:21:49 2007
@@ -25,4 +25,9 @@
     <test-case case-name="userLoginEntityXmlAssert">
         <entity-xml-assert entity-xml-url="component://example/testdef/assertdata/TestUserLoginData.xml"/>
     </test-case>
+
+    <test-case case-name="testCreateExampleService">
+        <service-test service-name="testCreateExampleService"/>
+    </test-case>
+
 </test-suite>

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=515876&r1=515875&r2=515876
==============================================================================
--- ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ServiceTest.java (original)
+++ ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ServiceTest.java Wed Mar  7 17:21:49 2007
@@ -6,9 +6,9 @@
  * 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
@@ -19,13 +19,24 @@
 package org.ofbiz.testtools;
 
 import junit.framework.TestResult;
+import junit.framework.AssertionFailedError;
 
 import org.w3c.dom.Element;
+import org.ofbiz.service.LocalDispatcher;
+import org.ofbiz.service.GenericServiceException;
+import org.ofbiz.service.ServiceUtil;
+import org.ofbiz.service.ModelService;
+import org.ofbiz.base.util.UtilMisc;
+import org.ofbiz.base.util.UtilValidate;
+
+import java.util.Map;
+import java.util.List;
+import java.util.Iterator;
 
 public class ServiceTest extends TestCaseBase {
 
     public static final String module = ServiceTest.class.getName();
-    
+
     protected String serviceName;
 
     /**
@@ -41,7 +52,44 @@
     }
 
     public void run(TestResult result) {
-        // TODO Auto-generated method stub
-        
+
+        result.startTest(this);
+
+        LocalDispatcher dispatcher = modelTestSuite.getDispatcher();
+
+        try {
+
+            Map serviceResult = dispatcher.runSync(serviceName, UtilMisc.toMap("testCase", this));
+
+            // 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 (GenericServiceException e) {
+            result.addError(this, e);
+        }
+
+        result.endTest(this);
     }
 }