Author: scottbw
Date: Fri Feb 14 14:47:01 2014
New Revision: 1568324

URL: http://svn.apache.org/r1568324
Log:
Refactored tests so that all the unit tests created for wookie-redis are in 
wookie-spi and can be reused by all SPI implementations

Added:
    
wookie/trunk/wookie-services/wookie-spi/src/test/java/org/apache/wookie/services/AbstractPreferencesServiceTest.java
    
wookie/trunk/wookie-services/wookie-spi/src/test/java/org/apache/wookie/services/AbstractSharedContextServiceTest.java
Modified:
    
wookie/trunk/wookie-services/wookie-redis/src/test/java/org/apache/wookie/services/redis/RedisPreferencesServiceTest.java
    
wookie/trunk/wookie-services/wookie-redis/src/test/java/org/apache/wookie/services/redis/RedisSharedContextServiceTest.java

Modified: 
wookie/trunk/wookie-services/wookie-redis/src/test/java/org/apache/wookie/services/redis/RedisPreferencesServiceTest.java
URL: 
http://svn.apache.org/viewvc/wookie/trunk/wookie-services/wookie-redis/src/test/java/org/apache/wookie/services/redis/RedisPreferencesServiceTest.java?rev=1568324&r1=1568323&r2=1568324&view=diff
==============================================================================
--- 
wookie/trunk/wookie-services/wookie-redis/src/test/java/org/apache/wookie/services/redis/RedisPreferencesServiceTest.java
 (original)
+++ 
wookie/trunk/wookie-services/wookie-redis/src/test/java/org/apache/wookie/services/redis/RedisPreferencesServiceTest.java
 Fri Feb 14 14:47:01 2014
@@ -13,29 +13,21 @@
  */
 package org.apache.wookie.services.redis;
 
-import static org.junit.Assert.*;
-
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
 import java.util.Properties;
 
-import org.apache.wookie.services.impl.DefaultPreferenceImpl;
-import org.apache.wookie.beans.IPreference;
-import org.junit.After;
+import org.apache.wookie.services.AbstractPreferencesServiceTest;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
-import org.junit.Test;
 
 import redis.clients.jedis.Jedis;
 
 import uk.co.datumedge.redislauncher.LocalRedisServer;
 import uk.co.datumedge.redislauncher.RedisServer;
 
