mirror of
https://github.com/QuasarApp/Heart.git
synced 2025-05-14 10:29:43 +00:00
dev 3
This commit is contained in:
parent
24b13b281f
commit
8cebdc847b
@ -18,7 +18,6 @@ CONFIG(release, debug|release): {
|
||||
LIBS += -L$$CLIENTPROTOCOL_LIB_OUTPUT_DIR -lClientProtocol
|
||||
|
||||
include($$PWD/ClientProtocolIncludes.pri)
|
||||
include($$PWD/../Qt-Secret/src/Qt-Secret.pri)
|
||||
|
||||
|
||||
|
||||
|
@ -42,32 +42,30 @@ include($$PWD/../QuasarAppLib/QuasarLib.pri)
|
||||
|
||||
|
||||
SOURCES += \
|
||||
abstractdata.cpp \
|
||||
DataPacakages/abstract.cpp \
|
||||
DataPacakages/badrequest.cpp \
|
||||
abstractheader.cpp \
|
||||
abstractnode.cpp \
|
||||
abstractnodeinfo.cpp \
|
||||
# baseclient.cpp \
|
||||
abstractnode.cpp \
|
||||
abstractnodeinfo.cpp \
|
||||
abstractpackage.cpp \
|
||||
baseheader.cpp \
|
||||
basenodeinfo.cpp \
|
||||
# baseserver.cpp \
|
||||
basenodeinfo.cpp \
|
||||
basepackage.cpp \
|
||||
clientprotocol.cpp
|
||||
clientprotocol.cpp
|
||||
|
||||
|
||||
HEADERS += \
|
||||
abstractdata.h \
|
||||
DataPacakages/abstract.h \
|
||||
DataPacakages/badrequest.h \
|
||||
abstractheader.h \
|
||||
abstractnode.h \
|
||||
abstractnodeinfo.h \
|
||||
# baseclient.h \
|
||||
abstractnode.h \
|
||||
abstractnodeinfo.h \
|
||||
abstractpackage.h \
|
||||
baseheader.h \
|
||||
basenodeinfo.h \
|
||||
# baseserver.h \
|
||||
basenodeinfo.h \
|
||||
basepackage.h \
|
||||
clientprotocol.h \
|
||||
clientprotocol_global.h \
|
||||
config.h
|
||||
clientprotocol.h \
|
||||
clientprotocol_global.h \
|
||||
config.h
|
||||
|
||||
include($$PWD/ClientProtocolIncludes.pri)
|
||||
|
@ -1,4 +1,5 @@
|
||||
INCLUDEPATH += "$$PWD/"
|
||||
INCLUDEPATH += "$$PWD/Objects"
|
||||
INCLUDEPATH += "$$PWD/DataPacakages"
|
||||
|
||||
LIBS += -L$$CLIENTPROTOCOL_LIB_OUTPUT_DIR -lcrypto
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include "abstractdata.h"
|
||||
#include "abstract.h"
|
||||
#include <QDataStream>
|
||||
#include <QMap>
|
||||
#include <typeinfo>
|
||||
@ -6,16 +6,17 @@
|
||||
|
||||
namespace ClientProtocol {
|
||||
|
||||
namespace Data {
|
||||
|
||||
|
||||
static QMap<size_t, unsigned char> commandTable = {};
|
||||
|
||||
|
||||
unsigned char ClientProtocol::AbstractData::cmd() const {
|
||||
unsigned char Abstract::cmd() const {
|
||||
return _cmd;
|
||||
}
|
||||
|
||||
AbstractData::AbstractData() {
|
||||
Abstract::Abstract() {
|
||||
size_t hash = typeid(*this).hash_code();
|
||||
if (!commandTable.contains(hash)) {
|
||||
commandTable[hash] = static_cast<unsigned char>(commandTable.size());
|
||||
@ -23,13 +24,13 @@ AbstractData::AbstractData() {
|
||||
_cmd = commandTable[hash];
|
||||
}
|
||||
|
||||
AbstractData::AbstractData(const ClientProtocol::BasePackage &package):
|
||||
AbstractData() {
|
||||
Abstract::Abstract(const ClientProtocol::BasePackage &package):
|
||||
Abstract() {
|
||||
|
||||
fromBytes(package.data);
|
||||
}
|
||||
|
||||
bool AbstractData::fromBytes(const QByteArray &data) {
|
||||
bool Abstract::fromBytes(const QByteArray &data) {
|
||||
|
||||
if (data.isEmpty())
|
||||
return false;
|
||||
@ -39,14 +40,14 @@ bool AbstractData::fromBytes(const QByteArray &data) {
|
||||
return true;
|
||||
}
|
||||
|
||||
QByteArray AbstractData::toBytes() const {
|
||||
QByteArray Abstract::toBytes() const {
|
||||
QByteArray res;
|
||||
QDataStream stream(&res, QIODevice::WriteOnly);
|
||||
toStream(stream);
|
||||
return res;
|
||||
}
|
||||
|
||||
bool AbstractData::toPackage(BasePackage &package,
|
||||
bool Abstract::toPackage(BasePackage &package,
|
||||
unsigned char trigeredCommand) const {
|
||||
|
||||
if (!isValid()) {
|
||||
@ -62,18 +63,20 @@ bool AbstractData::toPackage(BasePackage &package,
|
||||
return package.isValid();
|
||||
}
|
||||
|
||||
QDataStream &AbstractData::fromStream(QDataStream &stream) {
|
||||
QDataStream &Abstract::fromStream(QDataStream &stream) {
|
||||
stream >> _cmd;
|
||||
return stream;
|
||||
}
|
||||
|
||||
QDataStream &AbstractData::toStream(QDataStream &stream) const {
|
||||
QDataStream &Abstract::toStream(QDataStream &stream) const {
|
||||
stream << _cmd;
|
||||
return stream;
|
||||
}
|
||||
|
||||
bool AbstractData::isValid() const {
|
||||
bool Abstract::isValid() const {
|
||||
return _cmd;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -4,11 +4,13 @@
|
||||
|
||||
namespace ClientProtocol {
|
||||
|
||||
namespace Data {
|
||||
|
||||
/**
|
||||
* @brief The AbstractData class
|
||||
* all data packages inherited this class.
|
||||
*/
|
||||
class CLIENTPROTOCOLSHARED_EXPORT AbstractData
|
||||
class CLIENTPROTOCOLSHARED_EXPORT Abstract
|
||||
{
|
||||
private:
|
||||
/**
|
||||
@ -20,13 +22,13 @@ protected:
|
||||
/**
|
||||
* @brief AbstractData
|
||||
*/
|
||||
explicit AbstractData();
|
||||
explicit Abstract();
|
||||
|
||||
/**
|
||||
* @brief AbstractData
|
||||
* @param package
|
||||
*/
|
||||
explicit AbstractData(const BasePackage& package);
|
||||
explicit Abstract(const BasePackage& package);
|
||||
|
||||
/**
|
||||
* @brief fromBytes - private initialisation of object from byte array
|
||||
@ -77,11 +79,13 @@ public:
|
||||
*/
|
||||
virtual bool isValid() const;
|
||||
|
||||
virtual ~AbstractData();
|
||||
virtual ~Abstract();
|
||||
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // ABSTRACTDATA_H
|
6
ClientProtocol/DataPacakages/badrequest.cpp
Normal file
6
ClientProtocol/DataPacakages/badrequest.cpp
Normal file
@ -0,0 +1,6 @@
|
||||
#include "badrequest.h"
|
||||
|
||||
BadRequest::BadRequest()
|
||||
{
|
||||
|
||||
}
|
16
ClientProtocol/DataPacakages/badrequest.h
Normal file
16
ClientProtocol/DataPacakages/badrequest.h
Normal file
@ -0,0 +1,16 @@
|
||||
#ifndef BADREQUEST_H
|
||||
#define BADREQUEST_H
|
||||
|
||||
#include "abstract.h"
|
||||
|
||||
namespace ClientProtocol{
|
||||
|
||||
}
|
||||
|
||||
class BadRequest : public Abstract
|
||||
{
|
||||
public:
|
||||
BadRequest();
|
||||
};
|
||||
|
||||
#endif // BADREQUEST_H
|
@ -1,4 +1,4 @@
|
||||
#include "abstractdata.h"
|
||||
#include "abstract.h"
|
||||
#include "abstractnode.h"
|
||||
#include <QSslCertificate>
|
||||
#include <QSslKey>
|
||||
@ -292,7 +292,7 @@ bool AbstractNode::sendPackage(const BasePackage &pkg, QAbstractSocket *target)
|
||||
return sendet;
|
||||
}
|
||||
|
||||
bool AbstractNode::sendResponse(const AbstractData &resp, quint32 id, const BaseHeader *req) {
|
||||
bool AbstractNode::sendResponse(const Abstract &resp, quint32 id, const BaseHeader *req) {
|
||||
auto client = getInfoPtr(id);
|
||||
|
||||
if (!client) {
|
||||
@ -317,6 +317,46 @@ bool AbstractNode::sendResponse(const AbstractData &resp, quint32 id, const Base
|
||||
return true;
|
||||
}
|
||||
|
||||
void AbstractNode::badRequest(quint32 address, const BaseHeader &req) {
|
||||
auto client = getInfoPtr(address);
|
||||
|
||||
if (!client) {
|
||||
|
||||
QuasarAppUtils::Params::verboseLog("Bad request detected, bud responce command not sendet!"
|
||||
" because client == null",
|
||||
QuasarAppUtils::Error);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!changeTrust(address, REQUEST_ERROR)) {
|
||||
|
||||
QuasarAppUtils::Params::verboseLog("Bad request detected, bud responce command not sendet!"
|
||||
" because karma not changed",
|
||||
QuasarAppUtils::Error);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
BasePackage pcg;
|
||||
if (!(pcg.create(Command::BadRequest, Type::Responke, &req))) {
|
||||
QuasarAppUtils::Params::verboseLog("Bad request detected, bud responce command not sendet!"
|
||||
" because package not created",
|
||||
QuasarAppUtils::Error);
|
||||
};
|
||||
|
||||
if (!sendPackage(pcg, client->getSct())) {
|
||||
|
||||
QuasarAppUtils::Params::verboseLog("Bad request detected, bud responce command not sendet!"
|
||||
" because karma not changed",
|
||||
QuasarAppUtils::Error);
|
||||
return;
|
||||
}
|
||||
|
||||
QuasarAppUtils::Params::verboseLog("Bad request sendet to adderess: " +
|
||||
client->getSct()->peerAddress().toString(),
|
||||
QuasarAppUtils::Info);
|
||||
}
|
||||
|
||||
QString AbstractNode::getWorkState() const {
|
||||
if (isListening()) {
|
||||
if (connectionsCount() >= maxPendingConnections())
|
||||
|
@ -43,7 +43,7 @@ struct SslSrtData {
|
||||
#define LOGICK_ERROOR -20
|
||||
#define REQUEST_ERROR -5
|
||||
|
||||
class AbstractData;
|
||||
class Abstract;
|
||||
|
||||
/**
|
||||
* @brief The AbstractNode class
|
||||
@ -199,7 +199,7 @@ protected:
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
virtual bool sendResponse(const AbstractData& resp, quint32 address,
|
||||
virtual bool sendResponse(const Abstract& resp, quint32 address,
|
||||
const BaseHeader *req = nullptr);
|
||||
|
||||
/**
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include "abstract.h"
|
||||
#include "abstractpackage.h"
|
||||
namespace ClientProtocol {
|
||||
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
namespace ClientProtocol {
|
||||
|
||||
class Abstract;
|
||||
/**
|
||||
* @brief The Package struct
|
||||
*/
|
||||
|
@ -4,6 +4,8 @@
|
||||
#include "baseheader.h"
|
||||
#include "basepackage.h"
|
||||
#include "config.h"
|
||||
#include "abstractnode.h"
|
||||
#include "abstractnodeinfo.h"
|
||||
|
||||
|
||||
namespace ClientProtocol {
|
||||
|
@ -1,48 +1,22 @@
|
||||
#include <QtTest>
|
||||
//#include <cp.h>
|
||||
//#include <sp.h>
|
||||
|
||||
#include <thread>
|
||||
#include <quasarapp.h>
|
||||
#include <QCoreApplication>
|
||||
#include <QCryptographicHash>
|
||||
//#include <sqldbwriter.h>
|
||||
//#include <sqldbcache.h>
|
||||
#include <clientprotocol.h>
|
||||
|
||||
//#include <snake.h>
|
||||
//#include <playerdbdata.h>
|
||||
//#include <mainserver.h>
|
||||
|
||||
//#include "factorynetobjects.h"
|
||||
#include "testutils.h"
|
||||
|
||||
// add necessary includes here
|
||||
|
||||
//#define TEST_LOCAL_SERVER QString(DEFAULT_SERVER) + "Test"
|
||||
//#define TEST_SERVER_ADDRESS LOCAL_SNAKE_SERVER
|
||||
//#define TEST_SERVER_PORT 27777
|
||||
#define TEST_LOCAL_HOST "127.0.0.1"
|
||||
#define TEST_PORT 1234
|
||||
|
||||
class testSankeServer : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private:
|
||||
// void testPingServerProtockol(ServerProtocol::Client &cli);
|
||||
// void testStateServerProtockol(ServerProtocol::Client &cli);
|
||||
// void testBanServerProtockol(ServerProtocol::Client& cli);
|
||||
// void testUnBanServerProtockol(ServerProtocol::Client& cli);
|
||||
// void testRestartServerProtockol(ServerProtocol::Client& cli);
|
||||
// void testStopServerProtockol(ServerProtocol::Client& cli);
|
||||
|
||||
// void testPingClientProtockol(ClientProtocol::Client& cli);
|
||||
// void testLogin(ClientProtocol::Client& cli);
|
||||
// void testUserData(ClientProtocol::Client& cli);
|
||||
// void testGetItem(ClientProtocol::Client& cli);
|
||||
// void testApplyData(ClientProtocol::Client& cli);
|
||||
// void testWebSockets(ClientProtocol::Client& cli);
|
||||
// void testBanLogin(ClientProtocol::Client &cli, ServerProtocol::Client &term);
|
||||
|
||||
// void testBaseSql();
|
||||
// void testSqlCache();
|
||||
|
||||
public:
|
||||
testSankeServer();
|
||||
@ -51,12 +25,7 @@ public:
|
||||
|
||||
private slots:
|
||||
void initTestCase();
|
||||
// void clianupTestCase();
|
||||
|
||||
// void testProtockols();
|
||||
//// void testClientProtockol();
|
||||
// void testSql();
|
||||
|
||||
void testAbstractNode();
|
||||
|
||||
};
|
||||
|
||||
@ -70,551 +39,15 @@ testSankeServer::~testSankeServer() {
|
||||
}
|
||||
|
||||
void testSankeServer::initTestCase() {
|
||||
// ClientProtocol::initClientProtockol();
|
||||
// ClientProtocol::initClientProtockol();
|
||||
}
|
||||
|
||||
//void testSankeServer::clianupTestCase() {
|
||||
void testSankeServer::testAbstractNode() {
|
||||
ClientProtocol::AbstractNode node;
|
||||
node.run(TEST_LOCAL_HOST, TEST_PORT);
|
||||
|
||||
//}
|
||||
}
|
||||
|
||||
//void testSankeServer::testPingServerProtockol(ServerProtocol::Client &cli) {
|
||||
|
||||
|
||||
// bool isWork = false;
|
||||
// bool received = false;
|
||||
|
||||
// QMetaObject::Connection m_connection;
|
||||
|
||||
// m_connection = QObject::connect(&cli, &ServerProtocol::Client::sigIncommingData,
|
||||
// [&isWork, &received, &m_connection] (const QVariantMap& map) {
|
||||
|
||||
// isWork = map["res"].toString() == "Pong";
|
||||
// disconnect(m_connection);
|
||||
// received = true;
|
||||
|
||||
|
||||
// });
|
||||
|
||||
// QVERIFY(cli.ping());
|
||||
|
||||
// QVERIFY(cli.wait(received, 1000));
|
||||
|
||||
// QVERIFY(isWork);
|
||||
|
||||
//}
|
||||
|
||||
//void testSankeServer::testStateServerProtockol(ServerProtocol::Client& cli) {
|
||||
// QVariantMap map;
|
||||
// QVERIFY(TestUtils::getState(cli, map));
|
||||
|
||||
//}
|
||||
|
||||
//void testSankeServer::testBanServerProtockol(ServerProtocol::Client& cli) {
|
||||
|
||||
// bool isWork = false;
|
||||
// bool received = false;
|
||||
|
||||
// QMetaObject::Connection m_connection;
|
||||
|
||||
// m_connection = QObject::connect(&cli, &ServerProtocol::Client::sigIncommingData,
|
||||
// [&isWork, &received, &m_connection] (const QVariantMap& map) {
|
||||
|
||||
// isWork = !map.contains("Error");
|
||||
// received = true;
|
||||
// disconnect(m_connection);
|
||||
// });
|
||||
|
||||
// QVERIFY(!cli.ban(QHostAddress()));
|
||||
|
||||
// QVERIFY(cli.ban(QHostAddress("192.192.192.192")));
|
||||
// QVERIFY(cli.wait(received, 1000));
|
||||
|
||||
// QVERIFY(isWork);
|
||||
|
||||
//}
|
||||
|
||||
//void testSankeServer::testUnBanServerProtockol(ServerProtocol::Client& cli)
|
||||
//{
|
||||
|
||||
// bool isWork = false;
|
||||
// bool received = false;
|
||||
|
||||
// QMetaObject::Connection m_connection;
|
||||
|
||||
// m_connection = QObject::connect(&cli, &ServerProtocol::Client::sigIncommingData,
|
||||
// [&isWork, &received, &m_connection] (const QVariantMap& map) {
|
||||
|
||||
// isWork = !map.contains("Error");
|
||||
// received = true;
|
||||
// disconnect(m_connection);
|
||||
|
||||
// });
|
||||
|
||||
// QVERIFY(!cli.unBan(QHostAddress()));
|
||||
|
||||
// QVERIFY(cli.unBan(QHostAddress("192.192.192.192")));
|
||||
// QVERIFY(cli.wait(received, 1000));
|
||||
|
||||
// QVERIFY(isWork);
|
||||
|
||||
//}
|
||||
|
||||
//void testSankeServer::testRestartServerProtockol(ServerProtocol::Client& cli) {
|
||||
|
||||
// bool isWork = false;
|
||||
// bool received = false;
|
||||
|
||||
// QMetaObject::Connection m_connection;
|
||||
|
||||
// m_connection = QObject::connect(&cli, &ServerProtocol::Client::sigIncommingData,
|
||||
// [&isWork, &received, &m_connection] (const QVariantMap& map) {
|
||||
|
||||
// isWork = !map.contains("Error");
|
||||
// received = true;
|
||||
// disconnect(m_connection);
|
||||
|
||||
// });
|
||||
|
||||
// QVERIFY(!cli.restart("lolo", 0));
|
||||
|
||||
// QVERIFY(!cli.restart("192.168.1.999", 0));
|
||||
// QVERIFY(!cli.restart("192.168.1.99", 0));
|
||||
// QVERIFY(!cli.restart("192.168.1.9", 0));
|
||||
|
||||
// QVERIFY(!cli.restart("-1.168.1.999", 77));
|
||||
// QVERIFY(!cli.restart("192.168.-1.99", 7777));
|
||||
|
||||
// QVERIFY(cli.restart("127.168.1.9", 3456));
|
||||
|
||||
// cli.wait(received, 1000);
|
||||
// QVERIFY(isWork);
|
||||
|
||||
// isWork = false;
|
||||
// received = false;
|
||||
|
||||
// m_connection = QObject::connect(&cli, &ServerProtocol::Client::sigIncommingData,
|
||||
// [&isWork, &received, &m_connection] (const QVariantMap& map) {
|
||||
|
||||
// isWork = map.value("Address") == QString("%0:%1").
|
||||
// arg(TEST_SERVER_ADDRESS).
|
||||
// arg(TEST_SERVER_PORT) &&
|
||||
// !map.contains("Error");
|
||||
// received = true;
|
||||
// disconnect(m_connection);
|
||||
|
||||
// });
|
||||
|
||||
// QVERIFY(cli.restart(TEST_SERVER_ADDRESS, TEST_SERVER_PORT));
|
||||
|
||||
// cli.wait(received, 1000);
|
||||
// QVERIFY(isWork);
|
||||
|
||||
//}
|
||||
|
||||
//void testSankeServer::testStopServerProtockol(ServerProtocol::Client& cli) {
|
||||
|
||||
// bool isWork = false;
|
||||
// bool received = false;
|
||||
|
||||
// QMetaObject::Connection m_connection;
|
||||
|
||||
// m_connection = QObject::connect(&cli, &ServerProtocol::Client::sigIncommingData,
|
||||
// [&isWork, &received, &m_connection] (const QVariantMap& map) {
|
||||
|
||||
// isWork = !map.contains("Error");
|
||||
// received = true;
|
||||
// disconnect(m_connection);
|
||||
|
||||
// });
|
||||
|
||||
// QVERIFY(cli.stop());
|
||||
|
||||
// cli.wait(received, 1000);
|
||||
|
||||
// QVERIFY(!received || isWork);
|
||||
//}
|
||||
|
||||
//void testSankeServer::testPingClientProtockol(ClientProtocol::Client &cli) {
|
||||
|
||||
// bool isWork = false;
|
||||
// bool received = false;
|
||||
|
||||
// QMetaObject::Connection m_connection;
|
||||
|
||||
// m_connection = QObject::connect(&cli, &ClientProtocol::Client::sigIncommingData,
|
||||
// [&isWork, &received, &m_connection] (const ClientProtocol::Command cmd,
|
||||
// const QByteArray&) {
|
||||
|
||||
// isWork = cmd == ClientProtocol::Command::Ping;
|
||||
// received = true;
|
||||
// disconnect(m_connection);
|
||||
|
||||
|
||||
// });
|
||||
|
||||
// QVERIFY(cli.ping());
|
||||
|
||||
// QVERIFY(TestUtils::wait(received, 1000));
|
||||
|
||||
// QVERIFY(isWork);
|
||||
|
||||
//}
|
||||
|
||||
//void testSankeServer::testLogin(ClientProtocol::Client &cli) {
|
||||
|
||||
// QVERIFY(TestUtils::loginFunc(cli, "Test@gmail.com", "testpass", true, false));
|
||||
|
||||
// QVERIFY(TestUtils::registerFunc(cli, "Test@gmail.com", "testpass", true, true));
|
||||
// QVERIFY(TestUtils::registerFunc(cli, "Test@gmail.com", "testpass", true, false));
|
||||
|
||||
// QVERIFY(TestUtils::loginFunc(cli, "Test@gmail.com", "testpass", true, true));
|
||||
// QVERIFY(TestUtils::loginFunc(cli, "Test@gmail.com", "testpass2", true, false));
|
||||
// QVERIFY(TestUtils::loginFunc(cli, "Test@gmail.com", "testpass", true, true));
|
||||
|
||||
//}
|
||||
|
||||
//void testSankeServer::testBanLogin(ClientProtocol::Client &cli, ServerProtocol::Client &term) {
|
||||
|
||||
// QVariantMap state;
|
||||
// TestUtils::getState(term, state);
|
||||
|
||||
// for (int i = 0; i < 25 && cli.isOnline(); i++) {
|
||||
// QVERIFY(TestUtils::loginFunc(cli, "Test@gmail.com", "testpass2", true, false) == cli.isOnline());
|
||||
// }
|
||||
|
||||
// TestUtils::getState(term, state);
|
||||
// QVERIFY(state.value("Baned List").toStringList().contains("127.0.0.1"));
|
||||
// QVERIFY(TestUtils::loginFunc(cli, "Test@gmail.com", "testpass", false, false));
|
||||
// QVERIFY(TestUtils::loginFunc(cli, "Test123@gmail.com", "testpass2", false, false));
|
||||
|
||||
// TestUtils::unBanFunc(term, QHostAddress::LocalHost);
|
||||
|
||||
// TestUtils::getState(term, state);
|
||||
// QVERIFY(!state.value("Baned List").toStringList().contains("127.0.0.1"));
|
||||
|
||||
// TestUtils::banFunc(term, QHostAddress::LocalHost);
|
||||
|
||||
// TestUtils::getState(term, state);
|
||||
// QVERIFY(state.value("Baned List").toStringList().contains("127.0.0.1"));
|
||||
|
||||
// TestUtils::unBanFunc(term, QHostAddress::LocalHost);
|
||||
// cli.reconnectToHost();
|
||||
|
||||
// TestUtils::reconnectFunc(cli);
|
||||
// QVERIFY(TestUtils::loginFunc(cli, "Test@gmail.com", "testpass", true, true));
|
||||
// QVERIFY(TestUtils::loginFunc(cli, "Test123@gmail.com", "testpass2", true, false));
|
||||
|
||||
//}
|
||||
|
||||
//void testSankeServer::testUserData(ClientProtocol::Client &cli) {
|
||||
|
||||
// cli._token = "";
|
||||
// QVERIFY(!cli.updateData());
|
||||
|
||||
// cli._token = QCryptographicHash::hash("testtoken", QCryptographicHash::Sha256);
|
||||
// QVERIFY(cli.updateData());
|
||||
//}
|
||||
|
||||
//void testSankeServer::testGetItem(ClientProtocol::Client &cli) {
|
||||
// cli._token = "";
|
||||
// QVERIFY(!cli.getItem(1));
|
||||
|
||||
// cli._token = QCryptographicHash::hash("testtoken", QCryptographicHash::Sha256);
|
||||
// QVERIFY(cli.getItem(1));
|
||||
//}
|
||||
|
||||
//void testSankeServer::testApplyData(ClientProtocol::Client &cli) {
|
||||
|
||||
// cli._token = QCryptographicHash::hash("testtoken", QCryptographicHash::Sha256);
|
||||
|
||||
// QVERIFY(!cli.savaData(QList<int>()));
|
||||
|
||||
// QList<int> listData = {1};
|
||||
|
||||
// QVERIFY(cli.savaData(listData));
|
||||
|
||||
//}
|
||||
|
||||
//void testSankeServer::testWebSockets(ClientProtocol::Client &cli) {
|
||||
|
||||
// QVERIFY(cli.setSubscribe(ClientProtocol::Command::Player, true));
|
||||
// QVERIFY(cli.setSubscribe(ClientProtocol::Command::Player, false));
|
||||
|
||||
|
||||
//}
|
||||
|
||||
//void testSankeServer::testBaseSql() {
|
||||
// SqlDBWriter db;
|
||||
// QFile::remove("./test.db");
|
||||
|
||||
// bool init = db.initDb("./test.db");
|
||||
|
||||
// if (!init) {
|
||||
// QFile::remove("./test.db");
|
||||
// }
|
||||
|
||||
// QVERIFY(init);
|
||||
|
||||
// ClientProtocol::Snake snake;
|
||||
// snake.setSpeed(10);
|
||||
// snake.setSkillet(QList<float>() << 1);
|
||||
// snake.setSnakeClass(0);
|
||||
|
||||
|
||||
// // TEST ITEM
|
||||
|
||||
// ClientProtocol::Snake resSnake;
|
||||
|
||||
// QVERIFY(db.saveItem(&snake) < 0);
|
||||
// snake.setId(0);
|
||||
// int id = db.saveItem(&snake);
|
||||
|
||||
// QVERIFY(id == 0);
|
||||
|
||||
// QVERIFY(db.getItem(id).parse(resSnake));
|
||||
|
||||
// QVERIFY(snake.getSpeed() == resSnake.getSpeed());
|
||||
// QVERIFY(snake.getSkillet() == resSnake.getSkillet());
|
||||
// QVERIFY(snake.getSnakeClass() == resSnake.getSnakeClass());
|
||||
// QVERIFY(snake.getClass() == resSnake.getClass());
|
||||
// QVERIFY(snake.id() == resSnake.id());
|
||||
|
||||
// resSnake.setSnakeClass(10);
|
||||
// QVERIFY(id == db.saveItem(Item(&resSnake)));
|
||||
|
||||
// ClientProtocol::Snake temp;
|
||||
// QVERIFY(db.getItem(id).parse(temp));
|
||||
|
||||
// QVERIFY(temp.getSnakeClass() == 10);
|
||||
|
||||
|
||||
// // TEST PLAYER
|
||||
|
||||
// PlayerDBData player = PlayerDBData();
|
||||
|
||||
// player.setMany(10);
|
||||
// player.setLastOnline(1000);
|
||||
// player.setOnlineTime(1001);
|
||||
// player.setName("test");
|
||||
// player.fromHexPass("FF");
|
||||
// player.setGmail("test@gmail.com");
|
||||
// player.setCureentSnake(0);
|
||||
|
||||
// QVERIFY(db.savePlayer(player) < 0);
|
||||
// player.setId(0);
|
||||
|
||||
// QVERIFY(db.savePlayer(player) < 0);
|
||||
// player.setCureentSnake(-1);
|
||||
// id = db.savePlayer(player);
|
||||
// QVERIFY(id == 0);
|
||||
|
||||
// QVERIFY(!db.saveowners(id, QSet<int>() << 1));
|
||||
// QVERIFY(db.saveowners(id, QSet<int>() << 0));
|
||||
|
||||
// QSet<int> items;
|
||||
// QVERIFY(db.getAllItemsOfPalyer(id, items));
|
||||
// QVERIFY(items.contains(0));
|
||||
// QVERIFY(items.size() == 1);
|
||||
|
||||
|
||||
// player.setCureentSnake(0);
|
||||
// id = db.savePlayer(player);
|
||||
|
||||
// auto resPlayer = db.getPlayer(id);
|
||||
// QVERIFY(resPlayer.isValid());
|
||||
// QVERIFY(player.getLastOnline() == resPlayer.getLastOnline());
|
||||
// QVERIFY(player.getMany() == resPlayer.getMany());
|
||||
// QVERIFY(player.getOnlineTime() == resPlayer.getOnlineTime());
|
||||
// QVERIFY(player.getName() == resPlayer.getName());
|
||||
// QVERIFY(player.getPass() == resPlayer.getPass());
|
||||
// QVERIFY(player.getCureentSnake() == resPlayer.getCureentSnake());
|
||||
|
||||
|
||||
// player.setCureentSnake(3);
|
||||
|
||||
// QVERIFY(db.savePlayer(player) < 0);
|
||||
// player.setCureentSnake(0);
|
||||
// player.setName("new");
|
||||
// QVERIFY(db.savePlayer(player) == id);
|
||||
|
||||
// resPlayer = db.getPlayer(id);
|
||||
|
||||
// QVERIFY(resPlayer.getName() == "new");
|
||||
|
||||
//}
|
||||
|
||||
//void testSankeServer::testSqlCache() {
|
||||
// SqlDBCache db;
|
||||
|
||||
// QFile::remove("./test2.db");
|
||||
|
||||
// bool init = db.initDb("./test2.db");
|
||||
|
||||
// if (!init) {
|
||||
// QFile::remove("./test2.db");
|
||||
// }
|
||||
|
||||
// QVERIFY(init);
|
||||
|
||||
|
||||
// ClientProtocol::Snake snake;
|
||||
// snake.setSpeed(10);
|
||||
// snake.setSkillet(QList<float>() << 1);
|
||||
// snake.setSnakeClass(0);
|
||||
|
||||
|
||||
// // TEST ITEM
|
||||
|
||||
// ClientProtocol::Snake resSnake;
|
||||
|
||||
// int id = db.saveItem(&snake);
|
||||
|
||||
// QVERIFY(id == 0);
|
||||
// snake.setId(id);
|
||||
|
||||
// QVERIFY(db.getItem(id).parse(resSnake));
|
||||
|
||||
// QVERIFY(snake.getSpeed() == resSnake.getSpeed());
|
||||
// QVERIFY(snake.getSkillet() == resSnake.getSkillet());
|
||||
// QVERIFY(snake.getSnakeClass() == resSnake.getSnakeClass());
|
||||
// QVERIFY(snake.getClass() == resSnake.getClass());
|
||||
// QVERIFY(snake.id() == resSnake.id());
|
||||
|
||||
// resSnake.setSnakeClass(10);
|
||||
// QVERIFY(id == db.saveItem(Item(&resSnake)));
|
||||
|
||||
// ClientProtocol::Snake temp;
|
||||
// QVERIFY(db.getItem(id).parse(temp));
|
||||
|
||||
// QVERIFY(temp.getSnakeClass() == 10);
|
||||
|
||||
|
||||
// // TEST PLAYER
|
||||
|
||||
// PlayerDBData player = PlayerDBData();
|
||||
|
||||
// player.setMany(10);
|
||||
// player.setLastOnline(1000);
|
||||
// player.setOnlineTime(1001);
|
||||
// player.setName("test");
|
||||
// player.fromHexPass("FF");
|
||||
// player.setGmail("test@gmail.com");
|
||||
// player.setCureentSnake(0);
|
||||
|
||||
// QVERIFY(db.savePlayer(player) < 0);
|
||||
// player.setId(0);
|
||||
|
||||
// QVERIFY(db.savePlayer(player) < 0);
|
||||
// player.setCureentSnake(-1);
|
||||
// id = db.savePlayer(player);
|
||||
// QVERIFY(id == 0);
|
||||
|
||||
// QVERIFY(!db.getItem(id, 1));
|
||||
// QVERIFY(db.getItem(id, 0));
|
||||
|
||||
// player.setCureentSnake(0);
|
||||
// QVERIFY(db.savePlayer(player) == id);
|
||||
|
||||
// auto resPlayer = db.getPlayer(id);
|
||||
// QVERIFY(resPlayer.isValid());
|
||||
// QVERIFY(player.getLastOnline() == resPlayer.getLastOnline());
|
||||
// QVERIFY(player.getMany() == resPlayer.getMany());
|
||||
// QVERIFY(player.getOnlineTime() == resPlayer.getOnlineTime());
|
||||
// QVERIFY(player.getName() == resPlayer.getName());
|
||||
// QVERIFY(player.getPass() == resPlayer.getPass());
|
||||
// QVERIFY(player.getCureentSnake() == resPlayer.getCureentSnake());
|
||||
|
||||
|
||||
// player.setCureentSnake(3);
|
||||
|
||||
// QVERIFY(db.savePlayer(player) < 0);
|
||||
// player.setCureentSnake(0);
|
||||
// player.setName("new");
|
||||
// QVERIFY(db.savePlayer(player) == id);
|
||||
|
||||
// resPlayer = db.getPlayer(id);
|
||||
|
||||
// QVERIFY(resPlayer.getName() == "new");
|
||||
|
||||
|
||||
// PlayerDBData second_player = PlayerDBData();
|
||||
|
||||
// second_player.setMany(10);
|
||||
// second_player.setLastOnline(1000);
|
||||
// second_player.setOnlineTime(1001);
|
||||
// second_player.setName("test2");
|
||||
// second_player.setPass("test2");
|
||||
// second_player.setGmail("test2@gmail.com");
|
||||
// second_player.setCureentSnake(-1);
|
||||
// second_player.setId(-1);
|
||||
|
||||
// QVERIFY(db.savePlayer(second_player) == 1);
|
||||
|
||||
// QVERIFY(db.moveItem(0, 1, 0));
|
||||
|
||||
// QSet<int> items;
|
||||
// QVERIFY(db.getAllItemsOfPalyer(1, items));
|
||||
// QVERIFY(items.contains(0));
|
||||
// QVERIFY(items.size() == 1);
|
||||
|
||||
// db.updateInterval = 0;
|
||||
|
||||
// db.globalUpdateDataBasePrivate(0);
|
||||
|
||||
//}
|
||||
|
||||
//void testSankeServer::testSql() {
|
||||
// testBaseSql();
|
||||
// testSqlCache();
|
||||
//}
|
||||
|
||||
//void testSankeServer::testProtockols() {
|
||||
|
||||
// int argc =0;
|
||||
// char * argv[] = {nullptr};
|
||||
|
||||
// QCoreApplication app(argc, argv);
|
||||
|
||||
// auto serv = new MainServer(true, this);
|
||||
// QVERIFY(serv->run(TEST_SERVER_ADDRESS, TEST_SERVER_PORT , "", TEST_LOCAL_SERVER));
|
||||
// ServerProtocol::Client cliS(TEST_LOCAL_SERVER);
|
||||
// ClientProtocol::Client cliC(TEST_SERVER_ADDRESS, TEST_SERVER_PORT);
|
||||
|
||||
// QVERIFY(TestUtils::wait(cliC.isOnline(), 1000));
|
||||
|
||||
// QTimer::singleShot(0, [this, &app, &cliS, &cliC]() {
|
||||
|
||||
// // test client protockol
|
||||
// testPingClientProtockol(cliC);
|
||||
|
||||
// testLogin(cliC);
|
||||
// testGetItem(cliC);
|
||||
// testUserData(cliC);
|
||||
// testApplyData(cliC);
|
||||
// testWebSockets(cliC);
|
||||
// testBanLogin(cliC, cliS);
|
||||
|
||||
// // test server protockiol
|
||||
// testPingServerProtockol(cliS);
|
||||
// testStateServerProtockol(cliS);
|
||||
// testBanServerProtockol(cliS);
|
||||
// testUnBanServerProtockol(cliS);
|
||||
// testRestartServerProtockol(cliS);
|
||||
// testStopServerProtockol(cliS);
|
||||
// app.exit(0);
|
||||
// });
|
||||
|
||||
// app.exec();
|
||||
|
||||
//}
|
||||
|
||||
//void testSankeServer::testClientProtockol() {
|
||||
|
||||
// auto serv = new ClientProtocol::Server(this);
|
||||
// QVERIFY(serv->run(TEST_SERVER_ADDRESS, TEST_SERVER_PORT));
|
||||
|
||||
|
||||
//}
|
||||
|
||||
QTEST_APPLESS_MAIN(testSankeServer)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user