def mc(self): try: return self._mc except AttributeError: pass self._mc = Memcached(self.inst.mcpool, prefix="%s-" % self.tag) return self._mc
def testerrors(self): mc = Memcached(pool=MemcachedPool(size=4)) tasks = [] for i in xrange(0, 100): tasks.append(Tasklet.new(self.error_thread)(mc)) for i in xrange(0, 100): tasks.append(Tasklet.new(self.handled_thread)(mc)) Tasklet.join_all(tasks)
class TestDatabase(unittest.TestCase): def setUp(self): self.mc = Memcached(prefix="mgtest-") self.db = CassandraPool().dbget("mgtest", self.mc) self.cleanup() def tearDown(self): self.cleanup() pass def cleanup(self): conn = self.db.pool.cget() try: conn.cass.system_drop_keyspace("mgtest") except Exception as e: pass self.db.pool.success(conn) self.mc.delete("Cassandra-KS-mgtest") self.mc.delete("Cassandra-CF-mgtest-Family1") self.mc.delete("Cassandra-CF-mgtest-Family2") self.mc.delete("Cassandra-CF-mgtest-Family3") def testputget(self): timestamp = time.time() * 1000 self.db.insert("1", ColumnParent(column_family="Family1"), Column(name="email", value="[email protected] - проверка", timestamp=timestamp), ConsistencyLevel.QUORUM) self.db.get_slice("1", ColumnParent(column_family="Family1"), SlicePredicate(slice_range=SliceRange(start="", finish="")), ConsistencyLevel.QUORUM) def testerror(self): try: self.db.insert("", ColumnParent(column_family="Family1"), Column(name="email", value="somevalue", timestamp=0), ConsistencyLevel.QUORUM) self.assertTrue(False) except DatabaseError as e: self.assertEqual(e.why, "Key may not be empty") else: self.assertTrue(False)
class TestDatabase(unittest.TestCase): def setUp(self): self.mc = Memcached(prefix="mgtest-") self.db = CassandraPool().dbget("mgtest", self.mc) self.cleanup() def tearDown(self): self.cleanup() pass def cleanup(self): conn = self.db.pool.cget() try: conn.cass.system_drop_keyspace("mgtest") except Exception as e: pass self.db.pool.success(conn) self.mc.delete("Cassandra-KS-mgtest") self.mc.delete("Cassandra-CF-mgtest-Family1") self.mc.delete("Cassandra-CF-mgtest-Family2") self.mc.delete("Cassandra-CF-mgtest-Family3") def testputget(self): timestamp = time.time() * 1000 self.db.insert( "1", ColumnParent(column_family="Family1"), Column(name="email", value="[email protected] - проверка", timestamp=timestamp), ConsistencyLevel.QUORUM) self.db.get_slice( "1", ColumnParent(column_family="Family1"), SlicePredicate(slice_range=SliceRange(start="", finish="")), ConsistencyLevel.QUORUM) def testerror(self): try: self.db.insert( "", ColumnParent(column_family="Family1"), Column(name="email", value="somevalue", timestamp=0), ConsistencyLevel.QUORUM) self.assertTrue(False) except DatabaseError as e: self.assertEqual(e.why, "Key may not be empty") else: self.assertTrue(False)
def setUp(self): mg.test.testorm.TestORM.setUp(self) self.mc = Memcached(prefix="mgtest-") self.db = CassandraPool().dbget("mgtest", mc=self.mc)
def setUp(self): self.mc = Memcached(prefix="mgtest-")
class TestMemcached(unittest.TestCase): def setUp(self): self.mc = Memcached(prefix="mgtest-") def testsetget(self): self.mc.set("key1", "value1") self.assertEqual(self.mc.get("key1"), "value1") self.mc.delete("key1") self.assertEqual(self.mc.get("key1"), None) def testgetmulti(self): self.mc.set("key1", "value1") self.mc.set("key2", "value2") self.assertEqual(self.mc.get("key1"), "value1") self.assertEqual(self.mc.get("key2"), "value2") res = self.mc.get_multi([ "key1", "key2" ]) self.assertEqual(res["key1"], "value1") self.assertEqual(res["key2"], "value2") def testunicode(self): self.mc.set("key1", u"проверка") self.assertEqual(type(self.mc.get("key1")), unicode) self.mc.set("key1", u"проверка1") self.mc.set("key2", u"проверка2") self.assertEqual(self.mc.get("key1"), u"проверка1") self.assertEqual(self.mc.get("key2"), u"проверка2") res = self.mc.get_multi([ "key1", "key2" ]) self.assertEqual(res["key1"], u"проверка1") self.assertEqual(res["key2"], u"проверка2") def testthreading(self): tasks = [] for i in xrange(0, 100): tasks.append(Tasklet.new(self.thread)(i)) Tasklet.join_all(tasks) def thread(self, n): for i in xrange(0, 50): self.mc.set("key%d" % n, "value%d" % n) self.assertEqual(self.mc.get("key%d" % n), "value%d" % n) self.mc.delete("key%d" % n) self.assertEqual(self.mc.get("key%d" % n), None) def testerrors(self): mc = Memcached(pool=MemcachedPool(size=4)) tasks = [] for i in xrange(0, 100): tasks.append(Tasklet.new(self.error_thread)(mc)) for i in xrange(0, 100): tasks.append(Tasklet.new(self.handled_thread)(mc)) Tasklet.join_all(tasks) def handled_thread(self, mc): for i in xrange(0, 50): try: # must not happen self.assertEqual(mc.get(""), 1) except MemcachedEmptyKeyError: pass except Exception: self.assertFalse("must not happen") def error_thread(self, mc): for i in xrange(0, 50): self.assertEqual(mc.get(" "), None)
class TestMemcached(unittest.TestCase): def setUp(self): self.mc = Memcached(prefix="mgtest-") def testsetget(self): self.mc.set("key1", "value1") self.assertEqual(self.mc.get("key1"), "value1") self.mc.delete("key1") self.assertEqual(self.mc.get("key1"), None) def testgetmulti(self): self.mc.set("key1", "value1") self.mc.set("key2", "value2") self.assertEqual(self.mc.get("key1"), "value1") self.assertEqual(self.mc.get("key2"), "value2") res = self.mc.get_multi(["key1", "key2"]) self.assertEqual(res["key1"], "value1") self.assertEqual(res["key2"], "value2") def testunicode(self): self.mc.set("key1", u"проверка") self.assertEqual(type(self.mc.get("key1")), unicode) self.mc.set("key1", u"проверка1") self.mc.set("key2", u"проверка2") self.assertEqual(self.mc.get("key1"), u"проверка1") self.assertEqual(self.mc.get("key2"), u"проверка2") res = self.mc.get_multi(["key1", "key2"]) self.assertEqual(res["key1"], u"проверка1") self.assertEqual(res["key2"], u"проверка2") def testthreading(self): tasks = [] for i in xrange(0, 100): tasks.append(Tasklet.new(self.thread)(i)) Tasklet.join_all(tasks) def thread(self, n): for i in xrange(0, 50): self.mc.set("key%d" % n, "value%d" % n) self.assertEqual(self.mc.get("key%d" % n), "value%d" % n) self.mc.delete("key%d" % n) self.assertEqual(self.mc.get("key%d" % n), None) def testerrors(self): mc = Memcached(pool=MemcachedPool(size=4)) tasks = [] for i in xrange(0, 100): tasks.append(Tasklet.new(self.error_thread)(mc)) for i in xrange(0, 100): tasks.append(Tasklet.new(self.handled_thread)(mc)) Tasklet.join_all(tasks) def handled_thread(self, mc): for i in xrange(0, 50): try: # must not happen self.assertEqual(mc.get(""), 1) except MemcachedEmptyKeyError: pass except Exception: self.assertFalse("must not happen") def error_thread(self, mc): for i in xrange(0, 50): self.assertEqual(mc.get(" "), None)
def setUp(self): self.mc = Memcached(prefix="mgtest-") self.db = CassandraPool().dbget("mgtest", self.mc) self.cleanup()
def cleanup(): mc = Memcached(prefix="mgtest-") db = CassandraPool().dbget("mgtest", mc) conn = db.pool.cget() try: conn.cass.system_drop_keyspace("mgtest") except Exception as e: pass db.pool.success(conn) mc.delete("Cassandra-KS-mgtest") mc.delete("Cassandra-CF-mgtest-Data") mc.delete("Cassandra-CF-mgtest-SimpleObject_Objects") mc.delete("Cassandra-CF-mgtest-TestObject_Objects") mc.delete("Cassandra-CF-mgtest-TestObject_Index_topic") mc.delete("Cassandra-CF-mgtest-TestObject_Index_created") mc.delete("Cassandra-CF-mgtest-TestObject_Index_index") mc.delete("Cassandra-CF-mgtest-TestObject_Index_val") mc.delete("Cassandra-CF-mgtest-TestObject_Indexes")