Minetest 5.10.0-dev
 
Loading...
Searching...
No Matches
mock_server.h
Go to the documentation of this file.
1/*
2Minetest
3Copyright (C) 2022 Minetest core developers & community
4
5This program is free software; you can redistribute it and/or modify
6it under the terms of the GNU Lesser General Public License as published by
7the Free Software Foundation; either version 2.1 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU Lesser General Public License for more details.
14
15You should have received a copy of the GNU Lesser General Public License along
16with this program; if not, write to the Free Software Foundation, Inc.,
1751 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18*/
19
20#pragma once
21
22#include "server.h"
23#include "server/mods.h"
24#include "scripting_server.h"
25
26class MockServer : public Server
27{
28public:
29 /* Set `path_world` to a real existing folder if you plan to initialize scripting! */
30 MockServer(const std::string &path_world = "fakepath") :
31 Server(path_world, SubgameSpec("fakespec", "fakespec"), true,
32 Address(), true, nullptr
33 )
34 {}
35
36 /*
37 * Use this in unit tests to create scripting.
38 * Note that you still need to call script->loadBuiltin() and don't forget
39 * a try-catch for `ModError`.
40 */
42 m_script = std::make_unique<ServerScripting>(this);
43 m_modmgr = std::make_unique<ServerModManager>(nullptr);
44 }
45
46 void start() = delete;
47 void stop() = delete;
48
49private:
50 void SendChatMessage(session_t peer_id, const ChatMessage &message) {}
51};
Definition address.h:43
Definition mock_server.h:27
void start()=delete
void SendChatMessage(session_t peer_id, const ChatMessage &message)
Definition mock_server.h:50
MockServer(const std::string &path_world="fakepath")
Definition mock_server.h:30
void stop()=delete
void createScripting()
Definition mock_server.h:41
Definition server.h:147
std::unique_ptr< ServerModManager > m_modmgr
Definition server.h:448
std::unique_ptr< ServerScripting > m_script
Definition server.h:445
u16 session_t
Definition networkprotocol.h:259
Definition chatmessage.h:35
Definition subgames.h:30