Commit 28e56b2f authored by Pavel Vainerman's avatar Pavel Vainerman

(REST API): добавил тест на '/'

parent fd9b2b9d
......@@ -689,7 +689,7 @@ Poco::JSON::Object::Ptr <xsl:value-of select="$CLASSNAME"/>_SK::httpRequest( con
Poco::JSON::Object::Ptr <xsl:value-of select="$CLASSNAME"/>_SK::httpRequestLog( const Poco::URI::QueryParameters&amp; p )
{
Poco::JSON::Object::Ptr jret = new Poco::JSON::Object();
jret->set(myname,uniset::json::make_object("log", Debug::str(mylog->level())));
jret->set("log",Debug::str(mylog->level()));
return jret;
}
// -----------------------------------------------------------------------------
......
......@@ -8,7 +8,7 @@
ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ.
*/
// --------------------------------------------------------------------------
// generate timestamp: 2016-12-23+03:00
// generate timestamp: 2017-01-06+03:00
// -----------------------------------------------------------------------------
#ifndef UObject_SK_H_
#define UObject_SK_H_
......
......@@ -11,7 +11,7 @@
ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ.
*/
// --------------------------------------------------------------------------
// generate timestamp: 2016-12-23+03:00
// generate timestamp: 2017-01-06+03:00
// -----------------------------------------------------------------------------
#include <memory>
#include <iomanip>
......@@ -626,7 +626,7 @@ Poco::JSON::Object::Ptr UObject_SK::httpRequest( const std::string& req, const P
Poco::JSON::Object::Ptr UObject_SK::httpRequestLog( const Poco::URI::QueryParameters& p )
{
Poco::JSON::Object::Ptr jret = new Poco::JSON::Object();
jret->set(myname,uniset::json::make_object("log", Debug::str(mylog->level())));
jret->set("log",Debug::str(mylog->level()));
return jret;
}
// -----------------------------------------------------------------------------
......
......@@ -14,6 +14,7 @@ using namespace uniset;
using namespace uniset::extensions;
// -----------------------------------------------------------------------------
static std::shared_ptr<SMInterface> shm;
// -----------------------------------------------------------------------------
static void init_test()
{
shm = smiInstance();
......@@ -21,10 +22,9 @@ static void init_test()
REQUIRE( uniset_conf() != nullptr );
}
// -----------------------------------------------------------------------------
TEST_CASE("[RESTAPI]: ", "[restapi]")
TEST_CASE("[REST API: conf]", "[restapi][conf]")
{
init_test();
auto conf = uniset_conf();
std::string s = shm->apiRequest("/conf/get?2,Input5_S&params=iotype");
Poco::JSON::Parser parser;
......@@ -59,5 +59,31 @@ TEST_CASE("[RESTAPI]: ", "[restapi]")
}
// -----------------------------------------------------------------------------
TEST_CASE("[REST API: /]", "[restapi][info]")
{
init_test();
std::string s = shm->apiRequest("/");
Poco::JSON::Parser parser;
auto result = parser.parse(s);
// Ожидаемый формат ответа:
// {"object":{"id":5003,"isActive":true,"lostMessages":0,"maxSizeOfMessageQueue":1000,"msgCount":0,"name":"SharedMemory","objectType":"IONotifyController"}}
Poco::JSON::Object::Ptr json = result.extract<Poco::JSON::Object::Ptr>();
REQUIRE(json);
auto jret = json->get("object").extract<Poco::JSON::Object::Ptr>();
REQUIRE(jret);
auto sm = shm->SM();
REQUIRE( jret->get("id").convert<ObjectId>() == sm->getId() );
REQUIRE( jret->get("name").convert<std::string>() == sm->getName() );
REQUIRE( jret->get("objectType").convert<std::string>() == "IONotifyController" );
REQUIRE( jret->get("isActive").convert<bool>() == true );
REQUIRE( jret->get("lostMessages").convert<long>() == 0 );
}
// -----------------------------------------------------------------------------
#endif // ifndef DISABLE_REST_API
// -----------------------------------------------------------------------------
......@@ -955,6 +955,7 @@ namespace uniset
// но если указан, то проверяем..
std::vector<std::string> seg;
uri.getPathSegments(seg);
size_t qind = 0;
if( seg.size() > 0 && seg[0] == "api" )
......@@ -977,8 +978,7 @@ namespace uniset
else if( seg.size() == 1 )
qind = 0;
query = seg[qind];
query = seg.empty() ? "" : seg[qind];
// обработка запроса..
if( query == "help" )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment