forked from organicmaps/organicmaps
some tests for map_server and utils
This commit is contained in:
parent
d8e7c944fa
commit
e9e2222277
5 changed files with 162 additions and 0 deletions
BIN
data/test.png
Normal file
BIN
data/test.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.1 KiB |
45
map_server/map_server_tests/generate_map_tests.cpp
Normal file
45
map_server/map_server_tests/generate_map_tests.cpp
Normal file
|
@ -0,0 +1,45 @@
|
|||
#include "../../base/SRC_FIRST.hpp"
|
||||
#include "../../testing/testing.hpp"
|
||||
|
||||
#include "../../coding/reader.hpp"
|
||||
#include "../../coding/base64.hpp"
|
||||
|
||||
#include "../../platform/platform.hpp"
|
||||
|
||||
#include "../../map_server_utils/request.hpp"
|
||||
#include "../../map_server_utils/viewport.hpp"
|
||||
|
||||
#include <QtCore/QProcess>
|
||||
#include <QtCore/QByteArray>
|
||||
|
||||
UNIT_TEST(generate_simle_map)
|
||||
{
|
||||
QProcess * mapServer = new QProcess();
|
||||
mapServer->start("./map_server", QIODevice::ReadWrite);
|
||||
if (!mapServer->waitForStarted())
|
||||
return;
|
||||
|
||||
::srv::Request::Params params;
|
||||
params.m_density = graphics::EDensityMDPI;
|
||||
params.m_viewport = ::srv::Viewport(m2::PointD(0.0, 0.0), 1, 128, 128);
|
||||
::srv::Request r(params);
|
||||
|
||||
stringstream ss;
|
||||
::srv::SendRequest(ss, r);
|
||||
string sendData = ss.str();
|
||||
mapServer->write(sendData.c_str(), sendData.size());
|
||||
mapServer->waitForFinished();
|
||||
|
||||
QByteArray response = mapServer->readAll();
|
||||
string responseString(response.constData(), response.size());
|
||||
responseString = base64::Decode(responseString);
|
||||
|
||||
ModelReader * reader = GetPlatform().GetReader("test.png");
|
||||
uint64_t size = reader->Size();
|
||||
char * data = new char[size];
|
||||
reader->Read(0, (void *)data, size);
|
||||
delete reader;
|
||||
|
||||
TEST_EQUAL(size, responseString.size(), (""));
|
||||
TEST_EQUAL(memcmp(data, responseString.c_str(), size), 0, (""));
|
||||
}
|
8
map_server/map_server_tests/main.cpp
Normal file
8
map_server/map_server_tests/main.cpp
Normal file
|
@ -0,0 +1,8 @@
|
|||
#include <QCoreApplication>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QCoreApplication a(argc, argv);
|
||||
|
||||
return a.exec();
|
||||
}
|
34
map_server/map_server_tests/map_server_tests.pro
Normal file
34
map_server/map_server_tests/map_server_tests.pro
Normal file
|
@ -0,0 +1,34 @@
|
|||
#-------------------------------------------------
|
||||
#
|
||||
# Project created by QtCreator 2013-07-13T21:17:19
|
||||
#
|
||||
#-------------------------------------------------
|
||||
|
||||
QT += core gui opengl
|
||||
|
||||
TARGET = map_server_tests
|
||||
CONFIG += console warn_on
|
||||
CONFIG -= app_bundle
|
||||
|
||||
TEMPLATE = app
|
||||
|
||||
DEPENDENCIES = qt_tstfrm map indexer graphics platform geometry coding base expat freetype fribidi protobuf tomcrypt \
|
||||
map_server_utils jansson
|
||||
|
||||
ROOT_DIR = ../..
|
||||
include($$ROOT_DIR/common.pri)
|
||||
|
||||
QT *= opengl gui core
|
||||
|
||||
win32 {
|
||||
LIBS *= -lopengl32 -lshell32
|
||||
win32-g++: LIBS *= -lpthread
|
||||
}
|
||||
macx-*: LIBS *= "-framework Foundation"
|
||||
|
||||
SOURCES += \
|
||||
../../testing/testingmain.cpp \
|
||||
generate_map_tests.cpp \
|
||||
utils_tests.cpp
|
||||
|
||||
HEADERS +=
|
75
map_server/map_server_tests/utils_tests.cpp
Normal file
75
map_server/map_server_tests/utils_tests.cpp
Normal file
|
@ -0,0 +1,75 @@
|
|||
#include "../../base/SRC_FIRST.hpp"
|
||||
#include "../../testing/testing.hpp"
|
||||
|
||||
#include "../../graphics/defines.hpp"
|
||||
#include "../../platform/platform.hpp"
|
||||
#include "../../coding/reader.hpp"
|
||||
#include "../../coding/base64.hpp"
|
||||
|
||||
#include "../../map_server_utils/request.hpp"
|
||||
#include "../../map_server_utils/response.hpp"
|
||||
#include "../../map_server_utils/viewport.hpp"
|
||||
|
||||
#include "../../std/iostream.hpp"
|
||||
|
||||
#include <QtCore/QByteArray>
|
||||
|
||||
UNIT_TEST(request_sending)
|
||||
{
|
||||
srv::Request::Params params;
|
||||
params.m_viewport = srv::Viewport(m2::PointD(10.0, 20.0), 3, 300, 300);
|
||||
params.m_density = graphics::EDensityXXHDPI;
|
||||
|
||||
srv::Request r(params);
|
||||
|
||||
stringstream stream;
|
||||
srv::SendRequest(stream, r);
|
||||
srv::Request input = srv::GetRequest(stream);
|
||||
|
||||
TEST_EQUAL(r.GetDensity(), input.GetDensity(), (""));
|
||||
TEST_EQUAL((int)r.GetViewport().GetCenter().x, (int)input.GetViewport().GetCenter().x, (""));
|
||||
TEST_EQUAL((int)r.GetViewport().GetCenter().y, (int)input.GetViewport().GetCenter().y, (""));
|
||||
TEST_EQUAL((int)r.GetViewport().GetScale(), (int)input.GetViewport().GetScale(), (""));
|
||||
TEST_EQUAL((int)r.GetViewport().GetWidth(), (int)input.GetViewport().GetWidth(), (""));
|
||||
TEST_EQUAL((int)r.GetViewport().GetHeight(), (int)input.GetViewport().GetHeight(), (""));
|
||||
}
|
||||
|
||||
UNIT_TEST(get_response)
|
||||
{
|
||||
srv::Request::Params params;
|
||||
params.m_viewport = srv::Viewport(m2::PointD(10.0, 20.0), 3, 300, 300);
|
||||
params.m_density = graphics::EDensityXXHDPI;
|
||||
|
||||
srv::Request r(params);
|
||||
ModelReader * reader = GetPlatform().GetReader("test.png");
|
||||
uint64_t size = reader->Size();
|
||||
char * data = new char[size];
|
||||
reader->Read(0, (void *)data, size);
|
||||
delete reader;
|
||||
|
||||
QByteArray bytes(data, size);
|
||||
|
||||
srv::Response * response = r.CreateResponse(bytes);
|
||||
|
||||
std::streambuf * backup = cout.rdbuf();
|
||||
stringstream inStream;
|
||||
cout.rdbuf(inStream.rdbuf());
|
||||
response->DoResponse();
|
||||
cout.rdbuf(backup);
|
||||
|
||||
inStream.seekg (0, inStream.end);
|
||||
int length = inStream.tellg();
|
||||
inStream.seekg(0, inStream.beg);
|
||||
char * responseData = new char[length];
|
||||
inStream.read(responseData, length);
|
||||
|
||||
string responseString(responseData, length);
|
||||
responseString = base64::Decode(responseString);
|
||||
size_t responseSize = responseString.size();
|
||||
|
||||
TEST_EQUAL(size, (uint64_t)responseSize, (""));
|
||||
TEST_EQUAL(memcmp(data, responseString.c_str(), size), 0, (""));
|
||||
|
||||
delete[] data;
|
||||
delete[] responseData;
|
||||
}
|
Loading…
Add table
Reference in a new issue