-public class RedisPreferencesServiceTest {
+public class RedisPreferencesServiceTest extends 
AbstractPreferencesServiceTest{
        
        private static RedisServer redisServer;
-       private static RedisPreferencesService svc;
        
        @BeforeClass
        public static void setup() throws IOException, InterruptedException{
@@ -58,172 +50,4 @@ public class RedisPreferencesServiceTest
                redisServer.stop();
        }
 
-       @After
-       public void cleanUp(){
-               svc.removePreferences("token");
-       }
-       
-       @Test
-       public void getNull(){
-               String result = svc.getPreference("token", "test-null");
-               assertEquals(null, result);
-       }
-       
-       @Test
-       public void setAndGet(){                
-               svc.setPreference("token", "test", "test");
-               String result = svc.getPreference("token", "test");
-               assertEquals("test", result);
-       }
-       
-       @Test
-       public void setAndUpdate(){             
-               svc.setPreference("token", "test", "test");
-               String result = svc.getPreference("token", "test");
-               assertEquals("test", result);
-               svc.setPreference("token", "test", "test-updated");
-               result = svc.getPreference("token", "test");
-               assertEquals("test-updated", result);
-       }
-       
-       @Test
-       public void setAndGetByString(){        
-               svc.setPreference("token", "test", "test-value", true);
-               Collection<IPreference> prefs = svc.getPreferences("token");
-               assertEquals(1, prefs.size());
-               IPreference pref = prefs.iterator().next();
-               
-               assertEquals("test", pref.getName());
-               assertEquals("test-value", pref.getValue());
-               assertEquals(true, pref.isReadOnly());
-       }
-       
-       @Test
-       public void setAndGetByObject(){        
-               IPreference pref = new DefaultPreferenceImpl("test", 
"test-value", true);
-               svc.setPreference("token", pref);
-               Collection<IPreference> prefs = svc.getPreferences("token");
-               assertEquals(1, prefs.size());
-               pref = prefs.iterator().next();
-               
-               assertEquals("test", pref.getName());
-               assertEquals("test-value", pref.getValue());
-               assertEquals(true, pref.isReadOnly());
-       }
-       
-       @Test
-       public void setAndGetByObjectNull(){    
-               svc.setPreference("token", null);
-               Collection<IPreference> prefs = svc.getPreferences("token");
-               assertEquals(0, prefs.size());
-       }
-       
-       @Test
-       public void setCollection(){
-               ArrayList<IPreference> preferences = new 
ArrayList<IPreference>();
-               IPreference preference1 = new 
DefaultPreferenceImpl("test-name1", "test-value1", true);
-               IPreference preference2 = new 
DefaultPreferenceImpl("test-name2", "test-value2", false);
-               preferences.add(preference1);
-               preferences.add(preference2);
-               
-               svc.setPreferences("token", preferences);
-               
-               Collection<IPreference> returned = svc.getPreferences("token");
-               assertEquals(2, returned.size());
-       }
-       
-       @Test
-       public void resetCollection(){
-               ArrayList<IPreference> preferences = new 
ArrayList<IPreference>();
-               IPreference preference1 = new 
DefaultPreferenceImpl("test-name1", "test-value1", true);
-               IPreference preference2 = new 
DefaultPreferenceImpl("test-name2", "test-value2", false);
-               preferences.add(preference1);
-               preferences.add(preference2);
-               
-               svc.setPreferences("token", preferences);
-               
-               Collection<IPreference> returned = svc.getPreferences("token");
-               assertEquals(2, returned.size());
-               
-               preferences.remove(preference2);
-               svc.setPreferences("token", preferences);
-               returned = svc.getPreferences("token");
-               assertEquals(1, returned.size());
-       }
-       
-       @Test
-       public void setCollectionNull(){
-               
-               svc.setPreferences("token", null);
-               
-               Collection<IPreference> returned = svc.getPreferences("token");
-               assertEquals(0, returned.size());
-       }
-       
-       @Test
-       public void resetCollectionNull(){
-               ArrayList<IPreference> preferences = new 
ArrayList<IPreference>();
-               IPreference preference1 = new 
DefaultPreferenceImpl("test-name1", "test-value1", true);
-               IPreference preference2 = new 
DefaultPreferenceImpl("test-name2", "test-value2", false);
-               preferences.add(preference1);
-               preferences.add(preference2);
-               
-               svc.setPreferences("token", preferences);
-               
-               Collection<IPreference> returned = svc.getPreferences("token");
-               assertEquals(2, returned.size());
-               
-               svc.setPreferences("token", null);
-               returned = svc.getPreferences("token");
-               assertEquals(0, returned.size());
-       }
-       
-       
-       @Test
-       public void setAndGetObject(){          
-               IPreference preference = new DefaultPreferenceImpl("test-name", 
"test-value", false);
-               
-               svc.setPreference("token", preference);
-               
-               String result = svc.getPreference("token", "test-name");
-               
-               assertEquals("test-value", result);
-       }
-       
-       @Test
-       public void setAndGetObjects(){
-               
-               IPreference preference1 = new 
DefaultPreferenceImpl("test-name", "test-value", false);
-               IPreference preference2 = new 
DefaultPreferenceImpl("test-name2", "test-value2", false);
-
-               svc.setPreference("token", preference1);
-               svc.setPreference("token", preference2);
-               
-               String result = svc.getPreference("token", "test-name");
-               assertEquals("test-value", result);
-               
-               result = svc.getPreference("token", "test-name2");
-               assertEquals("test-value2", result);            
-       }
-       
-       @Test
-       public void getNothing(){
-                                               
-               String result = svc.getPreference("token", "test-name3");
-               
-               assertEquals(null, result);
-       }
-       
-       @Test
-       public void setAndReset(){
-
-               svc.setPreference("token", "test-reset", "1");
-               svc.setPreference("token", "test-reset", "2");
-               assertEquals("2", svc.getPreference("token", "test-reset"));
-               assertEquals("2", svc.getPreference("token", "test-reset"));
-               svc.setPreference("token", "test-reset", "1");
-               assertEquals("1", svc.getPreference("token", "test-reset"));
-               assertEquals("1", svc.getPreference("token", "test-reset"));
-       }
-
 }

Modified: 
wookie/trunk/wookie-services/wookie-redis/src/test/java/org/apache/wookie/services/redis/RedisSharedContextServiceTest.java
URL: 
http://svn.apache.org/viewvc/wookie/trunk/wookie-services/wookie-redis/src/test/java/org/apache/wookie/services/redis/RedisSharedContextServiceTest.java?rev=1568324&r1=1568323&r2=1568324&view=diff
==============================================================================
--- 
wookie/trunk/wookie-services/wookie-redis/src/test/java/org/apache/wookie/services/redis/RedisSharedContextServiceTest.java
 (original)
+++ 
wookie/trunk/wookie-services/wookie-redis/src/test/java/org/apache/wookie/services/redis/RedisSharedContextServiceTest.java
 Fri Feb 14 14:47:01 2014
@@ -1,31 +1,32 @@
+/*
+ *  Licensed 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.wookie.services.redis;
 
-import static org.junit.Assert.*;
-
 import java.io.IOException;
 import java.util.Properties;
 
-import org.apache.wookie.beans.IParticipant;
-import org.apache.wookie.beans.ISharedData;
-import org.apache.wookie.services.impl.DefaultParticipantImpl;
-import org.apache.wookie.services.impl.DefaultSharedDataImpl;
-import org.junit.After;
+import org.apache.wookie.services.AbstractSharedContextServiceTest;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
-import org.junit.Test;
 
 import redis.clients.jedis.Jedis;
 import uk.co.datumedge.redislauncher.LocalRedisServer;
 import uk.co.datumedge.redislauncher.RedisServer;
 
-public class RedisSharedContextServiceTest {
+public class RedisSharedContextServiceTest extends 
AbstractSharedContextServiceTest {
        
        private static RedisServer redisServer;
-       private static RedisSharedContextService svc;
-       
-       private static final String API_KEY = "testapikey";
-       private static final String CONTEXT_ID = "23";
-       private static final String WIDGET_ID = "http://test.widget/";;
        
        @BeforeClass
        public static void setup() throws IOException, InterruptedException{
@@ -47,303 +48,5 @@ public class RedisSharedContextServiceTe
                svc = null;
                redisServer.stop();
        }
-
-       @After
-       public void cleanUp(){
-               svc.removeSharedData(API_KEY, WIDGET_ID, CONTEXT_ID, 
"test-name");
-               assertNull(svc.getSharedData(API_KEY, WIDGET_ID, CONTEXT_ID, 
"test-name"));
-               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, "alice");
-               assertNull(svc.getParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice"));
-       }
-       
-       @Test
-       public void setAndGet(){
-               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID, 
"test-name", "test-value", false);
-               ISharedData data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name");
-               assertEquals("test-value", data.getDvalue());
-       }
-       
-       @Test
-       public void setAndGetObject(){
-               ISharedData input = new DefaultSharedDataImpl("test-name", 
"test-value");
-               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID,input, 
false);
-               
-               ISharedData data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name");
-               assertEquals("test-value", data.getDvalue());
-       }
-       
-       @Test
-       public void setAppendAndGetObject(){
-               ISharedData input = new DefaultSharedDataImpl("test-name", 
"test-value");
-               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID, input, 
false);
-               ISharedData data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name");
-               assertEquals("test-value", data.getDvalue());
-               
-               //
-               // Append
-               //
-               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID, 
"test-name", "-append", true);
-               ISharedData out = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name");
-               assertEquals("test-value-append", out.getDvalue());
-       }
-       
-       @Test
-       public void setAndGetObjectFromArray(){
-               ISharedData input = new DefaultSharedDataImpl("test-name", 
"test-value");
-               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID,input, 
false);
-               
-               ISharedData[] data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID);
-               assertEquals("test-value", data[0].getDvalue());
-       }
-       
-       @Test
-       public void removeNonexistant(){
-               boolean out = svc.removeSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "rubbish");
-               assertFalse(out);
-       }
-       
-       @Test
-       public void removeEmptyString(){
-               boolean out = svc.removeSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "");
-               assertFalse(out);
-       }
-       
-       @Test
-       public void setNull(){
-               boolean out = svc.updateSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, null, false);
-               assertFalse(out);
-               
-       }
-       
-       @Test
-       public void appendNullToNull(){
-               boolean out = svc.updateSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, null, true);
-               assertFalse(out);
-       }
-       
-       
-       @Test
-       public void appendDataToNull(){
-               boolean out = svc.updateSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name", "append", true);
-               assertTrue(out);
-               ISharedData[] data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID);
-               assertEquals("append", data[0].getDvalue());
-       }
-       
-       @Test
-       public void appendWithNull(){
-               ISharedData input = new DefaultSharedDataImpl("test-name", 
"test-value");
-               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID,input, 
false);
-               
-               boolean out = svc.updateSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, null, true);
-               assertFalse(out);
-               ISharedData[] data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID);
-               assertEquals("test-value", data[0].getDvalue());
-       }
-       
-       @Test
-       public void appendWithNullValue(){
-               ISharedData input = new DefaultSharedDataImpl("test-name", 
"test-value");
-               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID,input, 
false);
-               
-               boolean out = svc.updateSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name", null, true);
-               assertTrue(out);
-               ISharedData[] data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID);
-               assertEquals(0, data.length);
-       }
-       
-       @Test
-       public void append(){
-               ISharedData input = new DefaultSharedDataImpl("test-name", 
"test-value");
-               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID,input, 
false);
-               
-               boolean out = svc.updateSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name", "-append", true);
-               assertTrue(out);
-               ISharedData[] data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID);
-               assertEquals("test-value-append", data[0].getDvalue());
-       }
-       
-       @Test
-       public void overwrite(){
-               ISharedData input = new DefaultSharedDataImpl("test-name", 
"test-value");
-               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID,input, 
false);
-               
-               boolean out = svc.updateSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name", "new-value", false);
-               assertTrue(out);
-               ISharedData[] data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID);
-               assertEquals("new-value", data[0].getDvalue());
-               
-
-       }
-       
-       @Test
-       public void removeNull(){
-               assertFalse(svc.removeSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, null));
-       }
-       
-       @Test
-       public void addGetParticipant(){
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", "http://some.url";));
-               IParticipant participant = svc.getParticipant(API_KEY, 
WIDGET_ID, CONTEXT_ID, "alice");
-               assertEquals("Alice", participant.getParticipantDisplayName());
-               assertEquals("http://some.url";, 
participant.getParticipantThumbnailUrl());
-       }
-       
-       @Test
-       public void addGetParticipants(){
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", "http://some.url";));
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"bob", "Bob", "http://some.url";));
-
-               IParticipant[] participants = svc.getParticipants(API_KEY, 
WIDGET_ID, CONTEXT_ID);
-               assertEquals(2, participants.length);
-               
-               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, "bob");
-               participants = svc.getParticipants(API_KEY, WIDGET_ID, 
CONTEXT_ID);
-               assertEquals(1, participants.length);
-       }
-       
-       @Test
-       public void addGetHosts(){
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", "http://some.url";, IParticipant.HOST_ROLE));
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"bob", "Bob", "http://some.url";));
-
-               IParticipant[] participants = svc.getParticipants(API_KEY, 
WIDGET_ID, CONTEXT_ID);
-               assertEquals(2, participants.length);
-               
-               IParticipant[] hosts = svc.getHosts(API_KEY, WIDGET_ID, 
CONTEXT_ID);
-               assertEquals(1, hosts.length);
-               assertEquals("alice", hosts[0].getParticipantId());
-               
-               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, "bob");
-               participants = svc.getParticipants(API_KEY, WIDGET_ID, 
CONTEXT_ID);
-               assertEquals(1, participants.length);
-       }
-
-       @Test
-       public void addGetHost(){
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", "http://some.url";, IParticipant.HOST_ROLE));
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"bob", "Bob", "http://some.url";));
-
-               IParticipant[] participants = svc.getParticipants(API_KEY, 
WIDGET_ID, CONTEXT_ID);
-               assertEquals(2, participants.length);
-               
-               IParticipant host = svc.getHost(API_KEY, WIDGET_ID, CONTEXT_ID);
-               assertEquals("alice", host.getParticipantId());
-               
-               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, "bob");
-               participants = svc.getParticipants(API_KEY, WIDGET_ID, 
CONTEXT_ID);
-               assertEquals(1, participants.length);
-       }
-       
-       @Test
-       public void getHostNull(){
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"bob", "Bob", "http://some.url";, "Beekeeper"));
-               IParticipant[] participants = svc.getParticipants(API_KEY, 
WIDGET_ID, CONTEXT_ID);
-               assertEquals(1, participants.length);
-               IParticipant host = svc.getHost(API_KEY, WIDGET_ID, CONTEXT_ID);
-               assertNull(host);
-               
-               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, "bob");
-       }
-       
-       @Test
-       public void removeByObject(){
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", "http://some.url";, IParticipant.HOST_ROLE));
-               IParticipant participant = svc.getParticipant(API_KEY, 
WIDGET_ID, CONTEXT_ID, "alice");
-               assertEquals(1, svc.getParticipants(API_KEY, WIDGET_ID, 
CONTEXT_ID).length);
-               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
participant);
-               assertEquals(0, svc.getParticipants(API_KEY, WIDGET_ID, 
CONTEXT_ID).length);
-       }
-       
-       @Test
-       public void addGetViewer(){
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", "http://some.url";, IParticipant.HOST_ROLE));
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"bob", "Bob", "http://some.url";));
-
-               
-               IParticipant viewer = svc.getViewer(API_KEY, WIDGET_ID, 
CONTEXT_ID, "bob");
-               assertEquals("bob", viewer.getParticipantId());
-               
-               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, "bob");
-       }
-       
-       @Test
-       public void addGetIncompleteViewer(){
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", null, IParticipant.HOST_ROLE));
-
-               
-               IParticipant viewer = svc.getViewer(API_KEY, WIDGET_ID, 
CONTEXT_ID, "alice");
-               assertEquals("alice", viewer.getParticipantId());
-               assertNull(viewer.getParticipantThumbnailUrl());                
-       }
-       
-       @Test
-       public void addIncompleteParticipant(){
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", null,null,null));
-
-
-               IParticipant viewer = svc.getViewer(API_KEY, WIDGET_ID, 
CONTEXT_ID, "alice");
-               assertEquals("alice", viewer.getParticipantId());
-               assertNull(viewer.getParticipantThumbnailUrl());        
-               assertNull(viewer.getParticipantDisplayName()); 
-       }
-       
-       @Test
-       public void addParticipantNoId(){
-               assertFalse(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
null, "don",null,null));
-               assertFalse(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"", "carol",null,null));
-       }
-       
-       @Test
-       public void mixedDataAndParticipants(){
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", null, IParticipant.HOST_ROLE));
-               assertTrue(svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID, 
"test-data", "test-value", false));
-               IParticipant[] participants = svc.getParticipants(API_KEY, 
WIDGET_ID, CONTEXT_ID);
-               assertEquals(1, participants.length);
-               ISharedData[] data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID);
-               assertEquals(1, data.length);
-       }
-       
-       @Test
-       public void overwriteParticipant(){
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", "http://some.url";, IParticipant.HOST_ROLE));
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alicia", "http://some.url";, IParticipant.HOST_ROLE));
-               IParticipant[] participants = svc.getParticipants(API_KEY, 
WIDGET_ID, CONTEXT_ID);
-               assertEquals(1, participants.length);           
-               assertEquals("Alicia", 
participants[0].getParticipantDisplayName());
-       }
-
-       @Test
-       public void removeNullParticipant(){
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", null,null,null));
-               IParticipant viewer = svc.getViewer(API_KEY, WIDGET_ID, 
CONTEXT_ID, "alice");
-               assertEquals("alice", viewer.getParticipantId());
-               assertFalse(svc.removeParticipant(API_KEY, WIDGET_ID, 
CONTEXT_ID, ""));
-               viewer = svc.getViewer(API_KEY, WIDGET_ID, CONTEXT_ID, "alice");
-               assertEquals("alice", viewer.getParticipantId());
-       }
-       
-       @Test
-       public void removeNullParticipantObject(){
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", null,null,null));
-               IParticipant viewer = svc.getViewer(API_KEY, WIDGET_ID, 
CONTEXT_ID, "alice");
-               assertEquals("alice", viewer.getParticipantId());
-               IParticipant remove = null;
-               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, remove);
-               viewer = svc.getViewer(API_KEY, WIDGET_ID, CONTEXT_ID, "alice");
-               assertEquals("alice", viewer.getParticipantId());
-       }
-       
-       @Test
-       public void removeNullParticipantId(){
-               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", null,null,null));
-               IParticipant viewer = svc.getViewer(API_KEY, WIDGET_ID, 
CONTEXT_ID, "alice");
-               assertEquals("alice", viewer.getParticipantId());
-               IParticipant remove = new DefaultParticipantImpl(null, null, 
null, null);
-               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, remove);
-               viewer = svc.getViewer(API_KEY, WIDGET_ID, CONTEXT_ID, "alice");
-               assertEquals("alice", viewer.getParticipantId());
-       }
-       
        
 }

Added: 
wookie/trunk/wookie-services/wookie-spi/src/test/java/org/apache/wookie/services/AbstractPreferencesServiceTest.java
URL: 
http://svn.apache.org/viewvc/wookie/trunk/wookie-services/wookie-spi/src/test/java/org/apache/wookie/services/AbstractPreferencesServiceTest.java?rev=1568324&view=auto
==============================================================================
--- 
wookie/trunk/wookie-services/wookie-spi/src/test/java/org/apache/wookie/services/AbstractPreferencesServiceTest.java
 (added)
+++ 
wookie/trunk/wookie-services/wookie-spi/src/test/java/org/apache/wookie/services/AbstractPreferencesServiceTest.java
 Fri Feb 14 14:47:01 2014
@@ -0,0 +1,199 @@
+/*
+ *  Licensed 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.wookie.services;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.apache.wookie.beans.IPreference;
+import org.apache.wookie.services.impl.DefaultPreferenceImpl;
+import org.junit.After;
+import org.junit.Test;
+
+public abstract class AbstractPreferencesServiceTest {
+       
+       protected static PreferencesService svc;
+       
+       @After
+       public void cleanUp(){
+               svc.removePreferences("token");
+       }
+       
+       @Test
+       public void getNull(){
+               String result = svc.getPreference("token", "test-null");
+               assertEquals(null, result);
+       }
+       
+       @Test
+       public void setAndGet(){                
+               svc.setPreference("token", "test", "test");
+               String result = svc.getPreference("token", "test");
+               assertEquals("test", result);
+       }
+       
+       @Test
+       public void setAndUpdate(){             
+               svc.setPreference("token", "test", "test");
+               String result = svc.getPreference("token", "test");
+               assertEquals("test", result);
+               svc.setPreference("token", "test", "test-updated");
+               result = svc.getPreference("token", "test");
+               assertEquals("test-updated", result);
+       }
+       
+       @Test
+       public void setAndGetByString(){        
+               svc.setPreference("token", "test", "test-value", true);
+               Collection<IPreference> prefs = svc.getPreferences("token");
+               assertEquals(1, prefs.size());
+               IPreference pref = prefs.iterator().next();
+               
+               assertEquals("test", pref.getName());
+               assertEquals("test-value", pref.getValue());
+               assertEquals(true, pref.isReadOnly());
+       }
+       
+       @Test
+       public void setAndGetByObject(){        
+               IPreference pref = new DefaultPreferenceImpl("test", 
"test-value", true);
+               svc.setPreference("token", pref);
+               Collection<IPreference> prefs = svc.getPreferences("token");
+               assertEquals(1, prefs.size());
+               pref = prefs.iterator().next();
+               
+               assertEquals("test", pref.getName());
+               assertEquals("test-value", pref.getValue());
+               assertEquals(true, pref.isReadOnly());
+       }
+       
+       @Test
+       public void setAndGetByObjectNull(){    
+               svc.setPreference("token", null);
+               Collection<IPreference> prefs = svc.getPreferences("token");
+               assertEquals(0, prefs.size());
+       }
+       
+       @Test
+       public void setCollection(){
+               ArrayList<IPreference> preferences = new 
ArrayList<IPreference>();
+               IPreference preference1 = new 
DefaultPreferenceImpl("test-name1", "test-value1", true);
+               IPreference preference2 = new 
DefaultPreferenceImpl("test-name2", "test-value2", false);
+               preferences.add(preference1);
+               preferences.add(preference2);
+               
+               svc.setPreferences("token", preferences);
+               
+               Collection<IPreference> returned = svc.getPreferences("token");
+               assertEquals(2, returned.size());
+       }
+       
+       @Test
+       public void resetCollection(){
+               ArrayList<IPreference> preferences = new 
ArrayList<IPreference>();
+               IPreference preference1 = new 
DefaultPreferenceImpl("test-name1", "test-value1", true);
+               IPreference preference2 = new 
DefaultPreferenceImpl("test-name2", "test-value2", false);
+               preferences.add(preference1);
+               preferences.add(preference2);
+               
+               svc.setPreferences("token", preferences);
+               
+               Collection<IPreference> returned = svc.getPreferences("token");
+               assertEquals(2, returned.size());
+               
+               preferences.remove(preference2);
+               svc.setPreferences("token", preferences);
+               returned = svc.getPreferences("token");
+               assertEquals(1, returned.size());
+       }
+       
+       @Test
+       public void setCollectionNull(){
+               
+               svc.setPreferences("token", null);
+               
+               Collection<IPreference> returned = svc.getPreferences("token");
+               assertEquals(0, returned.size());
+       }
+       
+       @Test
+       public void resetCollectionNull(){
+               ArrayList<IPreference> preferences = new 
ArrayList<IPreference>();
+               IPreference preference1 = new 
DefaultPreferenceImpl("test-name1", "test-value1", true);
+               IPreference preference2 = new 
DefaultPreferenceImpl("test-name2", "test-value2", false);
+               preferences.add(preference1);
+               preferences.add(preference2);
+               
+               svc.setPreferences("token", preferences);
+               
+               Collection<IPreference> returned = svc.getPreferences("token");
+               assertEquals(2, returned.size());
+               
+               svc.setPreferences("token", null);
+               returned = svc.getPreferences("token");
+               assertEquals(0, returned.size());
+       }
+       
+       
+       @Test
+       public void setAndGetObject(){          
+               IPreference preference = new DefaultPreferenceImpl("test-name", 
"test-value", false);
+               
+               svc.setPreference("token", preference);
+               
+               String result = svc.getPreference("token", "test-name");
+               
+               assertEquals("test-value", result);
+       }
+       
+       @Test
+       public void setAndGetObjects(){
+               
+               IPreference preference1 = new 
DefaultPreferenceImpl("test-name", "test-value", false);
+               IPreference preference2 = new 
DefaultPreferenceImpl("test-name2", "test-value2", false);
+
+               svc.setPreference("token", preference1);
+               svc.setPreference("token", preference2);
+               
+               String result = svc.getPreference("token", "test-name");
+               assertEquals("test-value", result);
+               
+               result = svc.getPreference("token", "test-name2");
+               assertEquals("test-value2", result);            
+       }
+       
+       @Test
+       public void getNothing(){
+                                               
+               String result = svc.getPreference("token", "test-name3");
+               
+               assertEquals(null, result);
+       }
+       
+       @Test
+       public void setAndReset(){
+
+               svc.setPreference("token", "test-reset", "1");
+               svc.setPreference("token", "test-reset", "2");
+               assertEquals("2", svc.getPreference("token", "test-reset"));
+               assertEquals("2", svc.getPreference("token", "test-reset"));
+               svc.setPreference("token", "test-reset", "1");
+               assertEquals("1", svc.getPreference("token", "test-reset"));
+               assertEquals("1", svc.getPreference("token", "test-reset"));
+       }
+
+
+}

Added: 
wookie/trunk/wookie-services/wookie-spi/src/test/java/org/apache/wookie/services/AbstractSharedContextServiceTest.java
URL: 
http://svn.apache.org/viewvc/wookie/trunk/wookie-services/wookie-spi/src/test/java/org/apache/wookie/services/AbstractSharedContextServiceTest.java?rev=1568324&view=auto
==============================================================================
--- 
wookie/trunk/wookie-services/wookie-spi/src/test/java/org/apache/wookie/services/AbstractSharedContextServiceTest.java
 (added)
+++ 
wookie/trunk/wookie-services/wookie-spi/src/test/java/org/apache/wookie/services/AbstractSharedContextServiceTest.java
 Fri Feb 14 14:47:01 2014
@@ -0,0 +1,321 @@
+package org.apache.wookie.services;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import org.apache.wookie.beans.IParticipant;
+import org.apache.wookie.beans.ISharedData;
+import org.apache.wookie.services.impl.DefaultParticipantImpl;
+import org.apache.wookie.services.impl.DefaultSharedDataImpl;
+import org.junit.After;
+import org.junit.Test;
+
+
+public class AbstractSharedContextServiceTest {
+       
+       protected static SharedContextService svc;
+       
+       protected static final String API_KEY = "testapikey";
+       protected static final String CONTEXT_ID = "23";
+       protected static final String WIDGET_ID = "http://test.widget/";;
+
+       @After
+       public void cleanUp(){
+               svc.removeSharedData(API_KEY, WIDGET_ID, CONTEXT_ID, 
"test-name");
+               assertNull(svc.getSharedData(API_KEY, WIDGET_ID, CONTEXT_ID, 
"test-name"));
+               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, "alice");
+               assertNull(svc.getParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice"));
+       }
+       
+       @Test
+       public void setAndGet(){
+               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID, 
"test-name", "test-value", false);
+               ISharedData data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name");
+               assertEquals("test-value", data.getDvalue());
+       }
+       
+       @Test
+       public void setAndGetObject(){
+               ISharedData input = new DefaultSharedDataImpl("test-name", 
"test-value");
+               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID,input, 
false);
+               
+               ISharedData data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name");
+               assertEquals("test-value", data.getDvalue());
+       }
+       
+       @Test
+       public void setAppendAndGetObject(){
+               ISharedData input = new DefaultSharedDataImpl("test-name", 
"test-value");
+               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID, input, 
false);
+               ISharedData data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name");
+               assertEquals("test-value", data.getDvalue());
+               
+               //
+               // Append
+               //
+               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID, 
"test-name", "-append", true);
+               ISharedData out = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name");
+               assertEquals("test-value-append", out.getDvalue());
+       }
+       
+       @Test
+       public void setAndGetObjectFromArray(){
+               ISharedData input = new DefaultSharedDataImpl("test-name", 
"test-value");
+               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID,input, 
false);
+               
+               ISharedData[] data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID);
+               assertEquals("test-value", data[0].getDvalue());
+       }
+       
+       @Test
+       public void removeNonexistant(){
+               boolean out = svc.removeSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "rubbish");
+               assertFalse(out);
+       }
+       
+       @Test
+       public void removeEmptyString(){
+               boolean out = svc.removeSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "");
+               assertFalse(out);
+       }
+       
+       @Test
+       public void setNull(){
+               boolean out = svc.updateSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, null, false);
+               assertFalse(out);
+               
+       }
+       
+       @Test
+       public void appendNullToNull(){
+               boolean out = svc.updateSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, null, true);
+               assertFalse(out);
+       }
+       
+       
+       @Test
+       public void appendDataToNull(){
+               boolean out = svc.updateSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name", "append", true);
+               assertTrue(out);
+               ISharedData[] data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID);
+               assertEquals("append", data[0].getDvalue());
+       }
+       
+       @Test
+       public void appendWithNull(){
+               ISharedData input = new DefaultSharedDataImpl("test-name", 
"test-value");
+               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID,input, 
false);
+               
+               boolean out = svc.updateSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, null, true);
+               assertFalse(out);
+               ISharedData[] data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID);
+               assertEquals("test-value", data[0].getDvalue());
+       }
+       
+       @Test
+       public void appendWithNullValue(){
+               ISharedData input = new DefaultSharedDataImpl("test-name", 
"test-value");
+               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID,input, 
false);
+               
+               boolean out = svc.updateSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name", null, true);
+               assertTrue(out);
+               ISharedData[] data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID);
+               assertEquals(0, data.length);
+       }
+       
+       @Test
+       public void append(){
+               ISharedData input = new DefaultSharedDataImpl("test-name", 
"test-value");
+               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID,input, 
false);
+               
+               boolean out = svc.updateSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name", "-append", true);
+               assertTrue(out);
+               ISharedData[] data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID);
+               assertEquals("test-value-append", data[0].getDvalue());
+       }
+       
+       @Test
+       public void overwrite(){
+               ISharedData input = new DefaultSharedDataImpl("test-name", 
"test-value");
+               svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID,input, 
false);
+               
+               boolean out = svc.updateSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, "test-name", "new-value", false);
+               assertTrue(out);
+               ISharedData[] data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID);
+               assertEquals("new-value", data[0].getDvalue());
+               
+
+       }
+       
+       @Test
+       public void removeNull(){
+               assertFalse(svc.removeSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID, null));
+       }
+       
+       @Test
+       public void addGetParticipant(){
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", "http://some.url";));
+               IParticipant participant = svc.getParticipant(API_KEY, 
WIDGET_ID, CONTEXT_ID, "alice");
+               assertEquals("Alice", participant.getParticipantDisplayName());
+               assertEquals("http://some.url";, 
participant.getParticipantThumbnailUrl());
+       }
+       
+       @Test
+       public void addGetParticipants(){
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", "http://some.url";));
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"bob", "Bob", "http://some.url";));
+
+               IParticipant[] participants = svc.getParticipants(API_KEY, 
WIDGET_ID, CONTEXT_ID);
+               assertEquals(2, participants.length);
+               
+               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, "bob");
+               participants = svc.getParticipants(API_KEY, WIDGET_ID, 
CONTEXT_ID);
+               assertEquals(1, participants.length);
+       }
+       
+       @Test
+       public void addGetHosts(){
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", "http://some.url";, IParticipant.HOST_ROLE));
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"bob", "Bob", "http://some.url";));
+
+               IParticipant[] participants = svc.getParticipants(API_KEY, 
WIDGET_ID, CONTEXT_ID);
+               assertEquals(2, participants.length);
+               
+               IParticipant[] hosts = svc.getHosts(API_KEY, WIDGET_ID, 
CONTEXT_ID);
+               assertEquals(1, hosts.length);
+               assertEquals("alice", hosts[0].getParticipantId());
+               
+               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, "bob");
+               participants = svc.getParticipants(API_KEY, WIDGET_ID, 
CONTEXT_ID);
+               assertEquals(1, participants.length);
+       }
+
+       @Test
+       public void addGetHost(){
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", "http://some.url";, IParticipant.HOST_ROLE));
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"bob", "Bob", "http://some.url";));
+
+               IParticipant[] participants = svc.getParticipants(API_KEY, 
WIDGET_ID, CONTEXT_ID);
+               assertEquals(2, participants.length);
+               
+               IParticipant host = svc.getHost(API_KEY, WIDGET_ID, CONTEXT_ID);
+               assertEquals("alice", host.getParticipantId());
+               
+               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, "bob");
+               participants = svc.getParticipants(API_KEY, WIDGET_ID, 
CONTEXT_ID);
+               assertEquals(1, participants.length);
+       }
+       
+       @Test
+       public void getHostNull(){
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"bob", "Bob", "http://some.url";, "Beekeeper"));
+               IParticipant[] participants = svc.getParticipants(API_KEY, 
WIDGET_ID, CONTEXT_ID);
+               assertEquals(1, participants.length);
+               IParticipant host = svc.getHost(API_KEY, WIDGET_ID, CONTEXT_ID);
+               assertNull(host);
+               
+               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, "bob");
+       }
+       
+       @Test
+       public void removeByObject(){
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", "http://some.url";, IParticipant.HOST_ROLE));
+               IParticipant participant = svc.getParticipant(API_KEY, 
WIDGET_ID, CONTEXT_ID, "alice");
+               assertEquals(1, svc.getParticipants(API_KEY, WIDGET_ID, 
CONTEXT_ID).length);
+               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
participant);
+               assertEquals(0, svc.getParticipants(API_KEY, WIDGET_ID, 
CONTEXT_ID).length);
+       }
+       
+       @Test
+       public void addGetViewer(){
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", "http://some.url";, IParticipant.HOST_ROLE));
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"bob", "Bob", "http://some.url";));
+
+               
+               IParticipant viewer = svc.getViewer(API_KEY, WIDGET_ID, 
CONTEXT_ID, "bob");
+               assertEquals("bob", viewer.getParticipantId());
+               
+               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, "bob");
+       }
+       
+       @Test
+       public void addGetIncompleteViewer(){
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", null, IParticipant.HOST_ROLE));
+
+               
+               IParticipant viewer = svc.getViewer(API_KEY, WIDGET_ID, 
CONTEXT_ID, "alice");
+               assertEquals("alice", viewer.getParticipantId());
+               assertNull(viewer.getParticipantThumbnailUrl());                
+       }
+       
+       @Test
+       public void addIncompleteParticipant(){
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", null,null,null));
+
+
+               IParticipant viewer = svc.getViewer(API_KEY, WIDGET_ID, 
CONTEXT_ID, "alice");
+               assertEquals("alice", viewer.getParticipantId());
+               assertNull(viewer.getParticipantThumbnailUrl());        
+               assertNull(viewer.getParticipantDisplayName()); 
+       }
+       
+       @Test
+       public void addParticipantNoId(){
+               assertFalse(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
null, "don",null,null));
+               assertFalse(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"", "carol",null,null));
+       }
+       
+       @Test
+       public void mixedDataAndParticipants(){
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", null, IParticipant.HOST_ROLE));
+               assertTrue(svc.updateSharedData(API_KEY, WIDGET_ID, CONTEXT_ID, 
"test-data", "test-value", false));
+               IParticipant[] participants = svc.getParticipants(API_KEY, 
WIDGET_ID, CONTEXT_ID);
+               assertEquals(1, participants.length);
+               ISharedData[] data = svc.getSharedData(API_KEY, WIDGET_ID, 
CONTEXT_ID);
+               assertEquals(1, data.length);
+       }
+       
+       @Test
+       public void overwriteParticipant(){
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alice", "http://some.url";, IParticipant.HOST_ROLE));
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", "Alicia", "http://some.url";, IParticipant.HOST_ROLE));
+               IParticipant[] participants = svc.getParticipants(API_KEY, 
WIDGET_ID, CONTEXT_ID);
+               assertEquals(1, participants.length);           
+               assertEquals("Alicia", 
participants[0].getParticipantDisplayName());
+       }
+
+       @Test
+       public void removeNullParticipant(){
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", null,null,null));
+               IParticipant viewer = svc.getViewer(API_KEY, WIDGET_ID, 
CONTEXT_ID, "alice");
+               assertEquals("alice", viewer.getParticipantId());
+               assertFalse(svc.removeParticipant(API_KEY, WIDGET_ID, 
CONTEXT_ID, ""));
+               viewer = svc.getViewer(API_KEY, WIDGET_ID, CONTEXT_ID, "alice");
+               assertEquals("alice", viewer.getParticipantId());
+       }
+       
+       @Test
+       public void removeNullParticipantObject(){
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", null,null,null));
+               IParticipant viewer = svc.getViewer(API_KEY, WIDGET_ID, 
CONTEXT_ID, "alice");
+               assertEquals("alice", viewer.getParticipantId());
+               IParticipant remove = null;
+               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, remove);
+               viewer = svc.getViewer(API_KEY, WIDGET_ID, CONTEXT_ID, "alice");
+               assertEquals("alice", viewer.getParticipantId());
+       }
+       
+       @Test
+       public void removeNullParticipantId(){
+               assertTrue(svc.addParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, 
"alice", null,null,null));
+               IParticipant viewer = svc.getViewer(API_KEY, WIDGET_ID, 
CONTEXT_ID, "alice");
+               assertEquals("alice", viewer.getParticipantId());
+               IParticipant remove = new DefaultParticipantImpl(null, null, 
null, null);
+               svc.removeParticipant(API_KEY, WIDGET_ID, CONTEXT_ID, remove);
+               viewer = svc.getViewer(API_KEY, WIDGET_ID, CONTEXT_ID, "alice");
+               assertEquals("alice", viewer.getParticipantId());
+       }
+
+}


Reply via email to