def test_batch_operation(self): expected_val = {} for counter_name in self.counter_name_list: expected_val[counter_name] = 1 MC.increment(counter_name) # Fetching multiple counters at the same time and checking values values = MC.get_multi(self.counter_name_list) self.assertDictEqual(expected_val, values) # Flushing all but first counter for counter_name in self.counter_name_list[1:]: MC.put_to_datastore(counter_name, flush=True) values = MC.get_multi(self.counter_name_list) self.assertDictEqual(expected_val, values) # Check if all counters exist for counter_name in self.counter_name_list: self.assertTrue(MC.exist(counter_name)) # Delete all counters and check if they still exist MC.delete_multi(self.counter_name_list) for counter_name in self.counter_name_list: self.assertFalse(MC.exist(counter_name))
def test_batch_operation(self): expected_val = {} for counter_name in self.counter_name_list: expected_val[counter_name] = 1 MC.increment(counter_name) # Fetching multiple counters at the same time and checking values values = MC.get_multi(self.counter_name_list) self.assertDictEqual(expected_val, values) # Flushing all but first counter for counter_name in self.counter_name_list[1:]: MC.put_to_datastore(counter_name, flush=True) values = MC.get_multi(self.counter_name_list) self.assertDictEqual(expected_val, values) # Check if all counters exist for counter_name in self.counter_name_list: self.assertTrue(MC.exist(counter_name)) # Delete all counters and check if they still exist MC.delete_multi(self.counter_name_list) for counter_name in self.counter_name_list: self.assertFalse(MC.exist(counter_name))
def threadproc(self, idx, results): '''This function is executed by each thread.''' no_of_req = 0 while not self.quitevent.is_set(): MC.increment(self.counter_name, persist_delay=0) MC.put_to_datastore(self.counter_name) no_of_req += 1 results[idx] = no_of_req
def threadproc(self, idx, results): '''This function is executed by each thread.''' no_of_req = 0 while not self.quitevent.is_set(): MC.increment(self.counter_name, persist_delay=0) MC.put_to_datastore(self.counter_name) no_of_req += 1 results[idx] = no_of_req
def test_set_reset(self): # Setting the counter to a particular value expected_val = 1024 MC.set(self.counter_name, expected_val) self.assertEqual(expected_val, MC.get(self.counter_name)) # Reseting the counter to a particular value MC.reset(self.counter_name) self.assertEqual(0, MC.get(self.counter_name)) # Deleting the counter from memcache and checking it's existence MC.put_to_datastore(self.counter_name, flush=True) self.assertTrue(MC.exist(self.counter_name)) # Now permanently deleting the counter and checking it's existence MC.delete(self.counter_name) self.assertFalse(MC.exist(self.counter_name))
def test_set_reset(self): # Setting the counter to a particular value expected_val = 1024 MC.set(self.counter_name, expected_val) self.assertEqual(expected_val, MC.get(self.counter_name)) # Reseting the counter to a particular value MC.reset(self.counter_name) self.assertEqual(0, MC.get(self.counter_name)) # Deleting the counter from memcache and checking it's existence MC.put_to_datastore(self.counter_name, flush=True) self.assertTrue(MC.exist(self.counter_name)) # Now permanently deleting the counter and checking it's existence MC.delete(self.counter_name) self.assertFalse(MC.exist(self.counter_name))
def test_memcache_flush(self): # Attempt to raise error by flushing memcache without persisting expected_val = MC.get(self.counter_name) + (INCREMENT_STEPS * 2) for _ in range(INCREMENT_STEPS): MC.increment(self.counter_name, 2, persist_delay=1000) self.assertEqual(expected_val, MC.get(self.counter_name)) memcache.flush_all() self.assertNotEqual(expected_val, MC.get(self.counter_name)) # Same Operation with Force persistence expected_val = MC.get(self.counter_name) + (INCREMENT_STEPS * 2) for _ in range(INCREMENT_STEPS): MC.increment(self.counter_name, 2, persist_delay=1000) self.assertEqual(expected_val, MC.get(self.counter_name)) MC.put_to_datastore(self.counter_name) memcache.flush_all() self.assertEqual(expected_val, MC.get(self.counter_name))
def test_memcache_flush(self): # Attempt to raise error by flushing memcache without persisting expected_val = MC.get(self.counter_name) + (INCREMENT_STEPS * 2) for _ in range(INCREMENT_STEPS): MC.increment(self.counter_name, 2, persist_delay=1000) self.assertEqual(expected_val, MC.get(self.counter_name)) memcache.flush_all() self.assertNotEqual(expected_val, MC.get(self.counter_name)) # Same Operation with Force persistence expected_val = MC.get(self.counter_name) + (INCREMENT_STEPS * 2) for _ in range(INCREMENT_STEPS): MC.increment(self.counter_name, 2, persist_delay=1000) self.assertEqual(expected_val, MC.get(self.counter_name)) MC.put_to_datastore(self.counter_name) memcache.flush_all() self.assertEqual(expected_val, MC.get(self.counter_name))