Advertisement
Guest User

Untitled

a guest
May 6th, 2015
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.05 KB | None | 0 0
  1. package com.jboss.datagrid.test.backwardcompatibility;
  2.  
  3. import java.io.File;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6.  
  7. import com.jboss.datagrid.test.backwardcompatibility.utils.DeploymentBuilder;
  8. import org.infinispan.Cache;
  9. import org.infinispan.configuration.cache.CacheMode;
  10. import org.infinispan.configuration.cache.Configuration;
  11. import org.infinispan.configuration.cache.ConfigurationBuilder;
  12. import org.infinispan.configuration.global.GlobalConfiguration;
  13. import org.infinispan.configuration.global.GlobalConfigurationBuilder;
  14. import org.infinispan.eviction.EvictionStrategy;
  15. import org.infinispan.manager.DefaultCacheManager;
  16. import org.infinispan.marshall.exts.MapExternalizer;
  17. import org.jboss.arquillian.container.test.api.Deployer;
  18. import org.jboss.arquillian.container.test.api.Deployment;
  19. import org.jboss.arquillian.container.test.api.OperateOnDeployment;
  20. import org.jboss.arquillian.container.test.api.TargetsContainer;
  21. import org.jboss.arquillian.junit.Arquillian;
  22. import org.jboss.arquillian.junit.InSequence;
  23. import org.jboss.arquillian.test.api.ArquillianResource;
  24. import org.jboss.shrinkwrap.api.spec.WebArchive;
  25. import org.junit.Test;
  26. import org.junit.runner.RunWith;
  27.  
  28. import static org.junit.Assert.assertEquals;
  29.  
  30. /**
  31. *
  32. */
  33. @RunWith(Arquillian.class)
  34. public class SingleFileStoreBackwardCompatibilityIT {
  35.  
  36. private DefaultCacheManager dfc = null;
  37. private String cacheName = "testCache";
  38.  
  39. private static final String OLD_JDG = "dep1_with_old_jdg";
  40. private static final String NEW_JDG = "dep2_with_new_jdg";
  41.  
  42. private static Map<String, String> storedMap;
  43.  
  44. @ArquillianResource
  45. Deployer deployer;
  46.  
  47. @Deployment(name = OLD_JDG, testable = true, managed = false)
  48. @TargetsContainer("container1")
  49. public static WebArchive createDeploymentOld() {
  50. WebArchive jar = DeploymentBuilder.createTestArchiveWithPreviousJDG("test1.war", "previous");
  51. System.out.println("Content: ===================" + jar.getContent());
  52. return jar;
  53. }
  54.  
  55. @Deployment(name = NEW_JDG, testable = true, managed = false)
  56. @TargetsContainer("container2")
  57. public static WebArchive createDeploymentNew() {
  58. WebArchive jar = DeploymentBuilder.createTestArchive("test2.war", "current");
  59. return jar;
  60. }
  61.  
  62. private DefaultCacheManager configureCacheManager(boolean clearCacheStore) throws Exception {
  63. GlobalConfiguration glob = new GlobalConfigurationBuilder().nonClusteredDefault()
  64. .globalJmxStatistics().allowDuplicateDomains(true).
  65. build();
  66. ConfigurationBuilder c = new ConfigurationBuilder();
  67. c.clustering().cacheMode(CacheMode.LOCAL);
  68.  
  69. File tmpStore = new File("/tmp/cache/" + cacheName + ".dat");
  70. if (clearCacheStore && tmpStore.exists()) {
  71. tmpStore.delete();
  72. }
  73. c.persistence().passivation(false).addSingleFileStore().purgeOnStartup(false).location("/tmp/cache/");
  74. Configuration cnf = c.build();
  75. DefaultCacheManager manager = new DefaultCacheManager(glob);
  76.  
  77. manager.defineConfiguration(cacheName, cnf);
  78. return manager;
  79. }
  80.  
  81. @Test
  82. @OperateOnDeployment(OLD_JDG)
  83. @InSequence(1)
  84. public void testStoreWithOldJDG() throws Exception {
  85. deployer.deploy(OLD_JDG);
  86. dfc = configureCacheManager(true);
  87. dfc.start();
  88. Cache<Object, Object> cache = dfc.getCache(cacheName);
  89. System.out.println("Version: " + cache.getVersion());
  90. storedMap = new HashMap<String, String>();
  91. storedMap.put("k", "v");
  92. cache.put("mapKey", storedMap);
  93. dfc.stop();
  94. deployer.undeploy(OLD_JDG);
  95. }
  96.  
  97. @Test
  98. @OperateOnDeployment(NEW_JDG)
  99. @InSequence(2)
  100. public void testReadWithNewJDG() throws Exception {
  101. deployer.deploy(NEW_JDG);
  102. dfc = configureCacheManager(false);
  103. dfc.start();
  104. Cache<Object, Object> cache = dfc.getCache(cacheName);
  105. System.out.println("Version: " + cache.getVersion());
  106. assertEquals(storedMap, cache.get("mapKey"));
  107. dfc.stop();
  108. deployer.undeploy(NEW_JDG);
  109. }
  110.  
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement