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:
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user