mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
101 lines
2.6 KiB
C++
101 lines
2.6 KiB
C++
#include "gtest/gtest.h"
|
|
|
|
#include "JSONInterface/JsonResetPassword.h"
|
|
#include "TestJsonResetPassword.h"
|
|
#include "lib/Profiler.h"
|
|
|
|
|
|
void TestJsonResetPassword::SetUp()
|
|
{
|
|
auto sm = SessionManager::getInstance();
|
|
//sm->init();
|
|
mUserSession = sm->getNewSession();
|
|
auto user = controller::User::create();
|
|
user->load("Nikola_Tesla@email.de");
|
|
mUserSession->setUser(user);
|
|
}
|
|
|
|
void TestJsonResetPassword::TearDown()
|
|
{
|
|
auto sm = SessionManager::getInstance();
|
|
if (!mUserSession) {
|
|
sm->releaseSession(mUserSession);
|
|
}
|
|
}
|
|
|
|
|
|
TEST_F(TestJsonResetPassword, WithoutSession)
|
|
{
|
|
JsonResetPassword jsonCall;
|
|
Poco::JSON::Object::Ptr params = new Poco::JSON::Object;
|
|
params->set("password", "ashze_Sja/63");
|
|
auto result = jsonCall.handle(params);
|
|
|
|
auto state = result->get("state");
|
|
ASSERT_FALSE(state.isEmpty());
|
|
ASSERT_TRUE(state.isString());
|
|
ASSERT_EQ(state.toString(), "error");
|
|
|
|
auto msg = result->get("msg");
|
|
ASSERT_FALSE(msg.isEmpty());
|
|
ASSERT_TRUE(msg.isString());
|
|
ASSERT_EQ(msg.toString(), "missing session_id");
|
|
|
|
}
|
|
|
|
TEST_F(TestJsonResetPassword, WithoutPassword)
|
|
{
|
|
JsonResetPassword jsonCall;
|
|
Poco::JSON::Object::Ptr params = new Poco::JSON::Object;
|
|
params->set("session_id", mUserSession->getHandle());
|
|
auto result = jsonCall.handle(params);
|
|
|
|
auto state = result->get("state");
|
|
ASSERT_FALSE(state.isEmpty());
|
|
ASSERT_TRUE(state.isString());
|
|
ASSERT_EQ(state.toString(), "error");
|
|
|
|
auto msg = result->get("msg");
|
|
ASSERT_FALSE(msg.isEmpty());
|
|
ASSERT_TRUE(msg.isString());
|
|
ASSERT_EQ(msg.toString(), "password missing");
|
|
}
|
|
|
|
TEST_F(TestJsonResetPassword, InvalidPassword)
|
|
{
|
|
JsonResetPassword jsonCall;
|
|
Poco::JSON::Object::Ptr params = new Poco::JSON::Object;
|
|
params->set("session_id", mUserSession->getHandle());
|
|
params->set("password", "ash");
|
|
auto result = jsonCall.handle(params);
|
|
|
|
auto state = result->get("state");
|
|
ASSERT_FALSE(state.isEmpty());
|
|
ASSERT_TRUE(state.isString());
|
|
if ((ServerConfig::g_AllowUnsecureFlags & ServerConfig::UNSECURE_ALLOW_ALL_PASSWORDS) == ServerConfig::UNSECURE_ALLOW_ALL_PASSWORDS) {
|
|
ASSERT_EQ(state.toString(), "success");
|
|
}
|
|
else {
|
|
ASSERT_EQ(state.toString(), "error");
|
|
|
|
auto msg = result->get("msg");
|
|
ASSERT_FALSE(msg.isEmpty());
|
|
ASSERT_TRUE(msg.isString());
|
|
ASSERT_EQ(msg.toString(), "password isn't valid");
|
|
}
|
|
}
|
|
|
|
TEST_F(TestJsonResetPassword, ValidPassword)
|
|
{
|
|
JsonResetPassword jsonCall;
|
|
Poco::JSON::Object::Ptr params = new Poco::JSON::Object;
|
|
params->set("session_id", mUserSession->getHandle());
|
|
params->set("password", "hath6/&Sja");
|
|
auto result = jsonCall.handle(params);
|
|
|
|
auto state = result->get("state");
|
|
ASSERT_FALSE(state.isEmpty());
|
|
ASSERT_TRUE(state.isString());
|
|
ASSERT_EQ(state.toString(), "success");
|
|
}
|