package org.compass.needle.gigaspaces.service; import org.openspaces.core.GigaSpace; import org.springframework.test.AbstractDependencyInjectionSpringContextTests; /** * @author kimchy */ public class GigaSpacesSearchServiceTests extends AbstractDependencyInjectionSpringContextTests { protected CompassSearchService clientSearchService; protected GigaSpace clusteredGigaSpace; public GigaSpacesSearchServiceTests() { setPopulateProtectedVariables(true); } protected String[] getConfigLocations() { return new String[]{"org/compass/needle/gigaspaces/service/context.xml"}; } public void testSearchService() throws Exception { assertEquals(0, clientSearchService.search("test").getTotalLength()); A a = new A(); a.value = "test"; a.id = "1"; clusteredGigaSpace.write(a); Thread.sleep(1000); SearchResults results = clientSearchService.search("test"); assertEquals(1, results.getTotalLength()); assertEquals("test", ((A) results.getResults()[0].getData()).getValue()); results = clientSearchService.search("noway"); assertEquals(0, results.getTotalLength()); assertEquals(0, results.getResults().length); SearchResourceResults resourceResults = clientSearchService.searchResource("test"); assertEquals(1, resourceResults.getTotalLength()); assertEquals("test", resourceResults.getResults()[0].getResource().getValue("value")); resourceResults = clientSearchService.searchResource("noway"); assertEquals(0, resourceResults.getTotalLength()); assertEquals(0, resourceResults.getResults().length); a = new A(); a.value = "best"; a.id = "2"; clusteredGigaSpace.write(a); Thread.sleep(1000); results = clientSearchService.search("test~0.5"); assertEquals(2, results.getTotalLength()); resourceResults = clientSearchService.searchResource("test~0.5"); assertEquals(2, resourceResults.getTotalLength()); results = clientSearchService.search("test~0.5", 1); assertEquals(2, results.getTotalLength()); assertEquals(1, results.getResults().length); resourceResults = clientSearchService.searchResource("test~0.5", 1); assertEquals(2, resourceResults.getTotalLength()); assertEquals(1, resourceResults.getResults().length); results = clientSearchService.search("test~0.5", 10); assertEquals(2, results.getTotalLength()); assertEquals(2, results.getResults().length); results = clientSearchService.search("test~0.5", 1); assertEquals(2, results.getTotalLength()); assertEquals(1, results.getResults().length); assertEquals("test", ((A) results.getResults()[0].getData()).getValue()); results = clientSearchService.search("test~0.5", 1, results.getLowestScore()); assertEquals(2, results.getTotalLength()); assertEquals(1, results.getResults().length); assertEquals("best", ((A) results.getResults()[0].getData()).getValue()); resourceResults = clientSearchService.searchResource("test~0.5", 1); assertEquals(2, resourceResults.getTotalLength()); assertEquals(1, resourceResults.getResults().length); assertEquals("test", resourceResults.getResults()[0].getResource().getValue("value")); resourceResults = clientSearchService.searchResource("test~0.5", 1, resourceResults.getLowestScore()); assertEquals(2, resourceResults.getTotalLength()); assertEquals(1, resourceResults.getResults().length); assertEquals("best", resourceResults.getResults()[0].getResource().getValue("value")); } }