From 680dd7b1f919da75ff377cf21e5499cf0bcbceda Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Thu, 21 Jul 2022 22:01:45 +0200 Subject: [PATCH] TST: confirm https://gitlab.com/caosdb/caosdb-server/-/issues/160 --- .../java/org/caosdb/server/query/Query.java | 4 ++ .../java/org/caosdb/server/query/TestCQL.java | 47 +++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/src/main/java/org/caosdb/server/query/Query.java b/src/main/java/org/caosdb/server/query/Query.java index 07a165a3..864c73c0 100644 --- a/src/main/java/org/caosdb/server/query/Query.java +++ b/src/main/java/org/caosdb/server/query/Query.java @@ -1053,4 +1053,8 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac public UTCDateTime getTimestamp() { return null; } + + public List<ToElementable> getMessages() { + return messages; + } } diff --git a/src/test/java/org/caosdb/server/query/TestCQL.java b/src/test/java/org/caosdb/server/query/TestCQL.java index 3217d422..31c72f7b 100644 --- a/src/test/java/org/caosdb/server/query/TestCQL.java +++ b/src/test/java/org/caosdb/server/query/TestCQL.java @@ -278,6 +278,11 @@ public class TestCQL { "SELECT 'name with spaces.and dot', 'name with spaces'.name, name with spaces.name, name with\\,comma and\\.dot and \\'single_quote.sub FROM ENTITY"; String issue130b = "SELECT 'Wrapper' FROM RECORD TestRT"; + // https://gitlab.com/caosdb/caosdb-server/-/issues/160 + String issue160a = "FIND ename WITH pname => val"; + String issue160b = "FIND ename WITH pname =< val"; + String issue160c = "FIND ename WITH pname =! val"; + @Test public void testQuery1() throws InterruptedException, SQLException, ConnectionException, QueryException { @@ -6989,4 +6994,46 @@ public class TestCQL { assertEquals("Wrapper", sfq.s.get(0).getSelector()); assertNull(sfq.s.get(0).getSubselection()); } + + // TODO fix https://gitlab.com/caosdb/caosdb-server/-/issues/160 + @Test(expected = IndexOutOfBoundsException.class) + public void testIssue40a() { + + Query q = new Query(this.issue160a); + + try { + q.parse(); + } catch (Query.ParsingException e) { + // ignore for now + } + assertEquals(q.getMessages().get(0), "Appropriate Error"); + } + + // TODO fix https://gitlab.com/caosdb/caosdb-server/-/issues/160 + @Test(expected = IndexOutOfBoundsException.class) + public void testIssue40b() { + + Query q = new Query(this.issue160b); + + try { + q.parse(); + } catch (Query.ParsingException e) { + // ignore for now + } + assertEquals(q.getMessages().get(0), "Appropriate Error"); + } + + // TODO fix https://gitlab.com/caosdb/caosdb-server/-/issues/160 + @Test(expected = IndexOutOfBoundsException.class) + public void testIssue40c() { + + Query q = new Query(this.issue160c); + + try { + q.parse(); + } catch (Query.ParsingException e) { + // ignore for now + } + assertEquals(q.getMessages().get(0), "Appropriate Error"); + } } -- GitLab