001 package org.apache.jcs.auxiliary.remote.util;
002
003 import java.io.Serializable;
004 import java.util.Collections;
005 import java.util.Set;
006
007 import junit.framework.TestCase;
008
009 import org.apache.jcs.auxiliary.remote.value.RemoteCacheRequest;
010 import org.apache.jcs.auxiliary.remote.value.RemoteRequestType;
011 import org.apache.jcs.engine.CacheElement;
012
013 /** Unit tests for the request creator. */
014 public class RemoteCacheRequestFactoryUnitTest
015 extends TestCase
016 {
017 /** Simple test */
018 public void testCreateGetRequest_Normal()
019 {
020 // SETUP
021 String cacheName = "test";
022 Serializable key = "key";
023 long requesterId = 2;
024
025 // DO WORK
026 RemoteCacheRequest<Serializable, Serializable> result =
027 RemoteCacheRequestFactory.createGetRequest( cacheName, key, requesterId );
028
029 // VERIFY
030 assertNotNull( "Should have a result", result );
031 assertEquals( "Wrong cacheName", cacheName, result.getCacheName() );
032 assertEquals( "Wrong type", RemoteRequestType.GET, result.getRequestType() );
033 }
034
035 /** Simple test */
036 public void testCreateGetMatchingRequest_Normal()
037 {
038 // SETUP
039 String cacheName = "test";
040 String pattern = "pattern";
041 long requesterId = 2;
042
043 // DO WORK
044 RemoteCacheRequest<Serializable, Serializable> result =
045 RemoteCacheRequestFactory.createGetMatchingRequest( cacheName, pattern, requesterId );
046
047 // VERIFY
048 assertNotNull( "Should have a result", result );
049 assertEquals( "Wrong cacheName", cacheName, result.getCacheName() );
050 assertEquals( "Wrong type", RemoteRequestType.GET_MATCHING, result.getRequestType() );
051 }
052
053 /** Simple test */
054 public void testCreateGetMultipleRequest_Normal()
055 {
056 // SETUP
057 String cacheName = "test";
058 Set<Serializable> keys = Collections.emptySet();
059 long requesterId = 2;
060
061 // DO WORK
062 RemoteCacheRequest<Serializable, Serializable> result =
063 RemoteCacheRequestFactory.createGetMultipleRequest( cacheName, keys, requesterId );
064
065 // VERIFY
066 assertNotNull( "Should have a result", result );
067 assertEquals( "Wrong cacheName", cacheName, result.getCacheName() );
068 assertEquals( "Wrong type", RemoteRequestType.GET_MULTIPLE, result.getRequestType() );
069 }
070
071 /** Simple test */
072 public void testCreateRemoveRequest_Normal()
073 {
074 // SETUP
075 String cacheName = "test";
076 Serializable key = "key";
077 long requesterId = 2;
078
079 // DO WORK
080 RemoteCacheRequest<Serializable, Serializable> result = RemoteCacheRequestFactory
081 .createRemoveRequest( cacheName, key, requesterId );
082
083 // VERIFY
084 assertNotNull( "Should have a result", result );
085 assertEquals( "Wrong cacheName", cacheName, result.getCacheName() );
086 assertEquals( "Wrong type", RemoteRequestType.REMOVE, result.getRequestType() );
087 }
088
089 /** Simple test */
090 public void testCreateRemoveAllRequest_Normal()
091 {
092 // SETUP
093 String cacheName = "test";
094 long requesterId = 2;
095
096 // DO WORK
097 RemoteCacheRequest<Serializable, Serializable> result =
098 RemoteCacheRequestFactory.createRemoveAllRequest( cacheName, requesterId );
099
100 // VERIFY
101 assertNotNull( "Should have a result", result );
102 assertEquals( "Wrong cacheName", cacheName, result.getCacheName() );
103 assertEquals( "Wrong type", RemoteRequestType.REMOVE_ALL, result.getRequestType() );
104 }
105
106 /** Simple test */
107 public void testCreateUpdateRequest_Normal()
108 {
109 // SETUP
110 String cacheName = "test";
111 Serializable key = "key";
112 long requesterId = 2;
113
114 CacheElement<Serializable, Serializable> element =
115 new CacheElement<Serializable, Serializable>( cacheName, key, null );
116
117 // DO WORK
118 RemoteCacheRequest<Serializable, Serializable> result =
119 RemoteCacheRequestFactory.createUpdateRequest( element, requesterId );
120
121 // VERIFY
122 assertNotNull( "Should have a result", result );
123 assertEquals( "Wrong cacheName", cacheName, result.getCacheName() );
124 assertEquals( "Wrong type", RemoteRequestType.UPDATE, result.getRequestType() );
125 }
126 }