blob: 67f74bd487afee6c8d836d10267a25861c391908 [file] [log] [blame]
Michael Hanl63044e52016-02-17 09:44:42 +01001package de.ids_mannheim.korap.resource.rewrite;
2
margarethaf68daa62017-09-21 02:11:24 +02003import static org.junit.Assert.assertEquals;
4import static org.junit.Assert.assertNotEquals;
5import static org.junit.Assert.assertNotNull;
6import static org.junit.Assert.assertTrue;
7
8import org.junit.Ignore;
9import org.junit.Test;
10
Michael Hanl3a1dfe12016-02-17 11:26:07 +010011import com.fasterxml.jackson.databind.JsonNode;
margarethaf68daa62017-09-21 02:11:24 +020012
13import de.ids_mannheim.korap.config.Attributes;
Michael Hanldaf86602016-05-12 14:31:52 +020014import de.ids_mannheim.korap.config.BeanConfigTest;
15import de.ids_mannheim.korap.config.BeansFactory;
16import de.ids_mannheim.korap.exceptions.KustvaktException;
17import de.ids_mannheim.korap.interfaces.db.UserDataDbIface;
Michael Hanl3a1dfe12016-02-17 11:26:07 +010018import de.ids_mannheim.korap.query.serialize.QuerySerializer;
Michael Hanldaf86602016-05-12 14:31:52 +020019import de.ids_mannheim.korap.user.UserSettings;
Michael Hanl3a1dfe12016-02-17 11:26:07 +010020import de.ids_mannheim.korap.utils.JsonUtils;
margaretha38d530e2017-07-11 19:06:50 +020021
margaretha843c4632017-10-25 19:16:12 +020022/** EM: to do: Fix tests
23 * New DB does not save users.
24 *
Michael Hanlcf9c6ea2016-02-06 15:04:13 +010025 * @author hanl
26 * @date 21/10/2015
27 */
Michael Hanldaf86602016-05-12 14:31:52 +020028public class RewriteHandlerTest extends BeanConfigTest {
Michael Hanlcf9c6ea2016-02-06 15:04:13 +010029
Michael Hanlcf9c6ea2016-02-06 15:04:13 +010030 @Test
Michael Hanl8abaf9e2016-05-23 16:46:35 +020031 public void testRewriteTaskAdd () {
Michael Hanldaf86602016-05-12 14:31:52 +020032 RewriteHandler handler = new RewriteHandler();
33 handler.insertBeans(helper().getContext());
34 assertTrue(handler.add(FoundryInject.class));
Michael Hanl33829ec2016-05-28 17:03:38 +020035 assertTrue(handler.add(CollectionCleanRewrite.class));
Michael Hanldaf86602016-05-12 14:31:52 +020036 assertTrue(handler.add(IdWriter.class));
37 }
38
Michael Hanl8abaf9e2016-05-23 16:46:35 +020039
Michael Hanldaf86602016-05-12 14:31:52 +020040 // throws exception cause of missing configuration
41 @Test(expected = RuntimeException.class)
Michael Hanlf8fcc7a2016-06-03 17:41:07 +020042 public void testRewriteConfigThrowsException () throws KustvaktException {
Michael Hanldaf86602016-05-12 14:31:52 +020043 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 Hanl33829ec2016-05-28 17:03:38 +020047 handler.processQuery(s.toJSON(), null);
Michael Hanlcf9c6ea2016-02-06 15:04:13 +010048 }
49
Michael Hanl8abaf9e2016-05-23 16:46:35 +020050
Michael Hanl3a1dfe12016-02-17 11:26:07 +010051 @Test
Michael Hanlf8fcc7a2016-06-03 17:41:07 +020052 public void testRewriteNoBeanInject () throws KustvaktException {
Michael Hanl8abaf9e2016-05-23 16:46:35 +020053 RewriteHandler handler = new RewriteHandler(helper().getContext()
54 .getConfiguration());
Michael Hanl3a1dfe12016-02-17 11:26:07 +010055 QuerySerializer s = new QuerySerializer();
Michael Hanldaf86602016-05-12 14:31:52 +020056 s.setQuery("[(base=laufen | base=gehen) & tt/pos=VVFIN]", "poliqarp");
57 assertTrue(handler.add(FoundryInject.class));
Michael Hanl33829ec2016-05-28 17:03:38 +020058 String res = handler.processQuery(s.toJSON(), null);
Michael Hanldaf86602016-05-12 14:31:52 +020059 assertNotNull(res);
Michael Hanl3a1dfe12016-02-17 11:26:07 +010060 }
margaretha843c4632017-10-25 19:16:12 +020061
Michael Hanl3a1dfe12016-02-17 11:26:07 +010062 @Test
Michael Hanlf8fcc7a2016-06-03 17:41:07 +020063 public void testRewriteBeanInject () throws KustvaktException {
Michael Hanldaf86602016-05-12 14:31:52 +020064 RewriteHandler handler = new RewriteHandler();
65 handler.insertBeans(helper().getContext());
Michael Hanl3a1dfe12016-02-17 11:26:07 +010066 QuerySerializer s = new QuerySerializer();
Michael Hanlc0ed00f2016-06-23 14:33:10 +020067 s.setQuery("[base=laufen | tt/pos=VVFIN]", "poliqarp");
Michael Hanldaf86602016-05-12 14:31:52 +020068 assertTrue(handler.add(FoundryInject.class));
Michael Hanl33829ec2016-05-28 17:03:38 +020069 String res = handler.processQuery(s.toJSON(), null);
Michael Hanldaf86602016-05-12 14:31:52 +020070 JsonNode node = JsonUtils.readTree(res);
71 assertNotNull(node);
Michael Hanlc0ed00f2016-06-23 14:33:10 +020072 assertEquals("tt", node.at("/query/wrap/operands/0/foundry")
Michael Hanl8abaf9e2016-05-23 16:46:35 +020073 .asText());
Michael Hanlc0ed00f2016-06-23 14:33:10 +020074 assertEquals("tt", node.at("/query/wrap/operands/1/foundry")
Michael Hanl8abaf9e2016-05-23 16:46:35 +020075 .asText());
Michael Hanlcf9c6ea2016-02-06 15:04:13 +010076 }
77
margaretha38d530e2017-07-11 19:06:50 +020078 // EM: Fix me usersetting
Michael Hanldaf86602016-05-12 14:31:52 +020079 @Test
margaretha38d530e2017-07-11 19:06:50 +020080 @Ignore
Michael Hanlf8fcc7a2016-06-03 17:41:07 +020081 public void testRewriteUserSpecific () throws KustvaktException {
Michael Hanldaf86602016-05-12 14:31:52 +020082 RewriteHandler handler = new RewriteHandler();
83 handler.insertBeans(helper().getContext());
84 QuerySerializer s = new QuerySerializer();
Michael Hanlc0ed00f2016-06-23 14:33:10 +020085 s.setQuery("[base=laufen|tt/pos=VFIN]", "poliqarp");
Michael Hanldaf86602016-05-12 14:31:52 +020086 assertTrue(handler.add(FoundryInject.class));
Michael Hanl33829ec2016-05-28 17:03:38 +020087 String res = handler.processQuery(s.toJSON(), helper().getUser());
Michael Hanldaf86602016-05-12 14:31:52 +020088 JsonNode node = JsonUtils.readTree(res);
89 assertNotNull(node);
Michael Hanl8abaf9e2016-05-23 16:46:35 +020090 assertEquals("tt_test",
Michael Hanlc0ed00f2016-06-23 14:33:10 +020091 node.at("/query/wrap/operands/0/foundry").asText());
92 assertNotEquals("tt_test",
93 node.at("/query/wrap/operands/1/foundry").asText());
Michael Hanldaf86602016-05-12 14:31:52 +020094 }
95
margaretha420db0e2018-12-11 15:04:19 +010096 // EM: Fix me usersetting
Michael Hanldaf86602016-05-12 14:31:52 +020097 @Override
Michael Hanl8abaf9e2016-05-23 16:46:35 +020098 public void initMethod () throws KustvaktException {
margaretha420db0e2018-12-11 15:04:19 +010099// 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 Hanldaf86602016-05-12 14:31:52 +0200108 }
109
110
111
Michael Hanlcf9c6ea2016-02-06 15:04:13 +0100112}