Tests using the Remote Data Manager#

A pytest fixture (sunpy_cache) is provided for ease of mocking network requests when using cache. The following example demonstrates the usage of the fixture:

@manager.require('test_file',
                 ['http://data.sunpy.org/sample-data/predicted-sunspot-radio-flux.txt'],
                 '4c85b04a5528aa97eb84a087450eda0421c71833820576330bba148564089b11')
def test_function():
    return manager.get('test_file')

@pytest.fixture()
def local_cache(sunpy_cache):
    sunpy_cache = sunpy_cache('sunpy.test_module.cache')
    sunpy_cache.add('http://example.com/test_file',
                    'test_data_path')

The above snippet creates a pytest fixture called local_cache. This fixture can be used in wherever the files have to be mocked. An example is given below:

def test_test_function(local_cache):
    # inside this function the mocked cache is used

    # test_function uses 'http://example.com/test_file'
    assert test_function() == True