예제 #1
0
    def test_old_set_get_create_example(self):
        from couchbase.couchbaseclient import CouchbaseClient
        from couchbase.rest_client import RestConnection, RestHelper

        client = CouchbaseClient(self.url, self.bucket_name, "", False)
        client.set("key1", 0, 0, "value1")
        client.get("key1")

        server_info = {
            "ip": self.host,
            "port": self.port,
            "username": self.username,
            "password": self.password
        }
        rest = RestConnection(server_info)
        rest.create_bucket(bucket='newbucket',
                           ramQuotaMB=100,
                           authType='none',
                           saslPassword='',
                           replicaNumber=1,
                           proxyPort=11215,
                           bucketType='membase')

        self.assertTrue(RestHelper(rest).bucket_exists('newbucket'))
        rest.delete_bucket('newbucket')
 def setup_rest_connection(self):
     server_info = {
         "ip": self.host,
         "port": self.port,
         "username": self.username,
         "password": self.password
     }
     self.rest = RestConnection(server_info)
예제 #3
0
 def _rest(self):
     self.servers_lock.acquire()
     server_info = deepcopy(self.servers[0])
     self.servers_lock.release()
     server_info['username'] = self.rest_username
     server_info['password'] = self.rest_password
     server_info['couchApiBase'] = self.couch_api_base
     rest = RestConnection(server_info)
     return rest
    def test_rest_connection_object_creation_with_server_object(self):
        class ServerInfo:
            ip = self.host
            port = self.port
            rest_username = self.username
            rest_password = self.password

        rest = RestConnection(ServerInfo())
        self.assertEqual(rest.base_url,
                         "http://{0}:{1}".format(self.host, self.port))
 def setup_memcached_bucket(self):
     self.memcached_bucket = 'testing-memcached'
     self.rest_client = RestConnection({
         'ip': self.host,
         'port': self.port,
         'username': self.username,
         'password': self.password
     })
     self.rest_client.create_bucket(self.memcached_bucket,
                                    bucketType='memcached',
                                    authType='sasl',
                                    ramQuotaMB=64)
     self.client_for_memcached_bucket = \
         CouchbaseClient(self.url, self.memcached_bucket, verbose=True)
    def setUp(self):
        self.host = config['node-1']['host']
        self.port = config['node-1']['port']
        self.username = config['node-1']['username']
        self.password = config['node-1']['password']
        self.bucket_name = config['node-1']['bucket']

        server_info = {
            "ip": self.host,
            "port": self.port,
            "username": self.username,
            "password": self.password
        }
        self.rest = RestConnection(server_info)
        self.rest_helper = None
 def __init__(self, url, bucket, password="", verbose=False,
              dispatcher=CommandDispatcher):
     self.log = logger("CouchbaseClient")
     self.rest_username = bucket
     self.rest_password = password
     self._memcacheds = {}
     self._vBucketMap = {}
     self._vBucketMap_lock = Lock()
     self._vBucketMapFastForward = {}
     self._vBucketMapFastForward_lock = Lock()
     #TODO: use regular expressions to parse the url
     server = {}
     if not bucket:
         raise InvalidArgumentException("bucket can not be an empty string",
                                        parameters="bucket")
     if not url:
         raise InvalidArgumentException("url can not be an empty string",
                                        parameters="url")
     if (url.find("http://") != -1 and url.rfind(":") != -1 and
             url.find("/pools/default") != -1):
         server["ip"] = (url[url.find("http://")
                         + len("http://"):url.rfind(":")])
         server["port"] = url[url.rfind(":") + 1:url.find("/pools/default")]
         server["username"] = self.rest_username
         server["password"] = self.rest_password
     else:
         raise InvalidArgumentException("invalid url string",
                                        parameters=url)
     self.servers = [server]
     self.servers_lock = Lock()
     self.rest = RestConnection(server)
     self.bucket = self.rest.get_bucket(bucket)
     if self.bucket.vbuckets:
         self.reconfig_vbucket_map()
         self.init_vbucket_connections()
         self.streaming_thread = Thread(name="streaming",
                                        target=self._start_streaming,
                                        args=())
         self.streaming_thread.daemon = True
         self.streaming_thread.start()
     self.dispatcher = dispatcher(self, verbose)
     self.dispatcher_thread = Thread(name="dispatcher-thread",
                                     target=self._start_dispatcher)
     self.dispatcher_thread.daemon = True
     self.dispatcher_thread.start()
     self.verbose = verbose