summaryrefslogtreecommitdiffstats
path: root/sandbox/fmoga/binding-comet-runtime/src/test
diff options
context:
space:
mode:
authorfmoga <fmoga@13f79535-47bb-0310-9956-ffa450edef68>2010-09-20 18:00:18 +0000
committerfmoga <fmoga@13f79535-47bb-0310-9956-ffa450edef68>2010-09-20 18:00:18 +0000
commitcd7d1fa7adaa890bae754e7035fe991ce1c25b56 (patch)
tree380c3a5e4d803fb4ee1169c5d3c6ca6116bfd817 /sandbox/fmoga/binding-comet-runtime/src/test
parentac782e70a0be1937550da31b0f7028ab83826295 (diff)
Added binding comet runtime for experiments.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@999029 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sandbox/fmoga/binding-comet-runtime/src/test')
-rw-r--r--sandbox/fmoga/binding-comet-runtime/src/test/java/org/apache/tuscany/sca/test/CometTestCase.java55
-rw-r--r--sandbox/fmoga/binding-comet-runtime/src/test/java/org/apache/tuscany/sca/test/StockService.java28
-rw-r--r--sandbox/fmoga/binding-comet-runtime/src/test/java/org/apache/tuscany/sca/test/StockServiceImpl.java39
-rw-r--r--sandbox/fmoga/binding-comet-runtime/src/test/resources/test.composite33
4 files changed, 155 insertions, 0 deletions
diff --git a/sandbox/fmoga/binding-comet-runtime/src/test/java/org/apache/tuscany/sca/test/CometTestCase.java b/sandbox/fmoga/binding-comet-runtime/src/test/java/org/apache/tuscany/sca/test/CometTestCase.java
new file mode 100644
index 0000000000..56c6b9f4f1
--- /dev/null
+++ b/sandbox/fmoga/binding-comet-runtime/src/test/java/org/apache/tuscany/sca/test/CometTestCase.java
@@ -0,0 +1,55 @@
+/*
+ * 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.apache.tuscany.sca.test;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.http.jetty.JettyServer;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.ContributionLocationHelper;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+
+/**
+ * Test case for the comet binding.
+ */
+public class CometTestCase extends TestCase {
+
+ /**
+ * Test consisting in starting up a node containing services exposed via the
+ * comet binding.
+ */
+ public void testComet() {
+ JettyServer.portDefault = 8085;
+ try {
+ final String location = ContributionLocationHelper.getContributionLocation("test.composite");
+ final Node node = NodeFactory.newInstance().createNode("test.composite", new Contribution("c1", location));
+ node.start();
+ // System.out.println("Press any key to stop the node.");
+ // System.in.read();
+ node.stop();
+ } catch (final Exception e) {
+ e.printStackTrace();
+ Assert.fail();
+ }
+ }
+
+}
diff --git a/sandbox/fmoga/binding-comet-runtime/src/test/java/org/apache/tuscany/sca/test/StockService.java b/sandbox/fmoga/binding-comet-runtime/src/test/java/org/apache/tuscany/sca/test/StockService.java
new file mode 100644
index 0000000000..6d23479f30
--- /dev/null
+++ b/sandbox/fmoga/binding-comet-runtime/src/test/java/org/apache/tuscany/sca/test/StockService.java
@@ -0,0 +1,28 @@
+/*
+ * 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.apache.tuscany.sca.test;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+@Remotable
+public interface StockService {
+
+ String getQuotes();
+
+}
diff --git a/sandbox/fmoga/binding-comet-runtime/src/test/java/org/apache/tuscany/sca/test/StockServiceImpl.java b/sandbox/fmoga/binding-comet-runtime/src/test/java/org/apache/tuscany/sca/test/StockServiceImpl.java
new file mode 100644
index 0000000000..359d7dec0b
--- /dev/null
+++ b/sandbox/fmoga/binding-comet-runtime/src/test/java/org/apache/tuscany/sca/test/StockServiceImpl.java
@@ -0,0 +1,39 @@
+/*
+ * 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.apache.tuscany.sca.test;
+
+import java.text.DecimalFormat;
+import java.util.Date;
+import java.util.Random;
+
+import org.oasisopen.sca.annotation.Service;
+
+@Service(StockService.class)
+public class StockServiceImpl implements StockService {
+
+ public static final int MAX_VALUE = 1000;
+ private final Random random = new Random(new Date().getTime());
+
+ @Override
+ public String getQuotes() {
+ final Double value = Math.abs(this.random.nextDouble() * this.random.nextInt(StockServiceImpl.MAX_VALUE));
+ return "ASF" + "#" + Double.valueOf(new DecimalFormat("#.##").format(value));
+ }
+
+}
diff --git a/sandbox/fmoga/binding-comet-runtime/src/test/resources/test.composite b/sandbox/fmoga/binding-comet-runtime/src/test/resources/test.composite
new file mode 100644
index 0000000000..15026167be
--- /dev/null
+++ b/sandbox/fmoga/binding-comet-runtime/src/test/resources/test.composite
@@ -0,0 +1,33 @@
+<?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.
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
+ targetNamespace="http://samples"
+ name="Stock">
+
+ <component name="test">
+ <implementation.java class="org.apache.tuscany.sca.test.StockServiceImpl"/>
+ <service name="StockService">
+ <interface.java interface="org.apache.tuscany.sca.test.StockService"/>
+ <tuscany:binding.comet/>
+ </service>
+ </component>
+
+</composite> \ No newline at end of file