Code

frontend/parser: Let ‘LIST’ and ‘FETCH’ accept optional filters as well.
[sysdb.git] / t / unit / frontend / parser_test.c
index dade011bd31cd2b505382df27fe57903b8f94b6f..bca86452dffc44afe22f2fb5b3418eaa7e6f42f3 100644 (file)
@@ -53,11 +53,17 @@ START_TEST(test_parse)
 
                /* valid commands */
                { "FETCH 'host'",        -1,  1, CONNECTION_FETCH  },
+               { "FETCH 'host' FILTER "
+                 "host = 'host'",       -1,  1, CONNECTION_FETCH  },
+
                { "LIST",                -1,  1, CONNECTION_LIST   },
                { "LIST -- comment",     -1,  1, CONNECTION_LIST   },
                { "LIST;",               -1,  1, CONNECTION_LIST   },
                { "LIST; INVALID",        5,  1, CONNECTION_LIST   },
+               { "LIST FILTER "
+                 "host = 'host'",       -1,  1, CONNECTION_LIST   },
 
+               { "LOOKUP hosts",        -1,  1, CONNECTION_LOOKUP },
                { "LOOKUP hosts MATCHING "
                  "host = 'host'",       -1,  1, CONNECTION_LOOKUP },
                { "LOOKUP hosts MATCHING NOT "
@@ -184,8 +190,18 @@ START_TEST(test_parse)
                { "LIST; INVALID",        8, -1, 0 },
                { "/* some incomplete",  -1, -1, 0 },
 
-               { "LOOKUP hosts",        -1, -1, 0 },
+               { "LIST MATCHING "
+                 "host = 'host'",       -1, -1, 0 },
+               { "FETCH 'host' MATCHING "
+                 "host = 'host'",       -1, -1, 0 },
+
+               { "LOOKUP foo",          -1, -1, 0 },
+               { "LOOKUP foo MATCHING "
+                 "host = 'host'",       -1, -1, 0 },
+               { "LOOKUP foo FILTER "
+                 "host = 'host'",       -1, -1, 0 },
                { "LOOKUP foo MATCHING "
+                 "host = 'host' FILTER "
                  "host = 'host'",       -1, -1, 0 },
        };