jena-osgi-tests

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/b504678e
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/b504678e
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/b504678e

Branch: refs/heads/master
Commit: b504678ed08f78ed04fb7c6ec05cb5c9eea6cfc4
Parents: b7e65a6
Author: Stian Soiland-Reyes <[email protected]>
Authored: Sun Jan 11 22:22:32 2015 +0000
Committer: Stian Soiland-Reyes <[email protected]>
Committed: Mon Jan 12 01:19:17 2015 +0000

----------------------------------------------------------------------
 jena-osgi-test/pom.xml                          | 69 +++++++-------------
 .../org/apache/jena/osgi/test/JenaCoreTest.java | 32 ---------
 .../apache/jena/osgi/test/JenaCoreTestImpl.java | 28 --------
 .../org/apache/jena/osgi/test/JenaOSGITest.java | 29 ++++++++
 .../jena/osgi/test/JenaOSGITestActivator.java   | 24 +++++++
 .../apache/jena/osgi/test/JenaOSGITestImpl.java | 50 ++++++++++++++
 6 files changed, 125 insertions(+), 107 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/b504678e/jena-osgi-test/pom.xml
----------------------------------------------------------------------
diff --git a/jena-osgi-test/pom.xml b/jena-osgi-test/pom.xml
index 938f364..fc3d79e 100644
--- a/jena-osgi-test/pom.xml
+++ b/jena-osgi-test/pom.xml
@@ -28,26 +28,13 @@
        <packaging>bundle</packaging>
 
        <dependencies>
-       <!-- 
+
                <dependency>
                        <groupId>org.apache.jena</groupId>
                        <artifactId>jena-osgi</artifactId>
                        <version>${project.version}</version>
                        <type>bundle</type>
                </dependency>
-               <dependency>
-                       <groupId>org.apache.jena</groupId>
-                       <artifactId>jena-core</artifactId>
-                       <version>${project.version}</version>
-                       <type>test-jar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.jena</groupId>
-                       <artifactId>jena-arq</artifactId>
-                       <version>${project.version}</version>
-                       <type>test-jar</type>
-               </dependency>
-        -->
 
                <dependency>
                        <groupId>junit</groupId>
@@ -55,19 +42,19 @@
                        <scope>compile</scope>
                </dependency>
                <dependency>
-                       <groupId>org.apache.felix</groupId>
-                       
<artifactId>org.apache.felix.scr.annotations</artifactId>
-                       <version>1.9.8</version>
-                       <type>bundle</type>
-                       <scope>provided</scope>
-               </dependency>
-               <dependency>
                        <groupId>org.everit.osgi.dev</groupId>
                        
<artifactId>org.everit.osgi.dev.testrunner.junit4</artifactId>
-                       <version>3.0.3</version>
-                       <type>bundle</type>
+                       <version>3.0.4</version>
+                       <scope>test</scope>
                </dependency>
+                       <!--  NOTE: LGPL -->                    
 
+               <dependency>
+                       <groupId>org.osgi</groupId>
+                       <artifactId>org.osgi.core</artifactId>
+                       <version>4.3.1</version>
+                       <scope>provided</scope>
+               </dependency>
        </dependencies>
 
        <build>
@@ -78,30 +65,16 @@
                                <extensions>true</extensions>
                                <configuration>
                                        <instructions>
-                                               <!-- 
-                                               
<Embed-Dependency>artifactId=jena-core;inline=true</Embed-Dependency>
-                                               
<Import-Package>com.hp.hpl.jena,org.apache.jena</Import-Package>
-                                                -->
-                                               <!--  Update according to 
expected number of *Test classes -->
-                                               <EOSGi-TestNum>1</EOSGi-TestNum>
+                                               
<Bundle-Activator>org.apache.jena.osgi.test.JenaOSGITestActivator</Bundle-Activator>
+                                               <!-- 
<Import-Package>com.hp.hpl.jena</Import-Package> -->
+                                               <!-- 
<Embed-Dependency>artifactId=jena-core;inline=true</Embed-Dependency> -->
+                                               
+                                               <!-- Update according to 
expected number of @Test methods -->                                            
    
+                                               <EOSGi-TestNum>4</EOSGi-TestNum>
                                        </instructions>
                                </configuration>
                        </plugin>
                        <plugin>
-                               <groupId>org.apache.felix</groupId>
-                               <artifactId>maven-scr-plugin</artifactId>
-                               <version>1.20.0</version>
-                               <executions>
-                                       <execution>
-                                               
<id>generate-scr-scrdescriptor</id>
-                                               <goals>
-                                                       <goal>scr</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-
-                       </plugin>
-                       <plugin>
                                <groupId>org.everit.osgi.dev</groupId>
                                <artifactId>eosgi-maven-plugin</artifactId>
                                <version>3.1.0</version>
@@ -117,12 +90,14 @@
                                <configuration>
                                        <environments>
                                                <environment>
-                                                       <id>equinox</id>
-                                                       
<framework>equinox</framework>
-                                               </environment>
-                                               <environment>
                                                        <id>felix</id>
                                                        
<framework>felix</framework>
+                                                       
<timeout>150000</timeout><!-- 15000ms = 15s -->
+                                               </environment>
+                                               <environment>
+                                                       <id>equinox</id>
+                                                       
<framework>equinox</framework>
+                                                       
<timeout>150000</timeout> <!-- 15000ms = 15s -->
                                                </environment>
                                        </environments>
                                </configuration>

