Author: echatellier Date: 2012-01-27 11:44:56 +0100 (Fri, 27 Jan 2012) New Revision: 1379 Url: http://nuiton.org/repositories/revision/wikitty/1379 Log: Fix tests Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-27 09:27:35 UTC (rev 1378) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-27 10:44:56 UTC (rev 1379) @@ -44,7 +44,6 @@ import org.apache.commons.logging.LogFactory; import org.junit.Assert; import org.junit.Test; -import org.nuiton.util.ApplicationConfig; import org.nuiton.wikitty.addons.WikittyI18nTestUtil; import org.nuiton.wikitty.addons.WikittyI18nUtil; import org.nuiton.wikitty.addons.WikittyImportExportService; @@ -63,15 +62,13 @@ import org.nuiton.wikitty.entities.WikittyTreeNodeHelper; import org.nuiton.wikitty.entities.WikittyTreeNodeImpl; import org.nuiton.wikitty.entities.WikittyTypes; +import org.nuiton.wikitty.query.FacetSortType; import org.nuiton.wikitty.query.WikittyQuery; import org.nuiton.wikitty.query.WikittyQueryMaker; import org.nuiton.wikitty.query.WikittyQueryParser; import org.nuiton.wikitty.query.WikittyQueryResult; import org.nuiton.wikitty.query.WikittyQueryResultTreeNode; -import org.nuiton.wikitty.services.WikittyCacheJCS; import org.nuiton.wikitty.services.WikittyEvent; -import org.nuiton.wikitty.services.WikittyServiceCached; -import org.nuiton.wikitty.services.WikittyServiceInMemory; import org.nuiton.wikitty.test.Category; import org.nuiton.wikitty.test.Product; @@ -307,14 +304,16 @@ gf3Movie.addToField(MOVIE_EXTENSION_NAME, "authors", "Pixar"); gf3Movie.setField(MOVIE_EXTENSION_NAME, "date", WikittyUtil.formatDate(df.parse("October 12, 1974"))); + wikittyClient.store(gf1Movie, gf2Movie, gf3Movie); + // search test Wikitty w = new WikittyImpl(); w.addExtension(MEDIA_EXTENSION); w.addExtension(MOVIE_EXTENSION); w.setField(MEDIA_EXTENSION_NAME, "type", "movie"); WikittyQuery query = new WikittyQueryMaker().wikitty(w).end(); - query.addFacetField(new ElementField(MOVIE_EXTENSION_NAME + ".authors")); - query.addFacetField(new ElementField(MOVIE_EXTENSION_NAME + ".date")); + query.addFacetField(new ElementField(MOVIE_EXTENSION_NAME,"authors")); + query.addFacetField(new ElementField(MOVIE_EXTENSION_NAME,"date")); WikittyQueryResult<String> result = wikittyClient.findAllByQuery(query); Assert.assertTrue(result.getFacetNames().contains(MOVIE_EXTENSION_NAME + ".date")); @@ -322,21 +321,27 @@ // with must have 2 topic: Pixar and Coppola Assert.assertEquals(2, result.getTopic(MOVIE_EXTENSION_NAME + ".authors").size()); - Assert.assertEquals("Coppola", result.getTopic(MOVIE_EXTENSION_NAME + ".authors").get(0).getFacetName()); + Assert.assertEquals("Coppola", result.getTopic(MOVIE_EXTENSION_NAME + ".authors").get(0).getTopicName()); Assert.assertEquals(2, result.getTopic(MOVIE_EXTENSION_NAME + ".authors").get(0).getCount()); - Assert.assertEquals("Pixar", result.getTopic(MOVIE_EXTENSION_NAME + ".authors").get(1).getFacetName()); + Assert.assertEquals("Pixar", result.getTopic(MOVIE_EXTENSION_NAME + ".authors").get(1).getTopicName()); Assert.assertEquals(1, result.getTopic(MOVIE_EXTENSION_NAME + ".authors").get(1).getCount()); // with must have 2 topic: March 15, 1972 and October 12, 1974 Assert.assertEquals(2, result.getTopic(MOVIE_EXTENSION_NAME + ".date").size()); - + } + + @Test + public void testSearchExtensionFacet() throws Exception { // essai de facettiser sur les extensions - query = new WikittyQueryMaker().keyword("*").end(); + WikittyQuery query = new WikittyQueryMaker().keyword("*").end(); query.setFirst(0); query.setLimit(0); query.addFacetField(Element.EXTENSION); - result = wikittyClient.findAllByQuery(query); + WikittyQueryResult<String> result = wikittyClient.findAllByQuery(query); Assert.assertEquals(1, result.getFacetNames().size()); - Assert.assertNotNull(result.getFacets().get(Element.EXTENSION)); + //TODO echatellier 20120112 : revue this code + //Assert.assertNotNull(result.getFacets().get(Element.EXTENSION)); + // is more convenient, but wont work + Assert.assertNotNull(result.getFacets().get(Element.EXTENSION.getValue())); } /** @@ -356,12 +361,14 @@ gf1Movie.setField(MOVIE_EXTENSION_NAME, "name", "The godfather"); gf1Movie.addToField(MOVIE_EXTENSION_NAME, "authors", "Coppola"); gf1Movie.setField(MOVIE_EXTENSION_NAME, "date", WikittyUtil.formatDate(df.parse("March 15, 1972"))); + String oldVersion = gf1Movie.getVersion(); Wikitty newWik = wikittyClient.store(gf1Movie); - Assert.assertTrue(WikittyUtil.versionGreaterThan(gf1Movie.getId(), newWik.getId())); + Assert.assertTrue(WikittyUtil.versionGreaterThan(newWik.getVersion(), oldVersion)); // search test Wikitty w = new WikittyImpl(); + w.addExtension(MEDIA_EXTENSION); w.addExtension(MOVIE_EXTENSION); w.setField(MOVIE_EXTENSION_NAME, "name", "The godfather"); WikittyQuery query = new WikittyQueryMaker().wikitty(w).end(); @@ -1373,6 +1380,24 @@ } @Test + public void testSearchFacetSingleField() throws Exception { + importBooks(); + + WikittyQuery query = new WikittyQueryMaker().exteq(Product.EXT_PRODUCT).end(); + query.setLimit(0); + query.addFacetField(Product.ELEMENT_FIELD_PRODUCT_CATEGORY); + query.setFacetSort(FacetSortType.count); + WikittyQueryResult<String> result = wikittyClient.findAllByQuery(query); + + // les resultats sont répartit en 4 categories + Assert.assertEquals(4, result.getTopic(Product.ELEMENT_FIELD_PRODUCT_CATEGORY).size()); + Assert.assertEquals(10, result.getTopic(Product.ELEMENT_FIELD_PRODUCT_CATEGORY).get(0).getCount()); + Assert.assertEquals(3, result.getTopic(Product.ELEMENT_FIELD_PRODUCT_CATEGORY).get(1).getCount()); + Assert.assertEquals(1, result.getTopic(Product.ELEMENT_FIELD_PRODUCT_CATEGORY).get(2).getCount()); + Assert.assertEquals(1, result.getTopic(Product.ELEMENT_FIELD_PRODUCT_CATEGORY).get(3).getCount()); + } + + @Test public void testQueryMarkerWilcardEquals() { assumeTrueSearchEngineCanRunTest(); // wildcard