Ejemplo n.º 1
0
class ConnectionSetTest(CouchbaseTestCase):
    def setUp(self):
        super(ConnectionSetTest, self).setUp()
        self.cb = Connection(self.host, self.port, self.username, self.password,
                             self.bucket_prefix)

    def test_trivial_set(self):
        cas = self.cb.set('key_trivial1', 'value1')
        self.assertTrue(cas > 0)
        cas = self.cb.set('key_trivial2', 'value2')
        self.assertTrue(cas > 0)

    def test_set_with_cas(self):
        cas1 = self.cb.set('key_cas', 'value1')
        self.assertTrue(cas1 > 0)

        self.assertRaises(KeyExistsError, self.cb.set,
                          'key_cas', 'value2', cas=cas1+1)

        cas2 = self.cb.set('key_cas', 'value3', cas=cas1)
        self.assertTrue(cas2 > 0)
        self.assertNotEqual(cas2, cas1)

        cas3 = self.cb.set('key_cas', 'value4')
        self.assertTrue(cas3 > 0)
        self.assertNotEqual(cas3, cas2)
        self.assertNotEqual(cas3, cas1)
    def test_connection_errors(self):
        cb = Connection(username='******',
                        password='******',
                        bucket='meh',
                        host='localhost',
                        port=1,
                        _no_connect_exceptions=True)
        errors = cb.errors()
        self.assertTrue(len(errors))
        self.assertEqual(len(errors[0]), 2)

        cb = Connection(**self.make_connargs())
        self.assertFalse(len(cb.errors()))
    def test_quiet(self):
        connparams = self.make_connargs()
        cb = Connection(**connparams)
        self.assertRaises(NotFoundError, cb.get, 'missing_key')

        cb = Connection(quiet=True, **connparams)
        cb.delete('missing_key', quiet=True)
        val1 = cb.get('missing_key')
        self.assertFalse(val1.success)

        cb = Connection(quiet=False, **connparams)
        self.assertRaises(NotFoundError, cb.get, 'missing_key')
 def test_connection_host_port(self):
     cb = Connection(host=self.host,
                     port=self.port,
                     username=self.username,
                     password=self.password,
                     bucket=self.bucket_prefix)
     # Connection didn't throw an error
     self.assertIsInstance(cb, Connection)
    def test_sasl_bucket(self):
        self.skipUnlessSasl()
        connargs = self.make_connargs()
        sasl_params = self.get_sasl_params()

        del connargs['username']
        connargs['bucket'] = sasl_params['bucket']
        connargs['password'] = sasl_params['password']
        cb = Connection(**connargs)
        self.assertIsInstance(cb, Connection)
    def test_multi_hosts(self):
        kwargs = {
            'username': self.username,
            'password': self.password,
            'bucket': self.bucket_prefix
        }

        cb = Connection(host=[self.host], **kwargs)
        self.assertTrue(cb.set("foo", "bar").success)

        cb = Connection(host=[(self.host, self.port)], **kwargs)
        self.assertTrue(cb.set("foo", "bar").success)

        cb = Connection(host=[('localhost', 1), (self.host, self.port)],
                        **kwargs)
        self.assertTrue(cb.set("foo", "bar").success)
Ejemplo n.º 7
0
 def __init__(self):
     self.delay = options.delay
     self.key = 'K' * options.ksize
     self.value = b'V' * options.vsize
     self.wait_time = 0
     self.opcount = 0
     self.cb = Connection(bucket='default',
                          host=options.hostname,
                          unlock_gil=DO_UNLOCK_GIL)
     if options.transcoder:
         self.cb.transcoder = TC
     self.end_time = time() + options.duration
     super(Worker, self).__init__()
    def test_conncache(self):
        cachefile = None
        # On Windows, the NamedTemporaryFile is deleted right when it's
        # created. So we need to ensure it's not deleted, and delete it
        # ourselves when it's closed
        try:
            cachefile = tempfile.NamedTemporaryFile(delete=False)
            cb = Connection(conncache=cachefile.name, **self.make_connargs())
            self.assertTrue(cb.set("foo", "bar").success)

            cb2 = Connection(conncache=cachefile.name, **self.make_connargs())

            self.assertTrue(cb2.set("foo", "bar").success)
            self.assertEquals("bar", cb.get("foo").value)

            sb = os.stat(cachefile.name)

            # For some reason this fails on Windows?
            self.assertTrue(sb.st_size > 0)
        finally:
            # On windows, we can't delete if the file is still being used
            cachefile.close()
            os.unlink(cachefile.name)
    def test_quiet(self):
        connparams = self.make_connargs()
        cb = Connection(**connparams)
        self.assertRaises(NotFoundError, cb.get, 'missing_key')

        cb = Connection(quiet=True, **connparams)
        cb.delete('missing_key', quiet=True)
        val1 = cb.get('missing_key')
        self.assertFalse(val1.success)

        cb = Connection(quiet=False, **connparams)
        self.assertRaises(NotFoundError, cb.get, 'missing_key')
    def test_connection_errors(self):
        cb = Connection(username='******',
                        password='******',
                        bucket='meh',
                        host='localhost',
                        port=1,
                        _no_connect_exceptions=True)
        errors = cb.errors()
        self.assertTrue(len(errors))
        self.assertEqual(len(errors[0]), 2)

        cb = Connection(**self.make_connargs())
        self.assertFalse(len(cb.errors()))
