def test_key_query(self): q = Query() q.mapkey_single = ["abbaye_de_maredsous"] ret = self.cb.query("beer", "brewery_beers", query=q) rows = list(ret) self.assertEqual(len(rows), 1) q.mapkey_single = UNSPEC q.mapkey_multi = [["abbaye_de_maredsous"], ["abbaye_de_maredsous", "abbaye_de_maredsous-8"]] ret = self.cb.query("beer", "brewery_beers", query=q) rows = list(ret) self.assertEqual(len(rows), 2)
def test_long_uri(self): qobj = Query() qobj.mapkey_multi = [ str(x) for x in range(500) ] ret = self.cb.query("beer", "brewery_beers", query=qobj) # No assertions, just make sure it didn't break for row in ret: raise Exception("...") # Apparently only the "keys" parameter is supposed to be in POST. # Let's fetch 100 items now keys = [r.key for r in self.cb.query("beer", "brewery_beers", limit=100)] self.assertEqual(100, len(keys)) kslice = keys[90:] self.assertEqual(10, len(kslice)) rows = [x for x in self.cb.query("beer", "brewery_beers", mapkey_multi=kslice, limit=5)] self.assertEqual(5, len(rows)) for row in rows: self.assertTrue(row.key in kslice)
def test_long_uri(self): qobj = Query() qobj.mapkey_multi = [ str(x) for x in xrange(MAX_URI_LENGTH) ] ret = self.cb.query("beer", "brewery_beers", query=qobj) # No assertions, just make sure it didn't break for row in ret: raise Exception("...") # Apparently only the "keys" parameter is supposed to be in POST. # Let's fetch 100 items now keys = [r.key for r in self.cb.query("beer", "brewery_beers", limit=100)] self.assertEqual(100, len(keys)) kslice = keys[90:] self.assertEqual(10, len(kslice)) rows = [x for x in self.cb.query("beer", "brewery_beers", mapkey_multi=kslice, limit=5)] self.assertEqual(5, len(rows)) for row in rows: self.assertTrue(row.key in kslice)