def test_old_unified_client_example(self): from couchbase import Couchbase # connect to a couchbase server cb = Couchbase(self.host + ':' + self.port, username=self.username, password=self.password) if not cb.couch_api_base: raise SkipTest default_bucket = cb[self.bucket_name] default_bucket['key1'] = 'value1' default_bucket2 = cb.bucket(self.bucket_name) default_bucket2['key2'] = {'value': 'value2', 'expiration': 0} default_bucket.set('key3', 0, 0, 'value3') self.assertEqual(str(default_bucket.get('key1')[2]), 'value1') self.assertEqual(str(default_bucket2.get('key2')[2]), 'value2') self.assertEqual(str(default_bucket2['key3'][2]), 'value3') # create a new bucket try: newbucket = cb.create('newbucket', ram_quota_mb=100, replica=1) except: newbucket = cb['newbucket'] # set a JSON document using the more "pythonic" interface newbucket['json_test'] = {'type': 'item', 'value': 'json test'} print 'json_test ' + str(newbucket['json_test']) # use the more verbose API which allows for setting expiration & flags newbucket.set('key4', 0, 0, {'type': 'item', 'value': 'json test'}) print 'key4 ' + str(newbucket['key4']) design_doc = { "views": { "all_by_types": { "map": '''function (doc, meta) { emit([meta.type, doc.type, meta.id], doc.value); // row output: ['json', 'item', 'key4'], 'json test' }''' }, }, } # save a design document newbucket['_design/testing'] = design_doc all_by_types_view = newbucket['_design/testing']['all_by_types'] rows = all_by_types_view.results({'stale': False}) for row in rows: self.assertTrue(row is not None) cb.delete('newbucket')
def test_old_unified_client_example(self): from couchbase import Couchbase # connect to a couchbase server cb = Couchbase(self.host + ':' + self.port, username=self.username, password=self.password) if not cb.couch_api_base: raise SkipTest default_bucket = cb[self.bucket_name] default_bucket['key1'] = 'value1' default_bucket2 = cb.bucket(self.bucket_name) default_bucket2['key2'] = {'value': 'value2', 'expiration': 0} default_bucket.set('key3', 0, 0, 'value3') self.assertEqual(str(default_bucket.get('key1')[2]), 'value1') self.assertEqual(str(default_bucket2.get('key2')[2]), 'value2') self.assertEqual(str(default_bucket2['key3'][2]), 'value3') # create a new bucket try: newbucket = cb.create('newbucket', ram_quota_mb=100, replica=1) except: newbucket = cb['newbucket'] # set a JSON document using the more "pythonic" interface newbucket['json_test'] = {'type': 'item', 'value': 'json test'} print 'json_test ' + str(newbucket['json_test']) # use the more verbose API which allows for setting expiration & flags newbucket.set('key4', 0, 0, {'type': 'item', 'value': 'json test'}) print 'key4 ' + str(newbucket['key4']) design_doc = {"views": {"all_by_types": {"map": '''function (doc, meta) { emit([meta.type, doc.type, meta.id], doc.value); // row output: ['json', 'item', 'key4'], 'json test' }''' }, }, } # save a design document newbucket['_design/testing'] = design_doc all_by_types_view = newbucket['_design/testing']['all_by_types'] rows = all_by_types_view.results({'stale': False}) for row in rows: self.assertTrue(row is not None) cb.delete('newbucket')
def test_old_unified_client_example(self): from couchbase import Couchbase # connect to a couchbase server cb = Couchbase(self.host + ":" + self.port, username=self.username, password=self.password) # create default bucket if it doesn't exist # try: # cb.create(self.bucket_name) # except: # pass default_bucket = cb[self.bucket_name] default_bucket["key1"] = "value1" default_bucket2 = cb.bucket(self.bucket_name) default_bucket2["key2"] = {"value": "value2", "expiration": 0, "flags": 10} default_bucket.set("key3", 0, 0, "value3") self.assertEqual(str(default_bucket.get("key1")[2]), "value1") self.assertEqual(str(default_bucket2.get("key2")[2]), "value2") self.assertEqual(str(default_bucket2["key3"][2]), "value3") # delete a bucket # cb.delete(self.bucket_name) # try: # cb['default'] # except Exception as ex: # print ex # create a new bucket try: newbucket = cb.create("newbucket", ram_quota_mb=100, replica=1) except: newbucket = cb["newbucket"] # set a json document with a function # this will translate $flags and $expiration to memcached protocol # automatically generate the _id doc_id = newbucket.save({"type": "item", "value": "json test", "$flags": 25}) print doc_id + " " + str(newbucket[doc_id]) # use a provided _id doc_id = newbucket.save({"_id": "key4", "type": "item", "value": "json test", "$flags": 25}) print doc_id + " " + str(newbucket[doc_id]) design = { "_id": "_design/testing", "language": "javascript", "views": {"all": {"map": """function (doc) {\n emit(doc, null);\n}"""}}, } # save a design document # right now with no _rev, we can only create, we can't update try: doc_id = newbucket.save(design) except: doc_id = "_design/testing" if cb.couch_api_base: rows = newbucket.view("_design/testing/_view/all") for row in rows: self.assertTrue(row is not None) cb.delete("newbucket")