From 1fbfd13f5d7220122b2a127627cc9105013b4893 Mon Sep 17 00:00:00 2001 From: Aotrix <9aotrix@protonmail.com> Date: Wed, 29 Jul 2026 18:31:43 +0200 Subject: Add tests for HearthstoneTokenBuilder --- battleNetApi/include/hearthstoneTokenBuilder.hpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'battleNetApi/include/hearthstoneTokenBuilder.hpp') diff --git a/battleNetApi/include/hearthstoneTokenBuilder.hpp b/battleNetApi/include/hearthstoneTokenBuilder.hpp index e946fe8..571554f 100644 --- a/battleNetApi/include/hearthstoneTokenBuilder.hpp +++ b/battleNetApi/include/hearthstoneTokenBuilder.hpp @@ -6,29 +6,32 @@ #include #include +namespace bnet { using nlohmann::json; static constexpr std::uint64_t kTOKEN_CONTENT_MIN_LENGTH{10}; class HearthstoneTokenBuilder : TokenBuilder { private: - std::shared_ptr mCurrentToken; - bool mUpdateSourceFile{false}; + std::shared_ptr _currentToken; + bool _allowBattleNetApiCall{false}; + bool _allowUpdateSourceFile{false}; + bool _allowExpiredToken{false}; std::vector _credentialJsonPaths; [[nodiscard]] bool isUpdateSourceFileAllowed() const; [[nodiscard]] - const bool hasExpired(json iTokenJson) const; + bool isTokenValid(const json &iTokenJson) const; static size_t curlCallbackStringOutput(void *iPtr, size_t iSize, size_t iNmemb, std::string *iUserData); [[nodiscard]] std::chrono::seconds getCurrentTime() const; [[nodiscard]] - std::pair - getTokenWithApi(const std::string &iAgentJsonFilePath) const; + Token getTokenWithApi(const std::string &iCredentialsJsonFilePath) const; [[nodiscard]] - std::string getTokenFromLocalFile() const; - void writeTokenToLocalFile(const std::pair &iToken) const; + Token getTokenWithApi(const json &iCredentials) const; + void writeTokenToLocalFile(std::shared_ptr &iToken, + const std::string &iTokenFileOutputPath) const; public: HearthstoneTokenBuilder(const std::span &iJsonPaths); @@ -40,7 +43,9 @@ class HearthstoneTokenBuilder : TokenBuilder { HearthstoneTokenBuilder &addCredentialJsonFiles(CredentialJsonPaths... iCredentialJsonPaths) { (_credentialJsonPaths.push_back(iCredentialJsonPaths), ...); } + HearthstoneTokenBuilder &allowBattleNetApiCall(); HearthstoneTokenBuilder &allowUpdateSourceFile(); + HearthstoneTokenBuilder &allowExpiredToken(); /** * @return Create an access token to perform API requests. * First, the cache files are checked. (Which ones?) @@ -51,3 +56,4 @@ class HearthstoneTokenBuilder : TokenBuilder { [[nodiscard]] std::shared_ptr getToken() override; }; +} // namespace bnet -- cgit v1.2.3