#pragma once #include #include "mock_network.hpp" #include "mock_router.hpp" #include "mock_vpn.hpp" namespace mocks { class MockContext : public llarp::Context { const Network& _net; public: MockContext(const Network& net) : llarp::Context{}, _net{net} { loop = std::shared_ptr{const_cast(&_net), [](Network*) {}}; } std::shared_ptr makeRouter(const std::shared_ptr&) override { return std::static_pointer_cast( std::make_shared(_net, makeVPNPlatform())); } std::shared_ptr makeVPNPlatform() override { return std::static_pointer_cast(std::make_shared(_net)); } std::shared_ptr makeNodeDB() override { return std::make_shared(); } }; } // namespace mocks