Skip to content

Commit

Permalink
complete re-synch of OffHeapDataContainer.java and @test
Browse files Browse the repository at this point in the history
  • Loading branch information
Cotton-Ben committed Mar 17, 2014
1 parent 2ccb758 commit d97184a
Show file tree
Hide file tree
Showing 92 changed files with 9,592 additions and 159 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
package org.infinispan.cdi.test.cache.remote;

import org.infinispan.cdi.Remote;
import org.infinispan.client.hotrod.RemoteCache;
import org.infinispan.client.hotrod.RemoteCacheManager;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.server.core.test.ServerTestingUtil;
import org.infinispan.server.hotrod.HotRodServer;
import org.infinispan.test.TestingUtil;
import org.infinispan.test.fwk.TestCacheManagerFactory;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.testng.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Produces;
import javax.inject.Inject;

import static org.infinispan.cdi.test.testutil.Deployments.baseDeployment;
import static org.infinispan.client.hotrod.TestHelper.startHotRodServer;
import static org.infinispan.server.hotrod.test.HotRodTestingUtil.hotRodCacheConfiguration;
import static org.testng.Assert.assertEquals;

/**
* Tests the default cache injection.
*
* @author Kevin Pollet <[email protected]> (C) 2011 SERLI
*/
@Test(groups = "functional", testName = "cdi.test.cache.remote.DefaultCacheTest")
public class DefaultCacheTest extends Arquillian {

private static final String SERVER_LIST_KEY = "infinispan.client.hotrod.server_list";

@Deployment
public static Archive<?> deployment() {
return baseDeployment()
.addClass(DefaultCacheTest.class);
}

private static HotRodServer hotRodServer;
private static EmbeddedCacheManager embeddedCacheManager;

@Inject
@Remote
private RemoteCache<String, String> cache;

@Inject
private RemoteCache<String, String> remoteCache;

@BeforeTest
public void beforeMethod() {
embeddedCacheManager = TestCacheManagerFactory.createCacheManager(
hotRodCacheConfiguration(TestCacheManagerFactory
.getDefaultCacheConfiguration(false)));
hotRodServer = startHotRodServer(embeddedCacheManager);
}

@AfterTest(alwaysRun = true)
public void afterMethod() {
TestingUtil.killCacheManagers(embeddedCacheManager);
ServerTestingUtil.killServer(hotRodServer);
}

public void testDefaultCache() {
cache.put("pete", "British");
cache.put("manik", "Sri Lankan");

assertEquals(cache.get("pete"), "British");
assertEquals(cache.get("manik"), "Sri Lankan");
assertEquals(remoteCache.get("pete"), "British");
assertEquals(remoteCache.get("manik"), "Sri Lankan");
}

/**
* Overrides the default remote cache manager.
*/
@Produces
@ApplicationScoped
public static RemoteCacheManager defaultRemoteCacheManager() {
return new RemoteCacheManager(
new org.infinispan.client.hotrod.configuration.ConfigurationBuilder()
.addServers("127.0.0.1:" + hotRodServer.getPort()).build());
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
package org.infinispan.cdi.test.cache.remote;

import org.infinispan.cdi.Remote;
import org.infinispan.client.hotrod.RemoteCache;
import org.infinispan.client.hotrod.RemoteCacheManager;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.server.hotrod.HotRodServer;
import org.infinispan.test.fwk.TestCacheManagerFactory;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.testng.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Produces;
import javax.inject.Inject;

import static org.infinispan.cdi.test.testutil.Deployments.baseDeployment;
import static org.infinispan.client.hotrod.TestHelper.startHotRodServer;
import static org.infinispan.server.hotrod.test.HotRodTestingUtil.hotRodCacheConfiguration;
import static org.testng.Assert.assertEquals;

/**
* Tests the named cache injection.
*
* @author Kevin Pollet <[email protected]> (C) 2011 SERLI
*/
@Test(groups = "functional", testName = "cdi.test.cache.remote.NamedCacheTest")
public class NamedCacheTest extends Arquillian {

private static final String SERVER_LIST_KEY = "infinispan.client.hotrod.server_list";

@Deployment
public static Archive<?> deployment() {
return baseDeployment()
.addClass(NamedCacheTest.class)
.addClass(Small.class);
}

private static HotRodServer hotRodServer;
private static EmbeddedCacheManager embeddedCacheManager;

@Inject
@Remote("small")
private RemoteCache<String, String> cache;

@Inject
@Small
private RemoteCache<String, String> cacheWithQualifier;

@BeforeTest
public void beforeMethod() {
embeddedCacheManager = TestCacheManagerFactory.createCacheManager(
hotRodCacheConfiguration(TestCacheManagerFactory
.getDefaultCacheConfiguration(false)));
embeddedCacheManager.defineConfiguration("small", embeddedCacheManager.getDefaultCacheConfiguration());
hotRodServer = startHotRodServer(embeddedCacheManager);
}

@AfterTest(alwaysRun = true)
public void afterMethod() {
if (embeddedCacheManager != null) embeddedCacheManager.stop();
if (hotRodServer != null) hotRodServer.stop();
}

public void testNamedCache() {
cache.put("pete", "British");
cache.put("manik", "Sri Lankan");

assertEquals(cache.getName(), "small");
assertEquals(cache.get("pete"), "British");
assertEquals(cache.get("manik"), "Sri Lankan");

// here we check that the cache injection with the @Small qualifier works
// like the injection with the @Remote qualifier

assertEquals(cacheWithQualifier.getName(), "small");
assertEquals(cacheWithQualifier.get("pete"), "British");
assertEquals(cacheWithQualifier.get("manik"), "Sri Lankan");
}

/**
* Overrides the default remote cache manager.
*/
@Produces
@ApplicationScoped
public static RemoteCacheManager defaultRemoteCacheManager() {
return new RemoteCacheManager(
new org.infinispan.client.hotrod.configuration.ConfigurationBuilder()
.addServers("127.0.0.1:" + hotRodServer.getPort()).build());
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package org.infinispan.cdi.test.cache.remote;

import org.infinispan.cdi.Remote;

import javax.inject.Qualifier;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
* @author Kevin Pollet <[email protected]> (C) 2011 SERLI
*/
@Remote("small")
@Qualifier
@Target({TYPE, METHOD, PARAMETER, FIELD})
@Retention(RUNTIME)
@Documented
public @interface Small {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
package org.infinispan.cdi.test.cache.remote;

import org.infinispan.client.hotrod.RemoteCache;
import org.infinispan.client.hotrod.RemoteCacheManager;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.server.hotrod.HotRodServer;
import org.infinispan.test.fwk.TestCacheManagerFactory;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.testng.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Produces;
import javax.inject.Inject;

import static org.infinispan.cdi.test.testutil.Deployments.baseDeployment;
import static org.infinispan.client.hotrod.TestHelper.startHotRodServer;
import static org.infinispan.server.hotrod.test.HotRodTestingUtil.hotRodCacheConfiguration;
import static org.testng.Assert.assertEquals;

/**
* Tests that the use of a specific cache manager for one cache.
*
* @author Kevin Pollet <[email protected]> (C) 2011 SERLI
*/
@Test(groups = "functional", testName = "cdi.test.cache.remote.SpecificCacheManagerTest")
public class SpecificCacheManagerTest extends Arquillian {

private static final String SERVER_LIST_KEY = "infinispan.client.hotrod.server_list";

@Deployment
public static Archive<?> deployment() {
return baseDeployment()
.addClass(SpecificCacheManagerTest.class)
.addClass(Small.class);
}

private static HotRodServer hotRodServer;
private static EmbeddedCacheManager embeddedCacheManager;

@Inject
@Small
private RemoteCache<String, String> cache;

@BeforeTest
public void beforeMethod() {
embeddedCacheManager = TestCacheManagerFactory.createCacheManager(
hotRodCacheConfiguration(TestCacheManagerFactory
.getDefaultCacheConfiguration(false)));
embeddedCacheManager.defineConfiguration("small", embeddedCacheManager.getDefaultCacheConfiguration());
hotRodServer = startHotRodServer(embeddedCacheManager);
}

@AfterTest(alwaysRun = true)
public void afterMethod() {
if (embeddedCacheManager != null) embeddedCacheManager.stop();
if (hotRodServer != null) hotRodServer.stop();
}

public void testSpecificCacheManager() {
cache.put("pete", "British");
cache.put("manik", "Sri Lankan");

assertEquals(cache.getName(), "small");
assertEquals(cache.get("pete"), "British");
assertEquals(cache.get("manik"), "Sri Lankan");
}

/**
* Produces a specific cache manager for the small cache.
*
* @see Small
*/
@Small
@Produces
@ApplicationScoped
public static RemoteCacheManager smallRemoteCacheManager() {
return new RemoteCacheManager(
new org.infinispan.client.hotrod.configuration.ConfigurationBuilder()
.addServers("127.0.0.1:" + hotRodServer.getPort()).build());
}

}
Loading

0 comments on commit d97184a

Please sign in to comment.