parent
79fa1f6cbf
commit
892dd6d177
@ -0,0 +1,42 @@
|
||||
#include "webfused/config/builder.h"
|
||||
|
||||
void
|
||||
wfd_config_builder_set_server_vhostname(
|
||||
struct wfd_config_builder builder,
|
||||
char const * vhost_name)
|
||||
{
|
||||
builder.vtable->set_server_vhostname(builder.data, vhost_name);
|
||||
}
|
||||
|
||||
void
|
||||
wfd_config_builder_set_server_port(
|
||||
struct wfd_config_builder builder,
|
||||
int port)
|
||||
{
|
||||
builder.vtable->set_server_port(builder.data, port);
|
||||
}
|
||||
|
||||
void
|
||||
wfd_config_builder_set_server_key(
|
||||
struct wfd_config_builder builder,
|
||||
char const * key_path)
|
||||
{
|
||||
builder.vtable->set_server_key(builder.data, key_path);
|
||||
}
|
||||
|
||||
void
|
||||
wfd_config_builder_set_server_cert(
|
||||
struct wfd_config_builder builder,
|
||||
char const * cert_path)
|
||||
{
|
||||
builder.vtable->set_server_cert(builder.data, cert_path);
|
||||
}
|
||||
|
||||
void
|
||||
wfd_config_builder_set_server_document_root(
|
||||
struct wfd_config_builder builder,
|
||||
char const * document_root)
|
||||
{
|
||||
builder.vtable->set_server_document_root(builder.data, document_root);
|
||||
}
|
||||
|
@ -0,0 +1,79 @@
|
||||
#ifndef WFD_CONFIG_BUILDER_H
|
||||
#define WFD_CONFIG_BUILDER_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
typedef void
|
||||
wfd_config_builder_set_server_vhostname_fn(
|
||||
void * data,
|
||||
char const * vhost_name);
|
||||
|
||||
typedef void
|
||||
wfd_config_builder_set_server_port_fn(
|
||||
void * data,
|
||||
int port);
|
||||
|
||||
typedef void
|
||||
wfd_config_builder_set_server_key_fn(
|
||||
void * data,
|
||||
char const * key_path);
|
||||
|
||||
typedef void
|
||||
wfd_config_builder_set_server_cert_fn(
|
||||
void * data,
|
||||
char const * cert_path);
|
||||
|
||||
typedef void
|
||||
wfd_config_builder_set_server_document_root_fn(
|
||||
void * data,
|
||||
char const * document_root);
|
||||
|
||||
struct wfd_config_builder_vtable
|
||||
{
|
||||
wfd_config_builder_set_server_vhostname_fn * set_server_vhostname;
|
||||
wfd_config_builder_set_server_port_fn * set_server_port;
|
||||
wfd_config_builder_set_server_key_fn * set_server_key;
|
||||
wfd_config_builder_set_server_cert_fn * set_server_cert;
|
||||
wfd_config_builder_set_server_document_root_fn * set_server_document_root;
|
||||
};
|
||||
|
||||
struct wfd_config_builder
|
||||
{
|
||||
struct wfd_config_builder_vtable const * vtable;
|
||||
void * data;
|
||||
};
|
||||
|
||||
extern void
|
||||
wfd_config_builder_set_server_vhostname(
|
||||
struct wfd_config_builder builder,
|
||||
char const * vhost_name);
|
||||
|
||||
extern void
|
||||
wfd_config_builder_set_server_port(
|
||||
struct wfd_config_builder builder,
|
||||
int port);
|
||||
|
||||
extern void
|
||||
wfd_config_builder_set_server_key(
|
||||
struct wfd_config_builder builder,
|
||||
char const * key_path);
|
||||
|
||||
extern void
|
||||
wfd_config_builder_set_server_cert(
|
||||
struct wfd_config_builder builder,
|
||||
char const * cert_path);
|
||||
|
||||
extern void
|
||||
wfd_config_builder_set_server_document_root(
|
||||
struct wfd_config_builder builder,
|
||||
char const * document_root);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
@ -0,0 +1,76 @@
|
||||
#include "mock_config_builder.hpp"
|
||||
|
||||
extern "C"
|
||||
{
|
||||
using webfused_test::IConfigBuilder;
|
||||
|
||||
static void
|
||||
wfd_MockConifigBuilder_set_server_vhostname(
|
||||
void * data,
|
||||
char const * vhost_name)
|
||||
{
|
||||
auto * builder = reinterpret_cast<IConfigBuilder*>(data);
|
||||
builder->setServerVhostname(vhost_name);
|
||||
}
|
||||
|
||||
static void
|
||||
wfd_MockConifigBuilder_set_server_port(
|
||||
void * data,
|
||||
int port)
|
||||
{
|
||||
auto * builder = reinterpret_cast<IConfigBuilder*>(data);
|
||||
builder->setServerPort(port);
|
||||
}
|
||||
|
||||
static void
|
||||
wfd_MockConifigBuilder_set_server_key(
|
||||
void * data,
|
||||
char const * key_path)
|
||||
{
|
||||
auto * builder = reinterpret_cast<IConfigBuilder*>(data);
|
||||
builder->setServerKey(key_path);
|
||||
}
|
||||
|
||||
static void
|
||||
wfd_MockConifigBuilder_set_server_cert(
|
||||
void * data,
|
||||
char const * cert_path)
|
||||
{
|
||||
auto * builder = reinterpret_cast<IConfigBuilder*>(data);
|
||||
builder->setServerCert(cert_path);
|
||||
}
|
||||
|
||||
static void
|
||||
wfd_MockConifigBuilder_set_server_document_root(
|
||||
void * data,
|
||||
char const * document_root)
|
||||
{
|
||||
auto * builder = reinterpret_cast<IConfigBuilder*>(data);
|
||||
builder->setServerDocumentRoot(document_root);
|
||||
}
|
||||
|
||||
static const wfd_config_builder_vtable wfd_MockConfigBuilder_vtable =
|
||||
{
|
||||
&wfd_MockConifigBuilder_set_server_vhostname,
|
||||
&wfd_MockConifigBuilder_set_server_port,
|
||||
&wfd_MockConifigBuilder_set_server_key,
|
||||
&wfd_MockConifigBuilder_set_server_cert,
|
||||
&wfd_MockConifigBuilder_set_server_document_root
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
namespace webfused_test
|
||||
{
|
||||
struct wfd_config_builder MockConfigBuilder::getBuilder()
|
||||
{
|
||||
IConfigBuilder * config_builder = this;
|
||||
|
||||
wfd_config_builder builder = {
|
||||
&wfd_MockConfigBuilder_vtable,
|
||||
reinterpret_cast<void*>(config_builder)
|
||||
};
|
||||
|
||||
return builder;
|
||||
}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
#ifndef WFD_MOCK_CONFIG_BUILDER_HPP
|
||||
#define WFD_MOCK_CONFIG_BUILDER_HPP
|
||||
|
||||
#include <gmock/gmock.h>
|
||||
#include "webfused/config/builder.h"
|
||||
|
||||
namespace webfused_test
|
||||
{
|
||||
|
||||
class IConfigBuilder
|
||||
{
|
||||
public:
|
||||
virtual ~IConfigBuilder() = default;
|
||||
virtual void setServerVhostname(char const * vhostname) = 0;
|
||||
virtual void setServerPort(int port) = 0;
|
||||
virtual void setServerKey(char const * key_path) = 0;
|
||||
virtual void setServerCert(char const * cert_path) = 0;
|
||||
virtual void setServerDocumentRoot(char const * document_root) = 0;
|
||||
};
|
||||
|
||||
class MockConfigBuilder: public IConfigBuilder
|
||||
{
|
||||
public:
|
||||
~MockConfigBuilder() override = default;
|
||||
MOCK_METHOD1(setServerVhostname, void (char const * vhostname));
|
||||
MOCK_METHOD1(setServerPort, void (int port));
|
||||
MOCK_METHOD1(setServerKey, void (char const * key_path));
|
||||
MOCK_METHOD1(setServerCert, void (char const * cert_path));
|
||||
MOCK_METHOD1(setServerDocumentRoot, void (char const * document_root));
|
||||
|
||||
struct wfd_config_builder getBuilder();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Reference in new issue