latest.ipv8.test.test_requestcache

Module Contents

Classes

MockCache

A cache that stores a future.

MockRegisteredCache

A cache that stores a future and registers it.

MockInfiniteCache

Create a cache that has near-infinite timeout delay.

MockNamedCache

A cache with a name.

TestRequestCache

Tests related to the request cache.

Attributes

CACHE_TIMEOUT

latest.ipv8.test.test_requestcache.CACHE_TIMEOUT = 0.01
class latest.ipv8.test.test_requestcache.MockCache(request_cache: latest.ipv8.requestcache.RequestCache)

Bases: latest.ipv8.requestcache.RandomNumberCache

A cache that stores a future.

property timeout_delay: float

Adopt the global cache timeout value.

on_timeout() None

When actually timed out, set the result of our future to None.

class latest.ipv8.test.test_requestcache.MockRegisteredCache(request_cache: latest.ipv8.requestcache.RequestCache)

Bases: latest.ipv8.requestcache.RandomNumberCache

A cache that stores a future and registers it.

property timeout_delay: float

Adopt the global cache timeout value.

on_timeout() None

Don’t do anything on timeout.

class latest.ipv8.test.test_requestcache.MockInfiniteCache(request_cache: latest.ipv8.requestcache.RequestCache)

Bases: latest.ipv8.requestcache.RandomNumberCache

Create a cache that has near-infinite timeout delay.

property timeout_delay: float

Set the timeout delay to be huge.

on_timeout() None

Flag the timed_out value as timed out.

class latest.ipv8.test.test_requestcache.MockNamedCache(request_cache: latest.ipv8.requestcache.RequestCache)

Bases: latest.ipv8.requestcache.RandomNumberCacheWithName

A cache with a name.

name = 'my-cache-name'
on_timeout() None

We do nothing.

class latest.ipv8.test.test_requestcache.TestRequestCache(methodName: str = 'runTest')

Bases: latest.ipv8.test.base.TestBase

Tests related to the request cache.

setUp() None

Create a new request cache, without registered caches.

async test_shutdown() None

Test if RequestCache does not allow new Caches after shutdown().

async test_timeout() None

Test if the cache.on_timeout() is called after the cache.timeout_delay.

async test_add_duplicate() None

Test if adding a cache twice returns None as the newly added cache.

async test_timeout_future_default_value() None

Test if a registered future gets set to None on timeout.

async test_timeout_future_custom_value() None

Test if a registered future gets set to a value on timeout.

async test_timeout_future_exception() None

Test if a registered future raises an exception on timeout.

async test_cancel_future_after_shutdown() None

Test if a registered future is cancelled when the RequestCache has shutdown.

async test_cancel_future() None

Test if a registered future gets canceled at shutdown.

async test_passthrough_noargs() None

Test if passthrough without arguments immediately times a cache out.

async test_passthrough_timeout() None

Test if passthrough respects the timeout value.

async test_passthrough_filter_one_match() None

Test if passthrough filters correctly with one filter, that matches.

async test_passthrough_filter_one_mismatch() None

Test if passthrough filters correctly with one filter, that doesn’t match.

async test_passthrough_filter_many_match() None

Test if passthrough filters correctly with many filters, that all match.

async test_passthrough_filter_some_match() None

Test if passthrough filters correctly with many filters, for which some match.

async test_passthrough_filter_no_match() None

Test if passthrough filters correctly with many filters, for which none match.

async test_has_by_class() None

Check if we can call .has() by cache class.

async test_get_by_class() None

Check if we can call .get() by cache class.

async test_pop_by_class() None

Check if we can call .pop() by cache class.