package org.infinispan.test.integration.as.query;
import java.util.List;
import javax.inject.Inject;
import org.jboss.arquillian.container.test.api.OperateOnDeployment;
import org.jboss.arquillian.junit.InSequence;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
/**
* @since 9.0
*/
public class BaseQueryTest {
@Inject
protected GridService service;
/**
* This is the "@Before" phase, so we abuse of the test and sequence
* annotations to get it pushed on a specific node before the actual
* tests.
*/
@Test
@InSequence(1)
@OperateOnDeployment("dep.active-1")
public void loadData() {
storeSamples(true);
}
private void storeSamples(boolean index) {
service.store("AB1", new Book("Hibernate in Action", "manning"), index);
service.store("AB2", new Book("Seam in Action", "manning"), index);
service.store("AB3", new Book("Hibernate Search in Action", "manning"), index);
}
@Test
@InSequence(2)
@OperateOnDeployment("dep.active-1")
public void testSimpleGetOnFirstNode() {
Book book = service.findById("AB1");
Assert.assertNotNull(book);
Assert.assertEquals("Hibernate in Action", book.title);
}
@Test
@InSequence(3)
@OperateOnDeployment("dep.active-2")
public void testSimpleGetOnSecondNode() {
Book book = service.findById("AB2");
Assert.assertNotNull(book);
Assert.assertEquals("Seam in Action", book.title);
}
@Test
@InSequence(4)
@OperateOnDeployment("dep.active-1")
@Ignore(value = "Will be fixed by ISPN-5929")
public void testQueryOnFirstNode() {
List matches = service.findFullText("action");
Assert.assertEquals(3, matches.size());
List secondMatches = service.findFullText("Hibernate");
Assert.assertEquals(2, secondMatches.size());
}
@Test
@InSequence(5)
@OperateOnDeployment("dep.active-2")
@Ignore(value = "Will be fixed by ISPN-5929")
public void testQueryOnSecondNode() {
List matches = service.findFullText("action");
Assert.assertEquals(3, matches.size());
List secondMatches = service.findFullText("HibernatE");
Assert.assertEquals(2, secondMatches.size());
}
@Test
@InSequence(6)
@OperateOnDeployment("dep.active-1")
public void testWipeIndex() {
service.clear();
storeSamples(false);
List matches = service.findFullText("action");
Assert.assertEquals(0, matches.size());
List secondMatches = service.findFullText("HibernatE");
Assert.assertEquals(0, secondMatches.size());
}
@Test
@InSequence(7)
@OperateOnDeployment("dep.active-2")
public void testIndexIsEmpty() {
List matches = service.findFullText("action");
Assert.assertEquals(0, matches.size());
List secondMatches = service.findFullText("HibernatE");
Assert.assertEquals(0, secondMatches.size());
}
@Test
@InSequence(8)
@OperateOnDeployment("dep.active-1")
public void testMassIndexer() {
service.rebuildIndexes();
List matches = service.findFullText("action");
Assert.assertEquals(3, matches.size());
List secondMatches = service.findFullText("HibernatE");
Assert.assertEquals(2, secondMatches.size());
}
@Test
@InSequence(9)
@OperateOnDeployment("dep.active-2")
public void testMassIndexerResult() {
List matches = service.findFullText("action");
Assert.assertEquals(3, matches.size());
List secondMatches = service.findFullText("HibernatE");
Assert.assertEquals(2, secondMatches.size());
}
}