1
0
mirror of https://github.com/falk-werner/webfuse synced 2025-06-13 12:54:15 +00:00

added unit tests for credentials

This commit is contained in:
Falk Werner 2019-03-17 14:14:10 +01:00
parent 7bf4ca6fc2
commit 0e379161e0
4 changed files with 73 additions and 2 deletions

View File

@ -210,6 +210,7 @@ add_executable(alltests
test/test_timepoint.cc
test/test_timer.cc
test/test_url.cc
test/test_credentials.cc
${WSFS_COMMON_SOURCES}
)

View File

@ -11,7 +11,7 @@ void wsfs_credentials_init(
json_incref(credentials->data);
}
void wsfs_credentails_cleanup(
void wsfs_credentials_cleanup(
struct wsfs_credentials * credentials)
{
free(credentials->type);

View File

@ -20,7 +20,7 @@ extern void wsfs_credentials_init(
char const * type,
json_t * data);
extern void wsfs_credentails_cleanup(
extern void wsfs_credentials_cleanup(
struct wsfs_credentials * credentials);
#ifdef __cplusplus

70
test/test_credentials.cc Normal file
View File

@ -0,0 +1,70 @@
#include <gtest/gtest.h>
#include "wsfs/adapter/credentials_intern.h"
#include <jansson.h>
TEST(Credentials, Type)
{
struct wsfs_credentials creds;
wsfs_credentials_init(&creds, "test", nullptr);
ASSERT_STREQ("test", wsfs_credentials_type(&creds));
wsfs_credentials_cleanup(&creds);
}
TEST(Credentials, Get)
{
struct wsfs_credentials creds;
json_t * data = json_object();
json_object_set_new(data, "username", json_string("bob"));
json_object_set_new(data, "password", json_string("<secret>"));
wsfs_credentials_init(&creds, "username", data);
ASSERT_STREQ("username", wsfs_credentials_type(&creds));
ASSERT_STREQ("bob", wsfs_credentials_get(&creds, "username"));
ASSERT_STREQ("<secret>", wsfs_credentials_get(&creds, "password"));
wsfs_credentials_cleanup(&creds);
json_decref(data);
}
TEST(Credentials, FailedToGetNonexistingValue)
{
struct wsfs_credentials creds;
json_t * data = json_object();
wsfs_credentials_init(&creds, "username", data);
ASSERT_STREQ("username", wsfs_credentials_type(&creds));
ASSERT_STREQ(nullptr, wsfs_credentials_get(&creds, "username"));
ASSERT_STREQ(nullptr, wsfs_credentials_get(&creds, "password"));
wsfs_credentials_cleanup(&creds);
json_decref(data);
}
TEST(Credentials, FailedToGetWithoutData)
{
struct wsfs_credentials creds;
wsfs_credentials_init(&creds, "username", nullptr);
ASSERT_STREQ("username", wsfs_credentials_type(&creds));
ASSERT_STREQ(nullptr, wsfs_credentials_get(&creds, "username"));
ASSERT_STREQ(nullptr, wsfs_credentials_get(&creds, "password"));
wsfs_credentials_cleanup(&creds);
}
TEST(Credentials, FailedToGetWrongDataType)
{
struct wsfs_credentials creds;
json_t * data = json_string("invalid_creds");
wsfs_credentials_init(&creds, "username", data);
ASSERT_STREQ("username", wsfs_credentials_type(&creds));
ASSERT_STREQ(nullptr, wsfs_credentials_get(&creds, "username"));
ASSERT_STREQ(nullptr, wsfs_credentials_get(&creds, "password"));
wsfs_credentials_cleanup(&creds);
json_decref(data);
}