PYCBC-199, PYCBC-203: Don't send invalid JSON in POST when no keys

We might still want to consider what to do in this case, but sending
'None' is certainly wrong :)

Change-Id: I84775f7380846f336cc1f213a18619e7128ea023
Reviewed-on: http://review.couchbase.org/29698
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Don't exhaust view iterator until done flag is set

Otherwise we might not get all metadata, causing some tests to fail at
times

Change-Id: I67bf4dc185162d8dc985ca7184535d1c31d5188c
Reviewed-on: http://review.couchbase.org/29715
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Expose 'lcb_t' pointer attribute

This is useful for FFI integration

Change-Id: I615a4255867203e1a6ad28a672b56af45d37b111
Reviewed-on: http://review.couchbase.org/29725
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Move test configs from package directory

Change-Id: I28eaa55e25a5e51b18705a00a3ff5b019f1becf5
Reviewed-on: http://review.couchbase.org/29726
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Fix setup_tests script

Change-Id: Ibbc9b2aa1912804002f066b0f83a5d3b099d303a
Reviewed-on: http://review.couchbase.org/29727
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Update TEST section in README

Change-Id: I2f76fa67c46405402b3c624a779fd1c353364252
Reviewed-on: http://review.couchbase.org/29728
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Volker Mische <volker.mische@gmail.com>
view_iterator_t: use xrange from _pyport

Py3 doesn't have xrange

Change-Id: I4001a1e21779b17356a565b164f0e1ac3ce9a2ca
Reviewed-on: http://review.couchbase.org/29729
Reviewed-by: Mark Nunberg <mnunberg@haskalah.org>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
exceptions.py: Don't assume message is always present

Change-Id: I71e6fcbfb975eb4771489ad60889a548a1b4d28a
Reviewed-on: http://review.couchbase.org/29773
Reviewed-by: Mark Nunberg <mnunberg@haskalah.org>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
TranscoderPP Additions

- Use 'ensure_ascii=False'
- Utilize 'FMT_AUTO'

Change-Id: Ibd3f20fa4d20d776daef241b7fb93e0cbb0d6525
Reviewed-on: http://review.couchbase.org/29775
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Add 'unicode' to _pyport

Change-Id: I4361177dfa328ab68c275ed8f226e9f232215537
Reviewed-on: http://review.couchbase.org/29776
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
transcoder_t: test for unhashable get keys

Change-Id: I9dc6c4bb0130a32a0b653ba32b40bfdf5db1550e
Reviewed-on: http://review.couchbase.org/29778
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Test tweaks for more API coverage

- Allow for customizable result classes (i.e. Config Mixin can define
  these)
- Section out streaming and non-streaming views tests
- Use TranscoderPP instead of Transcoder (FFI doesn't play well with
  'Transcoder')
- Unskip some tests which were previously skipped under PyPy

Change-Id: Ia43c9adc3caa08947cafcb1f9b82c898b3787ede
Reviewed-on: http://review.couchbase.org/29779
Reviewed-by: Mark Nunberg <mnunberg@haskalah.org>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Replace test docstrings as comments

Test runners mistakenly display these docstrings which is rather
unhelpful typically..

Change-Id: I3bdbeae852a3dd4619efe818bd65c6ddce7d347a
Reviewed-on: http://review.couchbase.org/29780
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Add proper mock URL for tests.ini

Change-Id: I2c4adf30d8697723223058ec49cd1ee9c80c5a67
Reviewed-on: http://review.couchbase.org/29814
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Run tests with Travis CI

Change-Id: Ib6b50b951b44c2e4c1c510a3a3758ce7497a38bd
Reviewed-on: http://review.couchbase.org/29815
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Use --always for tags

Change-Id: Ia9f11b37b43a47569971e5276bfefd6d94f66f75
Reviewed-on: http://review.couchbase.org/29816
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
mockserver: fix corrupt jar on py3

Change-Id: I1cc80a62bbcb16e298c31cb5167563d4ae2b5206
Reviewed-on: http://review.couchbase.org/29817
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
add 'couchbase.tests.cases' to setup.py

Change-Id: I0a31a3e2b2bdab126927fe69d57031d5518ac0cb
Reviewed-on: http://review.couchbase.org/29818
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Add Travis banner

Change-Id: I0214307befe3e23aabf83ee9ad77a827d2447d66
Reviewed-on: http://review.couchbase.org/29819
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
txcouchbase: Don't import on __init__.py

Change-Id: Ia83dacbee3d9d0f63107d4f7cc8ab224c1185531
Reviewed-on: http://review.couchbase.org/29863
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Volker Mische <volker.mische@gmail.com>