summaryrefslogtreecommitdiff
path: root/subprojects
diff options
context:
space:
mode:
authorAotrix <[email protected]>2025-11-06 00:05:14 +0100
committerAotrix <[email protected]>2025-11-06 00:05:14 +0100
commit2df3eeae3a776c989920b8d07893397c2d09b9f0 (patch)
treee5655361c35de0ab558b135534209c6140152655 /subprojects
parentbe8da2ce2ba45706586fa0e3e4221f8ef32b9e76 (diff)
added test for token size
Diffstat (limited to 'subprojects')
-rw-r--r--subprojects/battleNetApi/include/hearthstoneApi.hpp6
-rw-r--r--subprojects/battleNetApi/src/hearthstoneApi.cpp7
-rw-r--r--subprojects/battleNetApi/tests/tests.cpp34
3 files changed, 27 insertions, 20 deletions
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 <curl/curl.h>
#include <format>
-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 <catch2/catch_test_macros.hpp>
#include <iostream>
+#include <utility>
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
+}