Revision 2e5c33db test/ganeti.qlang_unittest.py
b/test/ganeti.qlang_unittest.py | ||
---|---|---|
1 | 1 |
#!/usr/bin/python |
2 | 2 |
# |
3 | 3 |
|
4 |
# Copyright (C) 2010 Google Inc. |
|
4 |
# Copyright (C) 2010, 2011 Google Inc.
|
|
5 | 5 |
# |
6 | 6 |
# This program is free software; you can redistribute it and/or modify |
7 | 7 |
# it under the terms of the GNU General Public License as published by |
... | ... | |
37 | 37 |
if parse_exp is None: |
38 | 38 |
parse_exp = names |
39 | 39 |
|
40 |
filter_ = qlang.MakeSimpleFilter(field, names)
|
|
41 |
self.assertEqual(filter_, expected)
|
|
40 |
qfilter = qlang.MakeSimpleFilter(field, names)
|
|
41 |
self.assertEqual(qfilter, expected)
|
|
42 | 42 |
|
43 | 43 |
def test(self): |
44 | 44 |
self._Test("name", None, None, parse_exp=[]) |
... | ... | |
53 | 53 |
def setUp(self): |
54 | 54 |
self.parser = qlang.BuildFilterParser() |
55 | 55 |
|
56 |
def _Test(self, filter_, expected, expect_filter=True):
|
|
57 |
self.assertEqual(qlang.MakeFilter([filter_], not expect_filter), expected)
|
|
58 |
self.assertEqual(qlang.ParseFilter(filter_, parser=self.parser), expected)
|
|
56 |
def _Test(self, qfilter, expected, expect_filter=True):
|
|
57 |
self.assertEqual(qlang.MakeFilter([qfilter], not expect_filter), expected)
|
|
58 |
self.assertEqual(qlang.ParseFilter(qfilter, parser=self.parser), expected)
|
|
59 | 59 |
|
60 | 60 |
def test(self): |
61 | 61 |
self._Test("name==\"foobar\"", [qlang.OP_EQUAL, "name", "foobar"]) |
... | ... | |
167 | 167 |
# Non-matching regexp delimiters |
168 | 168 |
tests.append("name =~ /foobarbaz#") |
169 | 169 |
|
170 |
for filter_ in tests:
|
|
170 |
for qfilter in tests:
|
|
171 | 171 |
try: |
172 |
qlang.ParseFilter(filter_, parser=self.parser)
|
|
172 |
qlang.ParseFilter(qfilter, parser=self.parser)
|
|
173 | 173 |
except errors.QueryFilterParseError, err: |
174 | 174 |
self.assertEqual(len(err.GetDetails()), 3) |
175 | 175 |
else: |
176 |
self.fail("Invalid filter '%s' did not raise exception" % filter_)
|
|
176 |
self.fail("Invalid filter '%s' did not raise exception" % qfilter)
|
|
177 | 177 |
|
178 | 178 |
|
179 | 179 |
class TestMakeFilter(unittest.TestCase): |
Also available in: Unified diff