def test_layered_cache_propagates_value_on_get():
    'Layered cache propagates value on get.'
    caches = [ftrack_api.cache.MemoryCache(), ftrack_api.cache.MemoryCache(), ftrack_api.cache.MemoryCache()]
    cache = ftrack_api.cache.LayeredCache(caches)
    caches[1].set('key', 'value')
    assert (cache.get('key') == 'value')
    assert (caches[0].get('key') == 'value')
    with pytest.raises(KeyError):
        caches[2].get('key')
Layered cache propagates value on get.
def test_layered_cache_propagates_value_on_get():
    
    caches = [ftrack_api.cache.MemoryCache(), ftrack_api.cache.MemoryCache(), ftrack_api.cache.MemoryCache()]
    cache = ftrack_api.cache.LayeredCache(caches)
    caches[1].set('key', 'value')
    assert (cache.get('key') == 'value')
    assert (caches[0].get('key') == 'value')
    with pytest.raises(KeyError):
        caches[2].get('key')