@Test public void testGetWikitty() { WikittyLabel label = new WikittyLabelImpl(); label.addLabels("Test"); String wikittyId = label.getWikittyId(); Wikitty labelWikitty = WikittyUtil.getWikitty(label); Assert.assertEquals(wikittyId, labelWikitty.getWikittyId()); Assert.assertEquals(Collections.singleton("Test"),labelWikitty.getFieldAsObject(WikittyLabel.EXT_WIKITTYLABEL,WikittyLabel.FIELD_WIKITTYLABEL_LABELS)); ApplicationConfig config = WikittyConfig.getConfig(); WikittyServiceInMemory ws = new WikittyServiceInMemory(config); ws.store(null, Collections.singleton(labelWikitty), false); LabelDTO dto = new LabelDTO(wikittyId); dto.addLabels("toto"); dto.setWikittyVersion("2.0"); Wikitty w = WikittyUtil.getWikitty(ws, null, dto); WikittyLabel l = new WikittyLabelImpl(w); Assert.assertEquals(dto.getWikittyId(), l.getWikittyId()); Assert.assertEquals(dto.getWikittyVersion(), l.getWikittyVersion()); Assert.assertEquals(dto.getLabels(), l.getLabels()); }
@Test public void testTransaction() throws Exception { ApplicationConfig config = getConfig(); WikittyServiceInMemory ws = new WikittyServiceInMemory(config); WikittyServiceTransaction tx = new WikittyServiceTransaction(config, ws); // ajout d'objet hors transaction WikittyLabel label = new WikittyLabelImpl(); label.addLabels("coucou"); Wikitty labelWikitty = WikittyUtil.getWikitty(ws,null,label); ws.store(null, Collections.singleton(labelWikitty), false); // on doit le retrouver dans la transation (meme si elle a ete ouverte avant) Wikitty wTx = WikittyServiceEnhanced.restore(tx, null, label.getWikittyId()); Assert.assertEquals(labelWikitty, wTx); // on creer un objet dans la transaction WikittyLabel labelTx = new WikittyLabelImpl(); labelTx.addLabels("coucouTx"); Wikitty labelWikittyTx = WikittyUtil.getWikitty(tx, null, labelTx); Assert.assertNotNull(labelWikittyTx); tx.store(null, Collections.singleton(labelWikittyTx), false); //we have to find it in the transaction Wikitty w = WikittyServiceEnhanced.restore(tx, null, labelTx.getWikittyId()); Assert.assertEquals(labelWikittyTx, w); // on ne doit pas le retrouver hors de la transation w = WikittyServiceEnhanced.restore(ws, null, labelTx.getWikittyId()); Assert.assertEquals(null, w); // on commit, du coup on doit retrouver l'objet tx.commit(null); w = WikittyServiceEnhanced.restore(ws, null, labelTx.getWikittyId()); Assert.assertEquals(labelWikittyTx, w); }