1
0
mirror of https://github.com/falk-werner/webfused synced 2026-03-02 04:09:19 +00:00

use wrap utility

This commit is contained in:
Falk Werner
2020-03-20 14:26:41 +01:00
parent 90fc495d95
commit ea56c6e86c
4 changed files with 36 additions and 74 deletions

View File

@@ -1,50 +1,12 @@
#include "mock/credentials.hpp"
#include "util/wrap.hpp"
extern "C"
{
using webfused_test::ICredentials;
static ICredentials * wfd_mock_credentials = nullptr;
extern char const *
__real_wf_credentials_type(
struct wf_credentials const * credentials);
char const *
__wrap_wf_credentials_type(
struct wf_credentials const * credentials)
{
if (nullptr == wfd_mock_credentials)
{
return __real_wf_credentials_type(credentials);
}
else
{
return wfd_mock_credentials->type();
}
}
extern char const * __real_wf_credentials_get(
struct wf_credentials const * credentials,
char const * key);
char const * __wrap_wf_credentials_get(
struct wf_credentials const * credentials,
char const * key)
{
if (nullptr == wfd_mock_credentials)
{
return __real_wf_credentials_get(credentials, key);
}
else
{
return wfd_mock_credentials->get(key);
}
}
static webfused_test::ICredentials * wfd_MockCredentials = nullptr;
WFD_WRAP_FUNC1(wfd_MockCredentials, char const *, wf_credentials_type, struct wf_credentials const *);
WFD_WRAP_FUNC2(wfd_MockCredentials, char const *, wf_credentials_get, struct wf_credentials const *, char const *);
}
@@ -53,12 +15,12 @@ namespace webfused_test
MockCredentials::MockCredentials()
{
wfd_mock_credentials = this;
wfd_MockCredentials = this;
}
MockCredentials::~MockCredentials()
{
wfd_mock_credentials = nullptr;
wfd_MockCredentials = nullptr;
}
}

View File

@@ -11,8 +11,8 @@ class ICredentials
{
public:
virtual ~ICredentials() = default;
virtual char const * type() = 0;
virtual char const * get(char const * key) = 0;
virtual char const * wf_credentials_type(struct wf_credentials const * credentials) = 0;
virtual char const * wf_credentials_get(struct wf_credentials const * credentials, char const * key) = 0;
};
class MockCredentials: public ICredentials
@@ -20,8 +20,8 @@ class MockCredentials: public ICredentials
public:
MockCredentials();
virtual ~MockCredentials();
MOCK_METHOD0(type, char const*());
MOCK_METHOD1(get, char const *(char const * key));
MOCK_METHOD1(wf_credentials_type, char const*(struct wf_credentials const * credentials));
MOCK_METHOD2(wf_credentials_get, char const *(struct wf_credentials const * credentials, char const * key));
};
}