Author: slaws
Date: Thu Apr 14 10:55:42 2011
New Revision: 1092119

URL: http://svn.apache.org/viewvc?rev=1092119&view=rev
Log:
Add a stripped down JUnit sample. 

Added:
    tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/   (with props)
    tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/README.html
    tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/README.odt   (with 
props)
    tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/pom.xml
    tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/
    tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/main/
    tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/main/java/
    
tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/main/java/calculator/
    
tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/main/java/calculator/CalculatorService.java
    tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/test/
    tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/test/java/
    
tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/test/java/launcher/
    
tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/test/java/launcher/LaunchCalculatorContributionTestCase.java

Propchange: tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Apr 14 10:55:42 2011
@@ -0,0 +1,4 @@
+.classpath
+.project
+.settings
+target

Added: tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/README.html
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/README.html?rev=1092119&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/README.html (added)
+++ tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/README.html Thu 
Apr 14 10:55:42 2011
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" 
"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";><!--This file was converted to 
xhtml by OpenOffice.org - see http://xml.openoffice.org/odf2xhtml for more 
info.--><head profile="http://dublincore.org/documents/dcmi-terms/";><meta 
http-equiv="Content-Type" content="application/xhtml+xml; 
charset=utf-8"/><title xml:lang="en-US">- no title specified</title><meta 
name="DCTERMS.title" content="" xml:lang="en-US"/><meta name="DCTERMS.language" 
content="en-US" scheme="DCTERMS.RFC4646"/><meta name="DCTERMS.source" 
content="http://xml.openoffice.org/odf2xhtml"/><meta name="DCTERMS.creator" 
content="ant "/><meta name="DCTERMS.issued" content="2011-03-15T09:48:55.71" 
scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.modified" 
content="2011-04-14T11:20:02.98" scheme="DCTERMS.W3CDTF"/><meta 
name="DCTERMS.provenance" content="" xml:lang="en-US"/><meta 
name="DCTERMS.subject" content="," xml:lang="en-US"/><link rel="schema.DC" 
href="http://purl.org/dc/elements/1.1/"; hreflang="en"/><link rel="schema.DCT
 ERMS" href="http://purl.org/dc/terms/"; hreflang="en"/><link 
