def test_delete_from_storage(): storage = Storage('/tmp/thebot.storage') storage.clear() storage['blah'] = 'minor' del storage['blah'] eq_([], sorted(storage.keys()))
def test_simple_storage(): storage = Storage('/tmp/thebot.storage') storage.clear() eq_([], storage.keys()) storage['blah'] = 'minor' storage['one'] = {'some': 'dict'} eq_(['blah', 'one'], sorted(storage.keys())) eq_('minor', storage['blah'])
def test_storage_restores_bot_attribute(): bot = Bot(adapters=[TestAdapter], plugins=[TestPlugin]) storage = Storage('/tmp/thebot.storage', global_objects=dict(bot=bot)) storage.clear() original = Request('blah') original.bot = bot storage['request'] = original restored = storage['request'] eq_(restored.bot, original.bot)
def test_storage_nesting(): with closing(Storage(STORAGE_FILENAME)) as storage: storage.clear() first = storage.with_prefix('first:') second = storage.with_prefix('second:') eq_([], storage.keys()) first['blah'] = 'minor' second['one'] = {'some': 'dict'} eq_(['first:blah', 'second:one'], sorted(storage.keys())) eq_(['first:blah', 'second:one'], sorted(list(storage))) eq_(['blah'], first.keys()) eq_(['blah'], list(first)) eq_(['one'], second.keys()) eq_(['one'], list(second)) eq_('minor', first['blah']) assert_raises(KeyError, lambda: second['blah']) first.clear() eq_(['second:one'], sorted(storage.keys())) eq_(['second:one'], sorted(list(storage)))
def test_delete_from_storage(): with closing(Storage(STORAGE_FILENAME)) as storage: storage.clear() storage['blah'] = 'minor' del storage['blah'] eq_([], sorted(storage.keys()))
def test_simple_storage(): with closing(Storage(STORAGE_FILENAME)) as storage: storage.clear() eq_([], storage.keys()) storage['blah'] = 'minor' storage['one'] = {'some': 'dict'} eq_(['blah', 'one'], sorted(storage.keys())) eq_('minor', storage['blah'])
def test_storage_deep_nesting(): with closing(Storage(STORAGE_FILENAME)) as storage: storage.clear() first = storage.with_prefix('first:') second = first.with_prefix('second:') second['blah'] = 'minor' eq_(['first:second:blah'], storage.keys()) eq_(['second:blah'], first.keys()) eq_(['blah'], second.keys())
def test_storage_is_iterable_as_dict(): with closing(Storage(STORAGE_FILENAME)) as storage: storage.clear() storage['blah'] = 'minor' storage['another'] = 'option' eq_(['another', 'blah'], sorted(storage.keys())) eq_(['minor', 'option'], sorted(storage.values())) eq_([('another', 'option'), ('blah', 'minor')], sorted(storage.items())) eq_(['another', 'blah'], sorted(item for item in storage))
def test_storage_nesting(): storage = Storage('/tmp/thebot.storage') storage.clear() first = storage.with_prefix('first:') second = storage.with_prefix('second:') eq_([], storage.keys()) first['blah'] = 'minor' second['one'] = {'some': 'dict'} eq_(['first:blah', 'second:one'], sorted(storage.keys())) eq_(['first:blah'], sorted(first.keys())) eq_(['second:one'], sorted(second.keys())) eq_('minor', first['blah']) assert_raises(KeyError, lambda: second['blah']) first.clear() eq_(['second:one'], sorted(storage.keys()))
def test_storage_with_prefix_keeps_global_objects(): storage = Storage('/tmp/thebot.storage', global_objects=dict(some='value')) prefixed = storage.with_prefix('nested:') eq_(storage.global_objects, prefixed.global_objects)
def test_storage_with_prefix_keeps_global_objects(): with closing(Storage(STORAGE_FILENAME, global_objects=dict(some='value'))) as storage: prefixed = storage.with_prefix('nested:') eq_(storage.global_objects, prefixed.global_objects)