mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
124 lines
3.1 KiB
C++
124 lines
3.1 KiB
C++
#include "gtest/gtest.h"
|
|
|
|
#include "JSONInterface/JsonCheckUsername.h"
|
|
|
|
TEST(TestJsonCheckUsername, InvalidGroupAlias)
|
|
{
|
|
JsonCheckUsername jsonCall;
|
|
Poco::JSON::Object::Ptr params = new Poco::JSON::Object;
|
|
params->set("group_alias", "robert");
|
|
auto result = jsonCall.handle(params);
|
|
auto msg = result->get("msg");
|
|
ASSERT_FALSE(msg.isEmpty());
|
|
ASSERT_TRUE(msg.isString());
|
|
ASSERT_EQ(msg.toString(), "unknown group");
|
|
|
|
delete result;
|
|
}
|
|
|
|
TEST(TestJsonCheckUsername, InvalidGroupId)
|
|
{
|
|
JsonCheckUsername jsonCall;
|
|
Poco::JSON::Object::Ptr params = new Poco::JSON::Object;
|
|
params->set("group_id", "4");
|
|
auto result = jsonCall.handle(params);
|
|
auto msg = result->get("msg");
|
|
ASSERT_FALSE(msg.isEmpty());
|
|
ASSERT_TRUE(msg.isString());
|
|
ASSERT_EQ(msg.toString(), "unknown group");
|
|
|
|
delete result;
|
|
}
|
|
|
|
TEST(TestJsonCheckUsername, ValidGroupAlias)
|
|
{
|
|
JsonCheckUsername jsonCall;
|
|
Poco::JSON::Object::Ptr params = new Poco::JSON::Object;
|
|
params->set("group_alias", "gdd1");
|
|
auto result = jsonCall.handle(params);
|
|
auto state = result->get("state");
|
|
ASSERT_FALSE(state.isEmpty());
|
|
ASSERT_TRUE(state.isString());
|
|
ASSERT_EQ(state.toString(), "success");
|
|
|
|
auto group_id = result->get("group_id");
|
|
ASSERT_FALSE(group_id.isEmpty());
|
|
ASSERT_TRUE(group_id.isInteger());
|
|
int group_id_int = 0;
|
|
group_id.convert(group_id_int);
|
|
ASSERT_EQ(group_id_int, 1);
|
|
|
|
delete result;
|
|
}
|
|
|
|
TEST(TestJsonCheckUsername, UsernameWithoutGroup)
|
|
{
|
|
JsonCheckUsername jsonCall;
|
|
Poco::JSON::Object::Ptr params = new Poco::JSON::Object;
|
|
params->set("username", "maxi");
|
|
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(), "no group given");
|
|
|
|
|
|
delete result;
|
|
}
|
|
|
|
TEST(TestJsonCheckUsername, ExistingUsername)
|
|
{
|
|
JsonCheckUsername jsonCall;
|
|
Poco::JSON::Object::Ptr params = new Poco::JSON::Object;
|
|
params->set("username", "Erfinder");
|
|
params->set("group_id", 1);
|
|
auto result = jsonCall.handle(params);
|
|
|
|
auto state = result->get("state");
|
|
ASSERT_FALSE(state.isEmpty());
|
|
ASSERT_TRUE(state.isString());
|
|
ASSERT_EQ(state.toString(), "warning");
|
|
|
|
auto msg = result->get("msg");
|
|
ASSERT_FALSE(msg.isEmpty());
|
|
ASSERT_TRUE(msg.isString());
|
|
ASSERT_EQ(msg.toString(), "username already in use");
|
|
}
|
|
|
|
TEST(TestJsonCheckUsername, NewUsername)
|
|
{
|
|
JsonCheckUsername jsonCall;
|
|
Poco::JSON::Object::Ptr params = new Poco::JSON::Object;
|
|
params->set("username", "Maxi");
|
|
params->set("group_id", 1);
|
|
auto result = jsonCall.handle(params);
|
|
|
|
auto state = result->get("state");
|
|
ASSERT_FALSE(state.isEmpty());
|
|
ASSERT_TRUE(state.isString());
|
|
ASSERT_EQ(state.toString(), "success");
|
|
}
|
|
|
|
TEST(TestJsonCheckUsername, UsernameExistInOtherGroup)
|
|
{
|
|
JsonCheckUsername jsonCall;
|
|
Poco::JSON::Object::Ptr params = new Poco::JSON::Object;
|
|
params->set("username", "Erfinder");
|
|
params->set("group_id", 2);
|
|
auto result = jsonCall.handle(params);
|
|
|
|
auto state = result->get("state");
|
|
ASSERT_FALSE(state.isEmpty());
|
|
ASSERT_TRUE(state.isString());
|
|
ASSERT_EQ(state.toString(), "success");
|
|
|
|
}
|
|
|
|
|