rel="schema.DCTYPE" href="http://purl.org/dc/dcmitype/"; hreflang="en"/><link 
rel="schema.DCAM" href="http://purl.org/dc/dcam/"; hreflang="en"/><base 
href="."/><style type="text/css">
+       @page {  }
+       table { border-collapse:collapse; border-spacing:0; empty-cells:show }
+       td, th { vertical-align:top; font-size:12pt;}
+       h1, h2, h3, h4, h5, h6 { clear:both }
+       ol, ul { margin:0; padding:0;}
+       li { list-style: none; margin:0; padding:0;}
+       <!-- "li span.odfLiEnd" - IE 7 issue-->
+       li span. { clear: both; line-height:0; width:0; height:0; margin:0; 
padding:0; }
+       span.footnodeNumber { padding-right:1em; }
+       span.annotation_style_by_filter { font-size:95%; font-family:Arial; 
background-color:#fff000;  margin:0; border:0; padding:0;  }
+       * { margin:0;}
+       .Heading_20_1 { font-size:115%; margin-bottom:0.212cm; 
margin-top:0.423cm; font-family:Arial; writing-mode:page; font-weight:bold; }
+       .P1 { font-size:10pt; font-family:Courier New; writing-mode:page; }
+       .Standard { font-size:12pt; font-family:Times New Roman; 
writing-mode:page; }
+       <!-- ODF styles with no properties representable as CSS -->
+       { }
+       </style></head><body dir="ltr" 
style="max-width:21.001cm;margin-top:2cm; margin-bottom:2cm; margin-left:2cm; 
margin-right:2cm; "><h1 class="Heading_20_1"><a 
id="a__Running_the_Tuscany_runtime_from_JUnit"><span/></a>Running the Tuscany 
runtime from JUnit</h1><p class="Standard"> </p><p class="Standard">The same 
Node API used to start the Tuscany runtime from Java can of course also be used 
from within a JUnit test case. This allows you to automatically test you SCA 
contributions. This sample uses the same sart-up code from the jse sample but 
this time inside:</p><p class="Standard"> </p><p class="P1">  
 launcher.LaunchCalculatorContributionTestCase.java</p><p 
class="Standard"> </p><p class="Standard">This JUnit test case can be run 
using you usually use to run JUnit tests. By default Maven will run JUnit tests 
for a module so this sample can be run by doing the following:</p><p 
class="Standard"> </p><p class="P1">cd junit</p><p class="P1">mvn</p><p 
class="S
 tandard"> </p><p class="Standard">TODO – should we provide run-sample 
scripts. If so we need to ship JUnit or provide instructions on how to install 
it?</p></body></html>
\ No newline at end of file

Added: tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/README.odt
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/README.odt?rev=1092119&view=auto
==============================================================================
Binary file - no diff available.

Propchange: tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/README.odt
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/pom.xml?rev=1092119&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/pom.xml (added)
+++ tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/pom.xml Thu Apr 14 
10:55:42 2011
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    * 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.    
+-->
+<project>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.tuscany.sca</groupId>
+        <artifactId>tuscany-samples-running-tuscany</artifactId>
+        <version>2.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <artifactId>junit</artifactId>
+    <name>Apache Tuscany SCA Sample JUnit</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-base-runtime</artifactId>
+            <version>2.0-SNAPSHOT</version>
+        </dependency>        
+                
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.8.1</version>
+            <scope>test</scope>
+        </dependency>
+        
+    </dependencies>
+
+    <build>
+       <finalName>${project.artifactId}</finalName>
+    </build>
+</project>

Added: 
tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/main/java/calculator/CalculatorService.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/main/java/calculator/CalculatorService.java?rev=1092119&view=auto
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/main/java/calculator/CalculatorService.java
 (added)
+++ 
tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/main/java/calculator/CalculatorService.java
 Thu Apr 14 10:55:42 2011
@@ -0,0 +1,38 @@
+/*
+ * 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 calculator;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+
+/**
+ * The Calculator service interface.
+ */
+@Remotable
+public interface CalculatorService {
+
+    double add(double n1, double n2);
+
+    double subtract(double n1, double n2);
+
+    double multiply(double n1, double n2);
+
+    double divide(double n1, double n2);
+
+}

Added: 
tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/test/java/launcher/LaunchCalculatorContributionTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/test/java/launcher/LaunchCalculatorContributionTestCase.java?rev=1092119&view=auto
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/test/java/launcher/LaunchCalculatorContributionTestCase.java
 (added)
+++ 
tuscany/sca-java-2.x/trunk/samples/running-tuscany/junit/src/test/java/launcher/LaunchCalculatorContributionTestCase.java
 Thu Apr 14 10:55:42 2011
@@ -0,0 +1,51 @@
+/*
+ * 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 launcher;
+
+import junit.framework.Assert;
+
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.junit.Test;
+
+import calculator.CalculatorService;
+
+/**
+ * Test sample contribution.
+ */
+public class LaunchCalculatorContributionTestCase {
+    
+
+    @Test
+    public void testCalculatorContribution() throws Exception {
+        Node node = NodeFactory.newInstance().createNode(new 
Contribution("c1", "../calculator-contribution.jar"));
+        node.start();
+        
+        CalculatorService calculator = 
node.getService(CalculatorService.class, "CalculatorServiceComponent");
+        
+        double result = calculator.add(3, 2);
+        
+        System.out.println("3 + 2 = " + result);
+        
+        Assert.assertEquals(5.0, result);
+        
+        node.stop();
+    }
+}


Reply via email to