mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +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");
|
||||
|
||||
try {
|
||||
paramJsonObject->get("username").convert(username);
|
||||
|
||||
|
||||
if (!username_obj.isEmpty()) {
|
||||
username_obj.convert(username);
|
||||
}
|
||||
@ -38,7 +37,7 @@ Poco::JSON::Object* JsonCheckUsername::handle(Poco::Dynamic::Var params)
|
||||
|
||||
}
|
||||
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