| Michael Hanl | 63044e5 | 2016-02-17 09:44:42 +0100 | [diff] [blame] | 1 | package de.ids_mannheim.korap.resource.rewrite; |
| 2 | |
| margaretha | f68daa6 | 2017-09-21 02:11:24 +0200 | [diff] [blame] | 3 | import static org.junit.Assert.assertEquals; |
| 4 | import static org.junit.Assert.assertNotEquals; |
| 5 | import static org.junit.Assert.assertNotNull; |
| 6 | import static org.junit.Assert.assertTrue; |
| 7 | |
| 8 | import org.junit.Ignore; |
| 9 | import org.junit.Test; |
| 10 | |
| Michael Hanl | 3a1dfe1 | 2016-02-17 11:26:07 +0100 | [diff] [blame] | 11 | import com.fasterxml.jackson.databind.JsonNode; |
| margaretha | f68daa6 | 2017-09-21 02:11:24 +0200 | [diff] [blame] | 12 | |
| 13 | import de.ids_mannheim.korap.config.Attributes; |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 14 | import de.ids_mannheim.korap.config.BeanConfigTest; |
| 15 | import de.ids_mannheim.korap.config.BeansFactory; |
| 16 | import de.ids_mannheim.korap.exceptions.KustvaktException; |
| 17 | import de.ids_mannheim.korap.interfaces.db.UserDataDbIface; |
| Michael Hanl | 3a1dfe1 | 2016-02-17 11:26:07 +0100 | [diff] [blame] | 18 | import de.ids_mannheim.korap.query.serialize.QuerySerializer; |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 19 | import de.ids_mannheim.korap.user.UserSettings; |
| Michael Hanl | 3a1dfe1 | 2016-02-17 11:26:07 +0100 | [diff] [blame] | 20 | import de.ids_mannheim.korap.utils.JsonUtils; |
| margaretha | 38d530e | 2017-07-11 19:06:50 +0200 | [diff] [blame] | 21 | |
| margaretha | 843c463 | 2017-10-25 19:16:12 +0200 | [diff] [blame] | 22 | /** EM: to do: Fix tests |
| 23 | * New DB does not save users. |
| 24 | * |
| Michael Hanl | cf9c6ea | 2016-02-06 15:04:13 +0100 | [diff] [blame] | 25 | * @author hanl |
| 26 | * @date 21/10/2015 |
| 27 | */ |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 28 | public class RewriteHandlerTest extends BeanConfigTest { |
| Michael Hanl | cf9c6ea | 2016-02-06 15:04:13 +0100 | [diff] [blame] | 29 | |
| Michael Hanl | cf9c6ea | 2016-02-06 15:04:13 +0100 | [diff] [blame] | 30 | @Test |
| Michael Hanl | 8abaf9e | 2016-05-23 16:46:35 +0200 | [diff] [blame] | 31 | public void testRewriteTaskAdd () { |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 32 | RewriteHandler handler = new RewriteHandler(); |
| 33 | handler.insertBeans(helper().getContext()); |
| 34 | assertTrue(handler.add(FoundryInject.class)); |
| Michael Hanl | 33829ec | 2016-05-28 17:03:38 +0200 | [diff] [blame] | 35 | assertTrue(handler.add(CollectionCleanRewrite.class)); |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 36 | assertTrue(handler.add(IdWriter.class)); |
| 37 | } |
| 38 | |
| Michael Hanl | 8abaf9e | 2016-05-23 16:46:35 +0200 | [diff] [blame] | 39 | |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 40 | // throws exception cause of missing configuration |
| 41 | @Test(expected = RuntimeException.class) |
| Michael Hanl | f8fcc7a | 2016-06-03 17:41:07 +0200 | [diff] [blame] | 42 | public void testRewriteConfigThrowsException () throws KustvaktException { |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 43 | RewriteHandler handler = new RewriteHandler(); |
| 44 | QuerySerializer s = new QuerySerializer(); |
| 45 | s.setQuery("[(base=laufen | base=gehen) & tt/pos=VVFIN]", "poliqarp"); |
| 46 | assertTrue(handler.add(FoundryInject.class)); |
| Michael Hanl | 33829ec | 2016-05-28 17:03:38 +0200 | [diff] [blame] | 47 | handler.processQuery(s.toJSON(), null); |
| Michael Hanl | cf9c6ea | 2016-02-06 15:04:13 +0100 | [diff] [blame] | 48 | } |
| 49 | |
| Michael Hanl | 8abaf9e | 2016-05-23 16:46:35 +0200 | [diff] [blame] | 50 | |
| Michael Hanl | 3a1dfe1 | 2016-02-17 11:26:07 +0100 | [diff] [blame] | 51 | @Test |
| Michael Hanl | f8fcc7a | 2016-06-03 17:41:07 +0200 | [diff] [blame] | 52 | public void testRewriteNoBeanInject () throws KustvaktException { |
| Michael Hanl | 8abaf9e | 2016-05-23 16:46:35 +0200 | [diff] [blame] | 53 | RewriteHandler handler = new RewriteHandler(helper().getContext() |
| 54 | .getConfiguration()); |
| Michael Hanl | 3a1dfe1 | 2016-02-17 11:26:07 +0100 | [diff] [blame] | 55 | QuerySerializer s = new QuerySerializer(); |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 56 | s.setQuery("[(base=laufen | base=gehen) & tt/pos=VVFIN]", "poliqarp"); |
| 57 | assertTrue(handler.add(FoundryInject.class)); |
| Michael Hanl | 33829ec | 2016-05-28 17:03:38 +0200 | [diff] [blame] | 58 | String res = handler.processQuery(s.toJSON(), null); |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 59 | assertNotNull(res); |
| Michael Hanl | 3a1dfe1 | 2016-02-17 11:26:07 +0100 | [diff] [blame] | 60 | } |
| margaretha | 843c463 | 2017-10-25 19:16:12 +0200 | [diff] [blame] | 61 | |
| Michael Hanl | 3a1dfe1 | 2016-02-17 11:26:07 +0100 | [diff] [blame] | 62 | @Test |
| Michael Hanl | f8fcc7a | 2016-06-03 17:41:07 +0200 | [diff] [blame] | 63 | public void testRewriteBeanInject () throws KustvaktException { |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 64 | RewriteHandler handler = new RewriteHandler(); |
| 65 | handler.insertBeans(helper().getContext()); |
| Michael Hanl | 3a1dfe1 | 2016-02-17 11:26:07 +0100 | [diff] [blame] | 66 | QuerySerializer s = new QuerySerializer(); |
| Michael Hanl | c0ed00f | 2016-06-23 14:33:10 +0200 | [diff] [blame] | 67 | s.setQuery("[base=laufen | tt/pos=VVFIN]", "poliqarp"); |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 68 | assertTrue(handler.add(FoundryInject.class)); |
| Michael Hanl | 33829ec | 2016-05-28 17:03:38 +0200 | [diff] [blame] | 69 | String res = handler.processQuery(s.toJSON(), null); |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 70 | JsonNode node = JsonUtils.readTree(res); |
| 71 | assertNotNull(node); |
| Michael Hanl | c0ed00f | 2016-06-23 14:33:10 +0200 | [diff] [blame] | 72 | assertEquals("tt", node.at("/query/wrap/operands/0/foundry") |
| Michael Hanl | 8abaf9e | 2016-05-23 16:46:35 +0200 | [diff] [blame] | 73 | .asText()); |
| Michael Hanl | c0ed00f | 2016-06-23 14:33:10 +0200 | [diff] [blame] | 74 | assertEquals("tt", node.at("/query/wrap/operands/1/foundry") |
| Michael Hanl | 8abaf9e | 2016-05-23 16:46:35 +0200 | [diff] [blame] | 75 | .asText()); |
| Michael Hanl | cf9c6ea | 2016-02-06 15:04:13 +0100 | [diff] [blame] | 76 | } |
| 77 | |
| margaretha | 38d530e | 2017-07-11 19:06:50 +0200 | [diff] [blame] | 78 | // EM: Fix me usersetting |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 79 | @Test |
| margaretha | 38d530e | 2017-07-11 19:06:50 +0200 | [diff] [blame] | 80 | @Ignore |
| Michael Hanl | f8fcc7a | 2016-06-03 17:41:07 +0200 | [diff] [blame] | 81 | public void testRewriteUserSpecific () throws KustvaktException { |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 82 | RewriteHandler handler = new RewriteHandler(); |
| 83 | handler.insertBeans(helper().getContext()); |
| 84 | QuerySerializer s = new QuerySerializer(); |
| Michael Hanl | c0ed00f | 2016-06-23 14:33:10 +0200 | [diff] [blame] | 85 | s.setQuery("[base=laufen|tt/pos=VFIN]", "poliqarp"); |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 86 | assertTrue(handler.add(FoundryInject.class)); |
| Michael Hanl | 33829ec | 2016-05-28 17:03:38 +0200 | [diff] [blame] | 87 | String res = handler.processQuery(s.toJSON(), helper().getUser()); |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 88 | JsonNode node = JsonUtils.readTree(res); |
| 89 | assertNotNull(node); |
| Michael Hanl | 8abaf9e | 2016-05-23 16:46:35 +0200 | [diff] [blame] | 90 | assertEquals("tt_test", |
| Michael Hanl | c0ed00f | 2016-06-23 14:33:10 +0200 | [diff] [blame] | 91 | node.at("/query/wrap/operands/0/foundry").asText()); |
| 92 | assertNotEquals("tt_test", |
| 93 | node.at("/query/wrap/operands/1/foundry").asText()); |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 94 | } |
| 95 | |
| margaretha | 420db0e | 2018-12-11 15:04:19 +0100 | [diff] [blame^] | 96 | // EM: Fix me usersetting |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 97 | @Override |
| Michael Hanl | 8abaf9e | 2016-05-23 16:46:35 +0200 | [diff] [blame] | 98 | public void initMethod () throws KustvaktException { |
| margaretha | 420db0e | 2018-12-11 15:04:19 +0100 | [diff] [blame^] | 99 | // helper().setupAccount(); |
| 100 | // UserDataDbIface settingsdao = BeansFactory.getTypeFactory() |
| 101 | // .getTypeInterfaceBean( |
| 102 | // helper().getContext().getUserDataProviders(), |
| 103 | // UserSettings.class); |
| 104 | // assertNotNull(settingsdao); |
| 105 | // UserSettings s = (UserSettings) settingsdao.get(helper().getUser()); |
| 106 | // s.setField(Attributes.DEFAULT_LEMMA_FOUNDRY, "tt_test"); |
| 107 | // settingsdao.update(s); |
| Michael Hanl | daf8660 | 2016-05-12 14:31:52 +0200 | [diff] [blame] | 108 | } |
| 109 | |
| 110 | |
| 111 | |
| Michael Hanl | cf9c6ea | 2016-02-06 15:04:13 +0100 | [diff] [blame] | 112 | } |