1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#!/usr/bin/env python 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# Copyright 2013 The Chromium Authors. All rights reserved. 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# found in the LICENSE file. 5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)from test_object_store import TestObjectStore 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)import unittest 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)class TestObjectStoreTest(unittest.TestCase): 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) def testEmpty(self): 11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) store = TestObjectStore('namespace') 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) self.assertEqual(None, store.Get('hi').Get()) 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) self.assertEqual({}, store.GetMulti(['hi', 'lo']).Get()) 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) def testNonEmpty(self): 16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) store = TestObjectStore('namespace') 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) store.Set('hi', 'bye') 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) self.assertEqual('bye', store.Get('hi').Get()) 19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) self.assertEqual({'hi': 'bye'}, store.GetMulti(['hi', 'lo']).Get()) 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) store.Set('hi', 'blah') 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) self.assertEqual('blah', store.Get('hi').Get()) 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) self.assertEqual({'hi': 'blah'}, store.GetMulti(['hi', 'lo']).Get()) 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) store.Del('hi') 24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) self.assertEqual(None, store.Get('hi').Get()) 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) self.assertEqual({}, store.GetMulti(['hi', 'lo']).Get()) 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) def testCheckAndReset(self): 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) store = TestObjectStore('namespace') 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) store.Set('x', 'y') 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) self.assertTrue(*store.CheckAndReset(set_count=1)) 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) store.Set('x', 'y') 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) store.Set('x', 'y') 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) self.assertTrue(*store.CheckAndReset(set_count=2)) 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) store.Set('x', 'y') 35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) store.Set('x', 'y') 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) store.Get('x').Get() 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) store.Get('x').Get() 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) store.Get('x').Get() 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) store.Del('x') 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) self.assertTrue(*store.CheckAndReset(get_count=3, set_count=2, del_count=1)) 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)if __name__ == '__main__': 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) unittest.main() 44