Exemple #1
0
 def test_parse_list(self):
     ret, buf = SearchKey.parse(b'(4,5,6 NOT 1,2,3)', Params())
     self.assertEqual(b'KEYSET', ret.value)
     self.assertIsInstance(ret.filter, list)
     self.assertEqual(2, len(ret.filter))
     self.assertEqual(b'SEQSET', ret.filter[0].value)
     self.assertIsInstance(ret.filter[0].filter, SequenceSet)
     self.assertEqual([4, 5, 6], ret.filter[0].filter.value)
     self.assertFalse(ret.filter[0].inverse)
     self.assertEqual(b'SEQSET', ret.filter[1].value)
     self.assertIsInstance(ret.filter[1].filter, SequenceSet)
     self.assertEqual([1, 2, 3], ret.filter[1].filter.value)
     self.assertTrue(ret.filter[1].inverse)
 def test_parse_list(self):
     ret, buf = SearchKey.parse(b'(4,5,6 NOT 1,2,3)', Params())
     self.assertEqual(b'KEYSET', ret.value)
     self.assertIsInstance(ret.filter, list)
     self.assertEqual(2, len(ret.filter))
     self.assertEqual(b'SEQSET', ret.filter[0].value)
     self.assertIsInstance(ret.filter[0].filter, SequenceSet)
     self.assertEqual([4, 5, 6],
                      ret.filter[0].filter.value)
     self.assertFalse(ret.filter[0].inverse)
     self.assertEqual(b'SEQSET', ret.filter[1].value)
     self.assertIsInstance(ret.filter[1].filter, SequenceSet)
     self.assertEqual([1, 2, 3],
                      ret.filter[1].filter.value)
     self.assertTrue(ret.filter[1].inverse)
 def test_parse_seqset(self):
     ret, buf = SearchKey.parse(b'NOT 1,2,3', Params())
     self.assertEqual(b'SEQSET', ret.value)
     self.assertIsInstance(ret.filter, SequenceSet)
     self.assertEqual([1, 2, 3], ret.filter.value)
     self.assertTrue(ret.inverse)
 def test_parse(self):
     ret, buf = SearchKey.parse(b'ALL  ', Params())
     self.assertEqual(b'ALL', ret.value)
     self.assertIsNone(ret.filter)
     self.assertFalse(ret.inverse)
     self.assertEqual(b'  ', buf)
Exemple #5
0
 def test_parse(self):
     ret, buf = SearchKey.parse(b'ALL  ', Params())
     self.assertEqual(b'ALL', ret.value)
     self.assertIsNone(ret.filter)
     self.assertFalse(ret.inverse)
     self.assertEqual(b'  ', buf)
 def test_parse_filter_or(self):
     ret, buf = SearchKey.parse(b'OR NEW OLD', Params())
     self.assertEqual(b'OR', ret.value)
     self.assertEqual(b'NEW', ret.filter[0].value)
     self.assertEqual(b'OLD', ret.filter[1].value)
     self.assertFalse(ret.inverse)
 def test_parse_filter_uid(self):
     ret, buf = SearchKey.parse(b'UID 1,2,3', Params())
     self.assertEqual(b'SEQSET', ret.value)
     self.assertIsInstance(ret.filter, SequenceSet)
     self.assertEqual([1, 2, 3], ret.filter.value)
     self.assertFalse(ret.inverse)
 def test_parse_filter_keyword(self):
     ret, buf = SearchKey.parse(b'keyword test', Params())
     self.assertEqual(b'KEYWORD', ret.value)
     self.assertEqual(b'test', ret.filter)
     self.assertFalse(ret.inverse)
 def test_parse_filter_astring(self):
     ret, buf = SearchKey.parse(b'subject "testing"', Params())
     self.assertEqual(b'SUBJECT', ret.value)
     self.assertEqual('testing', ret.filter)
     self.assertFalse(ret.inverse)
Exemple #10
0
 def test_parse_filter_keyword(self):
     ret, buf = SearchKey.parse(b'keyword test', Params())
     self.assertEqual(b'KEYWORD', ret.value)
     self.assertEqual(b'test', ret.filter)
     self.assertFalse(ret.inverse)
Exemple #11
0
 def test_parse_filter_date(self):
     ret, buf = SearchKey.parse(b'before 01-Jan-1970', Params())
     self.assertEqual(b'BEFORE', ret.value)
     self.assertEqual(datetime(1970, 1, 1), ret.filter)
     self.assertFalse(ret.inverse)
