mirror of
https://github.com/IT4Change/gradido.git
synced 2026-04-06 01:25:28 +00:00
add tests for check username, fix bugs shown with tests (._.);
This commit is contained in:
parent
f77a63c6a0
commit
864ede416a
@ -23,8 +23,7 @@ Poco::JSON::Object* JsonCheckUsername::handle(Poco::Dynamic::Var params)
|
|||||||
auto group_alias_obj = paramJsonObject->get("group_alias");
|
auto group_alias_obj = paramJsonObject->get("group_alias");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
paramJsonObject->get("username").convert(username);
|
|
||||||
|
|
||||||
if (!username_obj.isEmpty()) {
|
if (!username_obj.isEmpty()) {
|
||||||
username_obj.convert(username);
|
username_obj.convert(username);
|
||||||
}
|
}
|
||||||
@ -38,7 +37,7 @@ Poco::JSON::Object* JsonCheckUsername::handle(Poco::Dynamic::Var params)
|
|||||||
|
|
||||||
}
|
}
|
||||||
catch (Poco::Exception& ex) {
|
catch (Poco::Exception& ex) {
|
||||||
return stateError("username not found or invalid");
|
return stateError("Poco Exception", ex.displayText());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,123 @@
|
|||||||
|
#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");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user