mirror of
https://github.com/KingDuckZ/kamokan.git
synced 2025-10-02 15:00:02 +00:00
Make functions virtual when building with testing.
This commit is contained in:
parent
c302dbee73
commit
fb27563fdd
6 changed files with 23 additions and 10 deletions
|
@ -60,6 +60,8 @@ target_compile_definitions(${PROJECT_NAME}
|
||||||
PRIVATE BOOST_SPIRIT_USE_PHOENIX_V3=1
|
PRIVATE BOOST_SPIRIT_USE_PHOENIX_V3=1
|
||||||
PUBLIC $<$<CONFIG:Debug>:SPDLOG_DEBUG_ON>
|
PUBLIC $<$<CONFIG:Debug>:SPDLOG_DEBUG_ON>
|
||||||
PUBLIC $<$<CONFIG:Debug>:SPDLOG_TRACE_ON>
|
PUBLIC $<$<CONFIG:Debug>:SPDLOG_TRACE_ON>
|
||||||
|
PUBLIC tawashi_virtual_testing$<$<BOOL:BUILD_TESTING>:=virtual>
|
||||||
|
PUBLIC $<$<BOOL:BUILD_TESTING>:TAWASHI_WITH_TESTING>
|
||||||
)
|
)
|
||||||
target_compile_options(${PROJECT_NAME}
|
target_compile_options(${PROJECT_NAME}
|
||||||
PRIVATE -fdiagnostics-color=always
|
PRIVATE -fdiagnostics-color=always
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
|
|
||||||
#include "response.hpp"
|
#include "response.hpp"
|
||||||
#include "settings_bag.hpp"
|
#include "settings_bag.hpp"
|
||||||
#include "tawashi_config.h"
|
|
||||||
#include "duckhandy/stringize.h"
|
#include "duckhandy/stringize.h"
|
||||||
#include "duckhandy/lexical_cast.hpp"
|
#include "duckhandy/lexical_cast.hpp"
|
||||||
#include "pathname/pathname.hpp"
|
#include "pathname/pathname.hpp"
|
||||||
|
|
|
@ -51,7 +51,7 @@ namespace tawashi {
|
||||||
const cgi::Env& cgi_env() const;
|
const cgi::Env& cgi_env() const;
|
||||||
const std::string& base_uri() const;
|
const std::string& base_uri() const;
|
||||||
virtual boost::string_ref page_basename() const = 0;
|
virtual boost::string_ref page_basename() const = 0;
|
||||||
const Storage& storage() const;
|
tawashi_virtual_testing const Storage& storage() const;
|
||||||
const SettingsBag& settings() const;
|
const SettingsBag& settings() const;
|
||||||
virtual std::string load_mustache() const;
|
virtual std::string load_mustache() const;
|
||||||
HttpHeader make_redirect (HttpStatusCodes parCode, const std::string& parLocation);
|
HttpHeader make_redirect (HttpStatusCodes parCode, const std::string& parLocation);
|
||||||
|
|
|
@ -128,4 +128,10 @@ namespace tawashi {
|
||||||
|
|
||||||
return pastie;
|
return pastie;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(TAWASHI_WITH_TESTING)
|
||||||
|
const SettingsBag& Storage::settings() const {
|
||||||
|
return *m_settings;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
} //namespace tawashi
|
} //namespace tawashi
|
||||||
|
|
|
@ -40,19 +40,23 @@ namespace tawashi {
|
||||||
};
|
};
|
||||||
|
|
||||||
explicit Storage (const Kakoune::SafePtr<SettingsBag>& parSettings);
|
explicit Storage (const Kakoune::SafePtr<SettingsBag>& parSettings);
|
||||||
~Storage();
|
tawashi_virtual_testing ~Storage();
|
||||||
|
|
||||||
void connect_async();
|
tawashi_virtual_testing void connect_async();
|
||||||
bool is_connected() const;
|
tawashi_virtual_testing bool is_connected() const;
|
||||||
void finalize_connection();
|
tawashi_virtual_testing void finalize_connection();
|
||||||
SubmissionResult submit_pastie (
|
tawashi_virtual_testing SubmissionResult submit_pastie (
|
||||||
const boost::string_ref& parText,
|
const boost::string_ref& parText,
|
||||||
uint32_t parExpiry,
|
uint32_t parExpiry,
|
||||||
const boost::string_ref& parLang,
|
const boost::string_ref& parLang,
|
||||||
const std::string& parRemoteIP
|
const std::string& parRemoteIP
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
boost::optional<std::string> retrieve_pastie (const boost::string_ref& parToken) const;
|
tawashi_virtual_testing boost::optional<std::string> retrieve_pastie (const boost::string_ref& parToken) const;
|
||||||
|
|
||||||
|
#if defined(TAWASHI_WITH_TESTING)
|
||||||
|
const SettingsBag& settings() const;
|
||||||
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<redis::IncRedis> m_redis;
|
std::unique_ptr<redis::IncRedis> m_redis;
|
||||||
|
|
|
@ -133,9 +133,11 @@ namespace tawashi {
|
||||||
oss << *token;
|
oss << *token;
|
||||||
if (not lang.empty())
|
if (not lang.empty())
|
||||||
oss << '?' << lang;
|
oss << '?' << lang;
|
||||||
statuslog->info("Pastie token=\"{}\" redirect=\"{}\"", *token, oss.str());
|
|
||||||
|
|
||||||
return this->make_success_response(oss.str());
|
std::string redirect = oss.str();
|
||||||
|
statuslog->info("Pastie token=\"{}\" redirect=\"{}\"", *token, redirect);
|
||||||
|
|
||||||
|
return this->make_success_response(std::move(redirect));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
statuslog->info("Empty pastie token (possibly due to a previous failure)");
|
statuslog->info("Empty pastie token (possibly due to a previous failure)");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue