package org.infinispan.server.test.task;
import static java.util.Arrays.asList;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.infinispan.arquillian.core.InfinispanResource;
import org.infinispan.arquillian.core.RemoteInfinispanServer;
import org.infinispan.arquillian.core.RunningServer;
import org.infinispan.arquillian.core.WithRunningServer;
import org.infinispan.server.test.category.Task;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.exporter.ZipExporter;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.experimental.categories.Category;
import org.junit.runner.RunWith;
@RunWith(Arquillian.class)
@Category({Task.class})
@WithRunningServer({@RunningServer(name="clusteredcache-1"), @RunningServer(name = "clusteredcache-2")})
public class DistributedServerTaskIT extends AbstractDistributedServerTaskIT {
@InfinispanResource("clusteredcache-1")
RemoteInfinispanServer server1;
@InfinispanResource("clusteredcache-2")
RemoteInfinispanServer server2;
@Override
protected List<RemoteInfinispanServer> getServers() {
List<RemoteInfinispanServer> servers = new ArrayList<>();
servers.add(server1);
servers.add(server2);
return Collections.unmodifiableList(servers);
}
@BeforeClass
public static void before() throws Exception {
String[] serverDirs = new String[]{System.getProperty("server1.dist"), System.getProperty("server2.dist")};
JavaArchive jar = createJavaArchive();
jar.addAsResource(new File("/stream_serverTask.js"));
jar.addAsManifestResource("MANIFEST.MF");
for (String serverDir : serverDirs) {
File f = new File(serverDir, "/standalone/deployments/custom-distributed-task.jar");
jar.as(ZipExporter.class).exportTo(f, true);
}
expectedServerList = asList("node0", "node1");
}
@AfterClass
public static void undeploy() {
String[] serverDirs = new String[] {System.getProperty("server1.dist"), System.getProperty("server2.dist")};
for(String serverDir : serverDirs) {
File jar = new File(serverDir, "/standalone/deployments/custom-distributed-task.jar");
if (jar.exists())
jar.delete();
File f = new File(serverDir, "/standalone/deployments/custom-distributed-task.jar.deployed");
if (f.exists())
f.delete();
}
}
}