clean up a few complicated mocks

This commit is contained in:
Ryan Petrello
2017-02-01 12:56:20 -05:00
parent 557bc8006d
commit 9d98ac5e37

View File

@@ -146,11 +146,13 @@ def test_empty_setting(settings, mocker):
category_slug='system' category_slug='system'
) )
settings_to_cache = [ mocks = mocker.Mock(**{
mocker.Mock(**{'order_by.return_value': []}), 'order_by.return_value': mocker.Mock(**{
mocker.Mock(**{'order_by.return_value.first.return_value': None}) '__iter__': lambda self: iter([]),
] 'first.return_value': None
with mocker.patch('awx.conf.models.Setting.objects.filter', side_effect=settings_to_cache): }),
})
with mocker.patch('awx.conf.models.Setting.objects.filter', return_value=mocks):
with pytest.raises(AttributeError): with pytest.raises(AttributeError):
settings.AWX_SOME_SETTING settings.AWX_SOME_SETTING
assert settings.cache.get('AWX_SOME_SETTING') == SETTING_CACHE_NOTSET assert settings.cache.get('AWX_SOME_SETTING') == SETTING_CACHE_NOTSET
@@ -166,12 +168,14 @@ def test_setting_from_db(settings, mocker):
default='DEFAULT' default='DEFAULT'
) )
settings_to_cache = [ setting_from_db = mocker.Mock(key='AWX_SOME_SETTING', value='FROM_DB')
mocker.Mock(**{'order_by.return_value': [ mocks = mocker.Mock(**{
mocker.Mock(key='AWX_SOME_SETTING', value='FROM_DB') 'order_by.return_value': mocker.Mock(**{
]}), '__iter__': lambda self: iter([setting_from_db]),
] 'first.return_value': setting_from_db
with mocker.patch('awx.conf.models.Setting.objects.filter', side_effect=settings_to_cache): }),
})
with mocker.patch('awx.conf.models.Setting.objects.filter', return_value=mocks):
assert settings.AWX_SOME_SETTING == 'FROM_DB' assert settings.AWX_SOME_SETTING == 'FROM_DB'
assert settings.cache.get('AWX_SOME_SETTING') == 'FROM_DB' assert settings.cache.get('AWX_SOME_SETTING') == 'FROM_DB'