Exemple #12
0
 def test_parse_filter_astring(self):
     ret, buf = SearchKey.parse(b'subject "testing"', Params())
     self.assertEqual(b'SUBJECT', ret.value)
     self.assertEqual('testing', ret.filter)
     self.assertFalse(ret.inverse)
Exemple #13
0
 def test_parse_list_error(self):
     with self.assertRaises(UnexpectedType):
         SearchKey.parse(b'(TEST)', Params())
     with self.assertRaises(NotParseable):
         SearchKey.parse(b'(1,2,3', Params())
Exemple #14
0
 def test_parse_seqset(self):
     ret, buf = SearchKey.parse(b'NOT 1,2,3', Params())
     self.assertEqual(b'SEQSET', ret.value)
     self.assertIsInstance(ret.filter, SequenceSet)
     self.assertEqual([1, 2, 3], ret.filter.value)
     self.assertTrue(ret.inverse)
Exemple #15
0
 def test_parse_filter_number(self):
     ret, buf = SearchKey.parse(b'larger 1000', Params())
     self.assertEqual(b'LARGER', ret.value)
     self.assertEqual(1000, ret.filter)
     self.assertFalse(ret.inverse)
Exemple #16
0
 def test_parse_list_error(self):
     with self.assertRaises(UnexpectedType):
         SearchKey.parse(b'(TEST)', Params())
     with self.assertRaises(NotParseable):
         SearchKey.parse(b'(1,2,3', Params())
Exemple #17
0
 def test_parse_filter_uid(self):
     ret, buf = SearchKey.parse(b'UID 1,2,3', Params())
     self.assertEqual(b'SEQSET', ret.value)
     self.assertIsInstance(ret.filter, SequenceSet)
     self.assertEqual([1, 2, 3], ret.filter.value)
     self.assertFalse(ret.inverse)
Exemple #18
0
 def test_parse_filter_date(self):
     ret, buf = SearchKey.parse(b'before 01-Jan-1970', Params())
     self.assertEqual(b'BEFORE', ret.value)
     self.assertEqual(datetime(1970, 1, 1), ret.filter)
     self.assertFalse(ret.inverse)
Exemple #19
0
 def test_parse_filter_header(self):
     ret, buf = SearchKey.parse(b'HEADER "From" "*****@*****.**"',
                                Params())
     self.assertEqual(b'HEADER', ret.value)
     self.assertEqual(('From', '*****@*****.**'), ret.filter)
     self.assertFalse(ret.inverse)
Exemple #20
0
 def test_parse_filter_number(self):
     ret, buf = SearchKey.parse(b'larger 1000', Params())
     self.assertEqual(b'LARGER', ret.value)
     self.assertEqual(1000, ret.filter)
     self.assertFalse(ret.inverse)
Exemple #21
0
 def test_parse_filter_or(self):
     ret, buf = SearchKey.parse(b'OR NEW OLD', Params())
     self.assertEqual(b'OR', ret.value)
     self.assertEqual(b'NEW', ret.filter[0].value)
     self.assertEqual(b'OLD', ret.filter[1].value)
     self.assertFalse(ret.inverse)
Exemple #22
0
 def test_parse_filter_header(self):
     ret, buf = SearchKey.parse(
         b'HEADER "From" "*****@*****.**"', Params())
     self.assertEqual(b'HEADER', ret.value)
     self.assertEqual(('From', '*****@*****.**'), ret.filter)
     self.assertFalse(ret.inverse)
Exemple #23
0
 def test_parse_error(self):
     with self.assertRaises(NotParseable):
         SearchKey.parse(b'test', Params())
     with self.assertRaises(NotParseable):
         SearchKey.parse(b'before stuff', Params())
Exemple #24
0
 def test_parse_error(self):
     with self.assertRaises(NotParseable):
         SearchKey.parse(b'test', Params())
     with self.assertRaises(NotParseable):
         SearchKey.parse(b'before stuff', Params())
 def test_parse(self):
     ret, buf = SearchCommand.parse(b' ALL\n  ', Params())
     self.assertFalse(ret.uid)
     self.assertSetEqual({SearchKey(b'ALL')}, ret.keys)
     self.assertIsNone(ret.charset)
     self.assertEqual(b'  ', buf)