From 2df3eeae3a776c989920b8d07893397c2d09b9f0 Mon Sep 17 00:00:00 2001 From: Aotrix <9aotrix@protonmail.com> Date: Thu, 6 Nov 2025 00:05:14 +0100 Subject: added test for token size --- .../battleNetApi/include/hearthstoneApi.hpp | 6 ++-- subprojects/battleNetApi/src/hearthstoneApi.cpp | 7 ++--- subprojects/battleNetApi/tests/tests.cpp | 34 +++++++++++++++------- 3 files changed, 27 insertions(+), 20 deletions(-) (limited to 'subprojects/battleNetApi') diff --git a/subprojects/battleNetApi/include/hearthstoneApi.hpp b/subprojects/battleNetApi/include/hearthstoneApi.hpp index af41a09..c2298f7 100644 --- a/subprojects/battleNetApi/include/hearthstoneApi.hpp +++ b/subprojects/battleNetApi/include/hearthstoneApi.hpp @@ -4,11 +4,9 @@ class HearthstoneApi { public: - HearthstoneApi(); + HearthstoneApi(Token &&iToken); std::string getCards(const std::string &t_card_parameters); - friend class HearthstoneApiTests; - private: std::string generateRequestHeader(); const std::string getUrl(const std::string &t_parameters); @@ -18,7 +16,7 @@ class HearthstoneApi { static size_t curlCallbackStringOutput(void *t_contents, size_t t_size, size_t t_nmemb, std::string *t_s); Token mToken; - std::string m_header; + std::string mHeader; friend class HearthstoneApiMock; }; diff --git a/subprojects/battleNetApi/src/hearthstoneApi.cpp b/subprojects/battleNetApi/src/hearthstoneApi.cpp index fb7c760..d531247 100644 --- a/subprojects/battleNetApi/src/hearthstoneApi.cpp +++ b/subprojects/battleNetApi/src/hearthstoneApi.cpp @@ -2,10 +2,7 @@ #include #include -HearthstoneApi::HearthstoneApi() - : mToken(std::format("{}/resources/token_info.txt", SOURCE_DIR_PATH), "2b50f1123b424d5e9c21971a110fdd04", - "MrMkhVMNdOeqPL4Q4XVQAsRPR14J7Yq6"), - m_header(generateRequestHeader()) {} +HearthstoneApi::HearthstoneApi(Token &&iToken) : mToken(iToken), mHeader(generateRequestHeader()) {} std::string HearthstoneApi::generateRequestHeader() { return std::format("Authorization: Bearer {}", mToken.toString()); @@ -53,5 +50,5 @@ std::string HearthstoneApi::makeApiRequest(const std::string &t_url, const std:: } std::string HearthstoneApi::getCards(const std::string &t_card_parameters) { - return makeApiRequest(getSetOfCardsUrl(t_card_parameters), m_header); + return makeApiRequest(getSetOfCardsUrl(t_card_parameters), mHeader); } diff --git a/subprojects/battleNetApi/tests/tests.cpp b/subprojects/battleNetApi/tests/tests.cpp index 49de052..3cb28ff 100644 --- a/subprojects/battleNetApi/tests/tests.cpp +++ b/subprojects/battleNetApi/tests/tests.cpp @@ -1,32 +1,44 @@ #include "hearthstoneApi.hpp" #include #include +#include class TokenMock { public: + TokenMock() + : mTokenFilePath{"resources/token_info"}, mUsername{"2b50f1123b424d5e9c21971a110fdd04"}, + mPassword{"MrMkhVMNdOeqPL4Q4XVQAsRPR14J7Yq6"}, mToken{mTokenFilePath, mUsername, mPassword} {} std::string toString() const { return mToken.toString(); } - TokenMock(const std::string &iTokenFilePath, const std::string &iUsername, const std::string &iPassword) - : mToken{iTokenFilePath, iUsername, iPassword} {} + Token &getToken() { return mToken; } private: - const Token mToken; + const std::string mTokenFilePath; + const std::string mUsername; + const std::string mPassword; + Token mToken; }; class HearthstoneApiMock { public: - HearthstoneApiMock() {} + HearthstoneApiMock() : mHearthstoneApi(std::move(mToken.getToken())) {}; private: + TokenMock mToken; + const HearthstoneApi mHearthstoneApi; }; -TEST_CASE("API Token retrieval", "[getApiToken]") { - const std::string kTokenFilePath{"resources/token_info"}; - const std::string kUsername{"2b50f1123b424d5e9c21971a110fdd04"}; - const std::string kPassword{"MrMkhVMNdOeqPL4Q4XVQAsRPR14J7Yq6"}; - TokenMock aToken{kTokenFilePath, kUsername, kPassword}; +TEST_CASE("Retrieve API Token", "[getApiToken]") { + TokenMock aToken; const std::string kTokenContent{aToken.toString()}; std::cout << kTokenContent << '\n'; - REQUIRE(not kTokenContent.empty()); + const std::string::size_type kTokenSize{kTokenContent.size()}; + REQUIRE(kTokenSize >= 30); + REQUIRE(kTokenSize <= 40); } -TEST_CASE("Hearthstone card retrieval", "[getCard]") { HearthstoneApiMock aHearthstoneApi; } +TEST_CASE("Retrieve number of pages", "[getPagesCount]") { + HearthstoneApiMock aHearthstoneApi; + // aHearthstoneApi.getNumberOfPages(); + // input parameters + // aHearthstoneApi.getCards +} -- cgit v1.2.3