Source code for fireblog.tests.settings.db_wrapper_test
import pytest
from fireblog.settings import settings_dict, mapping
pytestmark = pytest.mark.usefixtures("test_with_one_theme")
[docs]def test_can_set_an_item_and_then_get_the_same_item(
pyramid_config, clear_settings_dict):
assert not settings_dict.get('test', None)
settings_dict['test'] = 'test_str'
assert settings_dict['test'] == 'test_str'
[docs]def test_changing_an_item_and_getting_it_returns_new_item(
pyramid_config, clear_settings_dict):
settings_dict['test'] = 'test_str'
assert settings_dict['test'] == 'test_str'
settings_dict['test'] = 'test_str1'
assert settings_dict['test'] == 'test_str1'
[docs]def test_can_get_default_items(pyramid_config, clear_settings_dict):
for entry in mapping:
correct_value = entry.type(entry.default_value)
assert settings_dict[entry.registry_name] == correct_value
[docs]def test_can_delete_an_item(pyramid_config):
settings_dict['test'] = 'test_str'
assert settings_dict['test']
del settings_dict['test']
assert not settings_dict.get('test', None)
with pytest.raises(KeyError):
settings_dict['test']
[docs]def test_can_get_num_of_settings(pyramid_config, clear_settings_dict):
settings_dict.update({'1': '1', '2': '2', '3': '3'})
assert len(settings_dict) == 3
del settings_dict['3']
assert len(settings_dict) == 2
settings_dict['test'] = 'te'
assert len(settings_dict) == 3
[docs]def test_can_iterate_over_keys(pyramid_config, clear_settings_dict):
results = set()
for key in settings_dict:
results.add(key)
assert results == set([e.registry_name for e in mapping])
[docs]def test_can_iterate_over_added_keys(pyramid_config, clear_settings_dict):
settings_dict.update({'1': '1', '2': '2', '3': '3'})
results = set()
for key in settings_dict:
results.add(key)
# Get rid of default keys
results -= set([e.registry_name for e in mapping])
assert results == set(['1', '2', '3'])
[docs]def test_items_are_returned_once_only(pyramid_config, clear_settings_dict):
registry_name = mapping[0].registry_name
settings_dict[registry_name] = 'testing'
counter = 0
for key in settings_dict:
if key == registry_name:
counter += 1
assert counter == 1