22 #include <sys/types.h>
23 #include <system_error>
26 #include "gtest/gtest.h"
37 #define TEST_TCP_PORT 17624
38 #define TEST_UNIX_SOCKET "/tmp/indi-test-server"
39 #define STRINGIFY_TOK(x) #x
40 #define TO_STRING(x) STRINGIFY_TOK(x)
44 std::string dev, prop;
46 MyClient(
const std::string &dev,
const std::string &prop) : dev(dev), prop(prop) {}
51 std::cerr <<
"new device\n";
55 std::cerr <<
"remove device\n";
66 std::cerr <<
"server connected\n";
70 std::cerr <<
"server disconnected\n";
74 TEST(IndiclientTcpConnect, ClientConnect)
88 std::thread t1([&fakeServer, &indiServerCnx]()
90 fakeServer.
accept(indiServerCnx);
91 indiServerCnx.
cnx.
expectXml(
"<getProperties version='1.7'/>");
95 ASSERT_EQ(connected,
true);
100 indiServerCnx.
cnx.
send(
"<pingRequest uid='123456'/>");
101 indiServerCnx.
cnx.
expectXml(
"<pingReply uid='123456'/>");
TEST(IndiclientTcpConnect, ClientConnect)
void send(const std::string &content)
void expectXml(const std::string &xml)
void setServer(const char *hostname, unsigned int port)
Set the server host name and port.
Class to provide basic client functionality.
bool connectServer() override
Connect to INDI server.
Class to provide basic INDI device functionality.
Provides generic container for INDI properties.
virtual void removeProperty(INDI::Property) override
Emmited when a property is deleted for an INDI driver.
MyClient(const std::string &dev, const std::string &prop)
virtual void serverConnected() override
Emmited when the server is connected.
virtual void newDevice(INDI::BaseDevice) override
Emmited when a new device is created from INDI server.
virtual void removeDevice(INDI::BaseDevice) override
Emmited when a device is deleted from INDI server.
virtual void serverDisconnected(int) override
Emmited when the server gets disconnected.
virtual void newProperty(INDI::Property) override
Emmited when a new property is created for an INDI driver.
void accept(IndiClientMock &into)