http://git-wip-us.apache.org/repos/asf/jena/blob/b504678e/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaCoreTest.java
----------------------------------------------------------------------
diff --git 
a/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaCoreTest.java 
b/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaCoreTest.java
deleted file mode 100644
index f687f28..0000000
--- a/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaCoreTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * 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.jena.osgi.test;
-
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
-
-@Component
-@Properties({
-        @Property(name = "eosgi.testEngine", value = "junit4"),
-        @Property(name = "eosgi.testId", value = "JenaCoreTest")
-})
-public interface JenaCoreTest {
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/b504678e/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaCoreTestImpl.java
----------------------------------------------------------------------
diff --git 
a/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaCoreTestImpl.java 
b/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaCoreTestImpl.java
deleted file mode 100644
index 4a1c153..0000000
--- 
a/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaCoreTestImpl.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.apache.jena.osgi.test;
-
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Service;
-import org.junit.Test;
-
-@Component
-@Service(JenaCoreTest.class)
-public class JenaCoreTestImpl implements JenaCoreTest {
-       @Test
-       public void coreTests() {
-               System.out.println("Testing stuff");
-               // Ideally we would run everything in 
com.hp.hpl.jena.test.TestPackage
-               // directly, but currently it relies heavily on the folder 
testing/ being
-               // on the current path. We'll cheat and set that at the 
user.dir..
-//             Path jenaCoreFolder = Paths.get("..", "jena-core");
-//             if (! Files.isDirectory(jenaCoreFolder.resolve("testing"))) { 
-//                     throw new RuntimeException("Can't find 
../jena-core/testing");
-//             }
-//             System.setProperty("user.dir", 
jenaCoreFolder.toAbsolutePath().toString());             
-               
-//             TestSuite suite = TestPackage.suite();
-//             junit.textui.TestRunner.run(suite) ;
-//        //SimpleTestRunner.runAndReport(suite) ;
-       }
-       
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/b504678e/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaOSGITest.java
----------------------------------------------------------------------
diff --git 
a/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaOSGITest.java 
b/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaOSGITest.java
new file mode 100644
index 0000000..f19ee5f
--- /dev/null
+++ b/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaOSGITest.java
@@ -0,0 +1,29 @@
+package org.apache.jena.osgi.test;
+
+import org.junit.Test;
+
+/** 
+ * OSGi service interface for test using osgi-testrunner-junit4 
+ * <p>
+ * Junit annotations like @Test must be made here.
+ * The implementation is in JenaOSGITestImpl, which is registered
+ * with OSGi by JenaOSGIActiviator.
+ * 
+ * @author stain
+ *
+ */
+public interface JenaOSGITest {
+
+       @Test
+       public void testJenaIRI() throws Exception;
+
+       @Test
+       public void testJenaCore() throws Exception;
+       
+       @Test
+       public void testJenaArq() throws Exception;
+       
+       @Test
+       public void testJenaTdb() throws Exception;
+       
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/b504678e/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaOSGITestActivator.java
----------------------------------------------------------------------
diff --git 
a/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaOSGITestActivator.java
 
b/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaOSGITestActivator.java
new file mode 100644
index 0000000..c57bb90
--- /dev/null
+++ 
b/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaOSGITestActivator.java
@@ -0,0 +1,24 @@
+package org.apache.jena.osgi.test;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class JenaOSGITestActivator implements BundleActivator {
+
+       @Override
+       public void start(BundleContext context) throws Exception {
+               System.out.println("Starting ");
+               Dictionary<String, String> properties = new Hashtable<>();
+               properties.put("eosgi.testId", "JenaOSGITest");
+               properties.put("eosgi.testEngine", "junit4");           
+               context.registerService(JenaOSGITest.class, new 
JenaOSGITestImpl(), properties);
+       }
+
+       @Override
+       public void stop(BundleContext context) throws Exception {
+       }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/b504678e/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaOSGITestImpl.java
----------------------------------------------------------------------
diff --git 
a/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaOSGITestImpl.java 
b/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaOSGITestImpl.java
new file mode 100644
index 0000000..26a8747
--- /dev/null
+++ 
b/jena-osgi-test/src/main/java/org/apache/jena/osgi/test/JenaOSGITestImpl.java
@@ -0,0 +1,50 @@
+package org.apache.jena.osgi.test;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.StringWriter;
+import java.io.Writer;
+
+import org.apache.jena.iri.IRI;
+import org.apache.jena.iri.IRIFactory;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.rdf.model.Property;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+public class JenaOSGITestImpl implements JenaOSGITest {
+
+       @Override
+       public void testJenaCore() throws Exception {
+               Model model = ModelFactory.createDefaultModel();
+               Resource alice = 
model.createResource("http://example.com/alice";);              
+               Property knows = 
model.createProperty("http://xmlns.com/foaf/0.1/knows";);
+               Resource bob = model.createResource("http://example.com/bob";);
+               model.add(model.createStatement(alice, knows, bob));
+               
+               model.setWriterClassName("someWriter", 
"com.hp.hpl.jena.rdf.model.impl.NTripleWriter");
+               Writer writer = new StringWriter();
+               model.write(writer, "someWriter");
+               assertEquals("<http://example.com/alice> 
<http://xmlns.com/foaf/0.1/knows> <http://example.com/bob> .", 
+                               writer.toString().trim());
+       }
+
+       @Override
+       public void testJenaArq() throws Exception {
+               //fail("Not quite");
+       }
+
+       @Override
+       public void testJenaIRI()throws Exception {
+               IRIFactory iriFactory = IRIFactory.jenaImplementation();
+               IRI iri = iriFactory.create("http://example.com/";);
+               assertEquals("http://example.com/";, iri.toASCIIString());
+       }
+
+       @Override
+       public void testJenaTdb() throws Exception {
+               //assertEquals(1,1);
+               
+       }
+}

Reply via email to