Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 19 additions & 5 deletions riak/tests/test_2i.py
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,21 @@ def test_index_regex(self):

self.assertEqual([('val2', o2.key)], results)

def _create_index_objects(self):
@unittest.skipIf(SKIP_INDEXES, 'SKIP_INDEX is defined')
def test_index_falsey_endkey_gh378(self):
if not self.is_2i_supported():
raise unittest.SkipTest("2I is not supported")

bucket, o1, o2, o3, o4 = self._create_index_objects(int_sign=-1)

results = []
for item in bucket.stream_index('field2_int', -10000, 0):
results.extend(item)

self.assertEqual(set([o4.key, o3.key, o2.key, o1.key]),
set(results))

def _create_index_objects(self, int_sign=1):
"""
Creates a number of index objects to be used in 2i test
"""
Expand All @@ -473,22 +487,22 @@ def _create_index_objects(self):
o1 = bucket.\
new(self.randname(), 'data1').\
add_index('field1_bin', 'val1').\
add_index('field2_int', 1001).\
add_index('field2_int', int_sign*1001).\
store()
o2 = bucket.\
new(self.randname(), 'data1').\
add_index('field1_bin', 'val2').\
add_index('field2_int', 1002).\
add_index('field2_int', int_sign*1002).\
store()
o3 = bucket.\
new(self.randname(), 'data1').\
add_index('field1_bin', 'val3').\
add_index('field2_int', 1003).\
add_index('field2_int', int_sign*1003).\
store()
o4 = bucket.\
new(self.randname(), 'data1').\
add_index('field1_bin', 'val4').\
add_index('field2_int', 1004).\
add_index('field2_int', int_sign*1004).\
store()

return bucket, o1, o2, o3, o4
2 changes: 1 addition & 1 deletion riak/transports/http/resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ def index_path(self, bucket, index, start, finish=None, bucket_type=None,
**options):
if not self.riak_kv_wm_buckets:
raise RiakError("Indexes are unsupported by this Riak node")
if finish:
if finish is not None:
finish = quote_plus(str(finish))
if self.riak_kv_wm_bucket_type and bucket_type:
return mkpath("/types", quote_plus(bucket_type),
Expand Down
2 changes: 1 addition & 1 deletion riak/transports/pbc/codec.py
Original file line number Diff line number Diff line change
Expand Up @@ -438,7 +438,7 @@ def _encode_index_req(self, bucket, index, startkey, endkey=None,
req = riak_pb.RpbIndexReq(bucket=str_to_bytes(bucket.name),
index=str_to_bytes(index))
self._add_bucket_type(req, bucket.bucket_type)
if endkey:
if endkey is not None:
req.qtype = riak_pb.RpbIndexReq.range
req.range_min = str_to_bytes(str(startkey))
req.range_max = str_to_bytes(str(endkey))
Expand Down