Ejemplo n.º 11
0
    def test_connection_defaults(self):
        ctor_params = self.make_connargs()
        # XXX: Change these if any of the defaults change
        defaults = {
            'timeout': 2.5,
            'quiet': False,
            'default_format': FMT_JSON,
            'unlock_gil': True,
            'transcoder': None
        }

        cb_ctor = Connection(**ctor_params)
        cb_connect = Couchbase.connect(**ctor_params)

        for option, value in defaults.items():
            actual = getattr(cb_ctor, option)
            self.assertEqual(actual, value)

            actual = getattr(cb_connect, option)
            self.assertEqual(actual, value)
    def test_multi_hosts(self):
        kwargs = {
            'username' : self.username,
            'password' : self.password,
            'bucket' : self.bucket_prefix
        }

        cb = Connection(host=[self.host], **kwargs)
        self.assertTrue(cb.set("foo", "bar").success)

        cb = Connection(host=[(self.host, self.port)], **kwargs)
        self.assertTrue(cb.set("foo", "bar").success)

        cb = Connection(host=[('localhost', 1), (self.host, self.port)], **kwargs)
        self.assertTrue(cb.set("foo", "bar").success)
    def test_conncache(self):
        cachefile = None
        # On Windows, the NamedTemporaryFile is deleted right when it's
        # created. So we need to ensure it's not deleted, and delete it
        # ourselves when it's closed
        try:
            cachefile = tempfile.NamedTemporaryFile(delete=False)
            cb = Connection(conncache=cachefile.name, **self.make_connargs())
            self.assertTrue(cb.set("foo", "bar").success)

            cb2 = Connection(conncache=cachefile.name, **self.make_connargs())

            self.assertTrue(cb2.set("foo", "bar").success)
            self.assertEquals("bar", cb.get("foo").value)

            sb = os.stat(cachefile.name)

            # For some reason this fails on Windows?
            self.assertTrue(sb.st_size > 0)
        finally:
            # On windows, we can't delete if the file is still being used
            cachefile.close()
            os.unlink(cachefile.name)
 def test_bucket(self):
     cb = Connection(**self.make_connargs())
     self.assertIsInstance(cb, Connection)
Ejemplo n.º 15
0
 def test_lcb_version(self):
     verstr, vernum = Connection.lcb_version()
     self.assertIsInstance(verstr, str)
     self.assertIsInstance(vernum, int)
import pprint

from couchbase.libcouchbase import Connection

ap = ArgumentParser()

ap.add_argument('-D', '--create-design', default=False,
                action='store_true',
                help='whether to create the design')

ap.add_argument('-n', '--number-of-terms', default=10,
                type=int, help="How many terms to generate")

options = ap.parse_args()

c = Connection(bucket='default')

DESIGN = {
        '_id' : '_design/search_keywords',
        'language' : 'javascript',
        'views' : {
            'top_keywords' : {
                'map' :
                """
                function(doc) {
                    if (typeof doc === 'number') {
                        emit(doc, null);
                    }
                }
                """
            }
Ejemplo n.º 17
0
 def test_lcb_version(self):
     verstr, vernum = Connection.lcb_version()
     self.assertIsInstance(verstr, str)
     self.assertIsInstance(vernum, int)
Ejemplo n.º 18
0
ap.add_argument('-D',
                '--create-design',
                default=False,
                action='store_true',
                help='whether to create the design')

ap.add_argument('-n',
                '--number-of-terms',
                default=10,
                type=int,
                help="How many terms to generate")

options = ap.parse_args()

c = Connection(bucket='default')

DESIGN = {
    '_id': '_design/search_keywords',
    'language': 'javascript',
    'views': {
        'top_keywords': {
            'map':
            """
                function(doc) {
                    if (typeof doc === 'number') {
                        emit(doc, null);
                    }
                }
                """
        }
Ejemplo n.º 19
0
 def setUp(self):
     super(ConnectionSetTest, self).setUp()
     self.cb = Connection(self.host, self.port, self.username, self.password,
                          self.bucket_prefix)
Ejemplo n.º 20
0
 def make_connection(self):
     return Connection(**self.make_connargs())