From 7ebeba306907107f780881878f65d936dfab04d4 Mon Sep 17 00:00:00 2001 From: eranda Date: Sun, 21 Aug 2011 21:58:20 +0000 Subject: creating a service test cases for 3 components git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1160071 13f79535-47bb-0310-9956-ffa450edef68 --- .../cassandra/CassandraServiceTestCase.java | 109 +++++++++++++++++++++ .../cassandra/CassandraTestCase.java | 2 +- .../couchdb/CouchDBServiceTestCase.java | 109 +++++++++++++++++++++ .../nosqldatastore/hbase/HBaseServiceTestCase.java | 109 +++++++++++++++++++++ .../nosqldatastore/hbase/HBaseTestCase.java | 2 +- 5 files changed, 329 insertions(+), 2 deletions(-) create mode 100644 collaboration/GSoC-2011-Eranda/cassandra/src/test/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraServiceTestCase.java create mode 100644 collaboration/GSoC-2011-Eranda/couchdb/src/test/java/org/apache/tuscany/nosqldatastore/couchdb/CouchDBServiceTestCase.java create mode 100644 collaboration/GSoC-2011-Eranda/hbase/src/test/java/org/apache/tuscany/nosqldatastore/hbase/HBaseServiceTestCase.java diff --git a/collaboration/GSoC-2011-Eranda/cassandra/src/test/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraServiceTestCase.java b/collaboration/GSoC-2011-Eranda/cassandra/src/test/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraServiceTestCase.java new file mode 100644 index 0000000000..46cb8a617c --- /dev/null +++ b/collaboration/GSoC-2011-Eranda/cassandra/src/test/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraServiceTestCase.java @@ -0,0 +1,109 @@ +/* + * 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.nosqldatastore.cassandra; + +import junit.framework.Assert; +import org.apache.tuscany.nosqldatastore.exception.EntryNotFoundException; +import org.junit.Before; +import org.junit.Test; + +import java.io.*; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLConnection; + +import static junit.framework.Assert.*; + +public class CassandraServiceTestCase { + + private URL url; + private URLConnection connection; + + @Before + public void testInsertEntry() throws IOException { + + url = new URL("http://localhost:8085/DatastoreService/addEntry?database=twitapp&group=twits&key=twitName1&value=twit1"); + connection = url.openConnection(); + + url = new URL("http://localhost:8085/DatastoreService/addEntry?database=twitapp&group=twits&key=twitName1&value=twit1"); + connection = url.openConnection(); + + url = new URL("http://localhost:8085/DatastoreService/addEntry?database=twitapp&group=twits&key=twitName3&value=twit3"); + connection = url.openConnection(); + + url = new URL("http://localhost:8085/DatastoreService/getEntry?database=twitapp&group=twits&key=twitName1"); + Assert.assertEquals("twit1", read(url.openStream())); + + url = new URL("http://localhost:8085/DatastoreService/getEntry?database=twitapp&group=twits&key=twitName2"); + Assert.assertEquals("twit2", read(url.openStream())); + + url = new URL("http://localhost:8085/DatastoreService/getEntry?database=twitapp&group=twits&key=twitName3"); + Assert.assertEquals("twit3", read(url.openStream())); + + } + + @Test + public void testUpdateEntry() throws IOException{ + url = new URL("http://localhost:8085/DatastoreService/updateEntry?database=twitapp&group=twits&key=twitName3&value=twit4"); + connection = url.openConnection(); + + url = new URL("http://localhost:8085/DatastoreService/getEntry?database=twitapp&group=twits&key=twitName3"); + Assert.assertEquals("twit4", read(url.openStream())); + } + + @Test(expected = EntryNotFoundException.class) + public void testDeleteEntry() throws IOException{ + url = new URL("http://localhost:8085/DatastoreService/deleteEntry?database=twitapp&group=twits&key=twitName3"); + connection = url.openConnection(); + + url = new URL("http://localhost:8085/DatastoreService/getEntry?database=twitapp&group=twits&key=twitName3"); + Assert.assertNotSame("twit4", read(url.openStream())); + } + + @Test + public void testDeleteGroup() throws IOException { + url = new URL("http://localhost:8085/DatastoreService/deleteGroup?database=twitapp&group=twits"); + connection = url.openConnection(); + } + + @Test + public void testDeleteDatabase() throws IOException{ + url = new URL("http://localhost:8085/DatastoreService/deleteDatabase?database=twitapp"); + connection = url.openConnection(); + } + + + private static String read(InputStream is) throws IOException { + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(is)); + StringBuffer sb = new StringBuffer(); + String str; + while ((str = reader.readLine()) != null) { + sb.append(str); + } + return sb.toString(); + } finally { + if (reader != null) { + reader.close(); + } + } + } + +} diff --git a/collaboration/GSoC-2011-Eranda/cassandra/src/test/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraTestCase.java b/collaboration/GSoC-2011-Eranda/cassandra/src/test/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraTestCase.java index 267808dfa1..bf6e6ca06f 100644 --- a/collaboration/GSoC-2011-Eranda/cassandra/src/test/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraTestCase.java +++ b/collaboration/GSoC-2011-Eranda/cassandra/src/test/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraTestCase.java @@ -41,7 +41,7 @@ public class CassandraTestCase { @Test public void testAddEntry() throws Exception { - Database db = session.createDatabase("TwitApp"); + Database db = session.createDatabase("twitapp"); Group group = db.createGroup("twits"); group.addEntry("twitName1", "Here I am"); diff --git a/collaboration/GSoC-2011-Eranda/couchdb/src/test/java/org/apache/tuscany/nosqldatastore/couchdb/CouchDBServiceTestCase.java b/collaboration/GSoC-2011-Eranda/couchdb/src/test/java/org/apache/tuscany/nosqldatastore/couchdb/CouchDBServiceTestCase.java new file mode 100644 index 0000000000..ba259825e1 --- /dev/null +++ b/collaboration/GSoC-2011-Eranda/couchdb/src/test/java/org/apache/tuscany/nosqldatastore/couchdb/CouchDBServiceTestCase.java @@ -0,0 +1,109 @@ +/* + * 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.nosqldatastore.couchdb; + +import junit.framework.Assert; +import org.apache.tuscany.nosqldatastore.exception.EntryNotFoundException; +import org.junit.Before; +import org.junit.Test; + +import java.io.*; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLConnection; + +import static junit.framework.Assert.*; + +public class CouchDBServiceTestCase { + + private URL url; + private URLConnection connection; + + @Before + public void testInsertEntry() throws IOException { + + url = new URL("http://localhost:8085/DatastoreService/addEntry?database=twitapp&group=twits&key=twitName1&value=twit1"); + connection = url.openConnection(); + + url = new URL("http://localhost:8085/DatastoreService/addEntry?database=twitapp&group=twits&key=twitName1&value=twit1"); + connection = url.openConnection(); + + url = new URL("http://localhost:8085/DatastoreService/addEntry?database=twitapp&group=twits&key=twitName3&value=twit3"); + connection = url.openConnection(); + + url = new URL("http://localhost:8085/DatastoreService/getEntry?database=twitapp&group=twits&key=twitName1"); + Assert.assertEquals("twit1", read(url.openStream())); + + url = new URL("http://localhost:8085/DatastoreService/getEntry?database=twitapp&group=twits&key=twitName2"); + Assert.assertEquals("twit2", read(url.openStream())); + + url = new URL("http://localhost:8085/DatastoreService/getEntry?database=twitapp&group=twits&key=twitName3"); + Assert.assertEquals("twit3", read(url.openStream())); + + } + + @Test + public void testUpdateEntry() throws IOException{ + url = new URL("http://localhost:8085/DatastoreService/updateEntry?database=twitapp&group=twits&key=twitName3&value=twit4"); + connection = url.openConnection(); + + url = new URL("http://localhost:8085/DatastoreService/getEntry?database=twitapp&group=twits&key=twitName3"); + Assert.assertEquals("twit4", read(url.openStream())); + } + + @Test(expected = EntryNotFoundException.class) + public void testDeleteEntry() throws IOException{ + url = new URL("http://localhost:8085/DatastoreService/deleteEntry?database=twitapp&group=twits&key=twitName3"); + connection = url.openConnection(); + + url = new URL("http://localhost:8085/DatastoreService/getEntry?database=twitapp&group=twits&key=twitName3"); + Assert.assertNotSame("twit4", read(url.openStream())); + } + + @Test + public void testDeleteGroup() throws IOException { + url = new URL("http://localhost:8085/DatastoreService/deleteGroup?database=twitapp&group=twits"); + connection = url.openConnection(); + } + + @Test + public void testDeleteDatabase() throws IOException{ + url = new URL("http://localhost:8085/DatastoreService/deleteDatabase?database=twitapp"); + connection = url.openConnection(); + } + + + private static String read(InputStream is) throws IOException { + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(is)); + StringBuffer sb = new StringBuffer(); + String str; + while ((str = reader.readLine()) != null) { + sb.append(str); + } + return sb.toString(); + } finally { + if (reader != null) { + reader.close(); + } + } + } + +} diff --git a/collaboration/GSoC-2011-Eranda/hbase/src/test/java/org/apache/tuscany/nosqldatastore/hbase/HBaseServiceTestCase.java b/collaboration/GSoC-2011-Eranda/hbase/src/test/java/org/apache/tuscany/nosqldatastore/hbase/HBaseServiceTestCase.java new file mode 100644 index 0000000000..e459ca44c4 --- /dev/null +++ b/collaboration/GSoC-2011-Eranda/hbase/src/test/java/org/apache/tuscany/nosqldatastore/hbase/HBaseServiceTestCase.java @@ -0,0 +1,109 @@ +/* + * 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.nosqldatastore.hbase; + +import junit.framework.Assert; +import org.apache.tuscany.nosqldatastore.exception.EntryNotFoundException; +import org.junit.Before; +import org.junit.Test; + +import java.io.*; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLConnection; + +import static junit.framework.Assert.*; + +public class HBaseServiceTestCase { + + private URL url; + private URLConnection connection; + + @Before + public void testInsertEntry() throws IOException { + + url = new URL("http://localhost:8085/DatastoreService/addEntry?database=twitapp&group=twits&key=twitName1&value=twit1"); + connection = url.openConnection(); + + url = new URL("http://localhost:8085/DatastoreService/addEntry?database=twitapp&group=twits&key=twitName1&value=twit1"); + connection = url.openConnection(); + + url = new URL("http://localhost:8085/DatastoreService/addEntry?database=twitapp&group=twits&key=twitName3&value=twit3"); + connection = url.openConnection(); + + url = new URL("http://localhost:8085/DatastoreService/getEntry?database=twitapp&group=twits&key=twitName1"); + Assert.assertEquals("twit1", read(url.openStream())); + + url = new URL("http://localhost:8085/DatastoreService/getEntry?database=twitapp&group=twits&key=twitName2"); + Assert.assertEquals("twit2", read(url.openStream())); + + url = new URL("http://localhost:8085/DatastoreService/getEntry?database=twitapp&group=twits&key=twitName3"); + Assert.assertEquals("twit3", read(url.openStream())); + + } + + @Test + public void testUpdateEntry() throws IOException{ + url = new URL("http://localhost:8085/DatastoreService/updateEntry?database=twitapp&group=twits&key=twitName3&value=twit4"); + connection = url.openConnection(); + + url = new URL("http://localhost:8085/DatastoreService/getEntry?database=twitapp&group=twits&key=twitName3"); + Assert.assertEquals("twit4", read(url.openStream())); + } + + @Test(expected = EntryNotFoundException.class) + public void testDeleteEntry() throws IOException{ + url = new URL("http://localhost:8085/DatastoreService/deleteEntry?database=twitapp&group=twits&key=twitName3"); + connection = url.openConnection(); + + url = new URL("http://localhost:8085/DatastoreService/getEntry?database=twitapp&group=twits&key=twitName3"); + Assert.assertNotSame("twit4", read(url.openStream())); + } + + @Test + public void testDeleteGroup() throws IOException { + url = new URL("http://localhost:8085/DatastoreService/deleteGroup?database=twitapp&group=twits"); + connection = url.openConnection(); + } + + @Test + public void testDeleteDatabase() throws IOException{ + url = new URL("http://localhost:8085/DatastoreService/deleteDatabase?database=twitapp"); + connection = url.openConnection(); + } + + + private static String read(InputStream is) throws IOException { + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(is)); + StringBuffer sb = new StringBuffer(); + String str; + while ((str = reader.readLine()) != null) { + sb.append(str); + } + return sb.toString(); + } finally { + if (reader != null) { + reader.close(); + } + } + } + +} diff --git a/collaboration/GSoC-2011-Eranda/hbase/src/test/java/org/apache/tuscany/nosqldatastore/hbase/HBaseTestCase.java b/collaboration/GSoC-2011-Eranda/hbase/src/test/java/org/apache/tuscany/nosqldatastore/hbase/HBaseTestCase.java index f88d3b9d4b..92b71a3b63 100644 --- a/collaboration/GSoC-2011-Eranda/hbase/src/test/java/org/apache/tuscany/nosqldatastore/hbase/HBaseTestCase.java +++ b/collaboration/GSoC-2011-Eranda/hbase/src/test/java/org/apache/tuscany/nosqldatastore/hbase/HBaseTestCase.java @@ -41,7 +41,7 @@ public class HBaseTestCase { @Test public void testAddEntry() throws Exception { - Database db = session.createDatabase("TwitApp"); + Database db = session.createDatabase("twitapp"); Group group = db.createGroup("twits"); group.addEntry("twitName1", "Here I am"); -- cgit v1.2.3