summaryrefslogtreecommitdiff
path: root/battleNetApi/tests/tests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'battleNetApi/tests/tests.cpp')
-rw-r--r--battleNetApi/tests/tests.cpp28
1 files changed, 15 insertions, 13 deletions
diff --git a/battleNetApi/tests/tests.cpp b/battleNetApi/tests/tests.cpp
index cfb22e4..e669506 100644
--- a/battleNetApi/tests/tests.cpp
+++ b/battleNetApi/tests/tests.cpp
@@ -12,6 +12,7 @@
#include <fstream>
#include <nlohmann/json.hpp>
#include <string>
+#include <tokenPool.hpp>
TEST_CASE("Retrieve API Token", "[generateApiToken]") {
const std::string kCredentialsFile{"tests/resources/credentials.json"};
@@ -23,16 +24,15 @@ TEST_CASE("Retrieve API Token", "[generateApiToken]") {
}
TEST_CASE("Retrieve number of cards", "[countCards]") {
- const std::string kCredentialsFile{"tests/resources/credentials.json"};
- Token aToken(kCredentialsFile);
- HearthstoneApi aHearthstoneApi(aToken);
+ const std::string kCredentialsFile{};
const std::string kContentType{"cards"};
const std::string kRegion{"eu"};
ApiUrl aApiUrl(kContentType, kRegion);
aApiUrl.setLocale("fr_FR");
aApiUrl.setGameMode("constructed");
aApiUrl.setPageSize("1");
- const json kResponse = aHearthstoneApi.makeApiRequest(aApiUrl());
+ TokenPool::fillTokenSource("tests/resources/credentials.json");
+ const json kResponse = HearthstoneApi::makeApiRequest(aApiUrl, TokenPool::unusedToken().value());
REQUIRE(kResponse.size() > 0);
REQUIRE(kResponse.contains("pageCount"));
std::uint64_t kNumberOfCards{kResponse["pageCount"]};
@@ -42,21 +42,20 @@ TEST_CASE("Retrieve number of cards", "[countCards]") {
TEST_CASE("Retrieve page once", "[retrievePageOnce]") {
const std::string kCredentialsFile{"tests/resources/credentials.json"};
Token aToken(kCredentialsFile);
- HearthstoneApi aHearthstoneApi(aToken);
const std::string kContentType{"cards"};
const std::string kRegion{"eu"};
ApiUrl aApiUrl(kContentType, kRegion);
aApiUrl.setLocale("fr_FR");
aApiUrl.setGameMode("constructed");
aApiUrl.setPageSize("16");
- const json kApiResponse = aHearthstoneApi.makeApiRequest(aApiUrl());
+ TokenPool::fillTokenSource("tests/resources/credentials.json");
+ const json kApiResponse = HearthstoneApi::makeApiRequest(aApiUrl, TokenPool::unusedToken().value());
REQUIRE(kApiResponse["cards"].size() == 16);
}
TEST_CASE("Retrieve pages 10 times without parallelization", "[retrievePagesNoParallel]") {
const std::string kCredentialsFile{"tests/resources/credentials.json"};
Token aToken(kCredentialsFile);
- HearthstoneApi aHearthstoneApi(aToken);
const std::string kContentType{"cards"};
const std::string kRegion{"eu"};
ApiUrl aApiUrl(kContentType, kRegion);
@@ -64,7 +63,9 @@ TEST_CASE("Retrieve pages 10 times without parallelization", "[retrievePagesNoPa
aApiUrl.setGameMode("constructed");
aApiUrl.setPageSize("16");
aApiUrl.setPage("1");
- json kApiResponse = aHearthstoneApi.makeApiRequest(aApiUrl());
+ TokenPool::fillTokenSource("tests/resources/credentials.json");
+ std::string kTokenText{TokenPool::unusedToken().value()};
+ json kApiResponse = HearthstoneApi::makeApiRequest(aApiUrl, kTokenText);
// Retrieve number of pages
const int kNumberOfRetrievals{10};
@@ -73,7 +74,7 @@ TEST_CASE("Retrieve pages 10 times without parallelization", "[retrievePagesNoPa
for (int i{1}; i < kNumberOfRetrievals; ++i) {
REQUIRE(kApiResponse["cards"].size() == 16);
aApiUrl.setPage(std::to_string(i + 1));
- kApiResponse = aHearthstoneApi.makeApiRequest(aApiUrl());
+ kApiResponse = HearthstoneApi::makeApiRequest(aApiUrl, kTokenText);
}
REQUIRE(kApiResponse["cards"].size() >= 1);
REQUIRE(kApiResponse["cards"].size() <= 16);
@@ -82,7 +83,6 @@ TEST_CASE("Retrieve pages 10 times without parallelization", "[retrievePagesNoPa
TEST_CASE("Retrieve pages 10 times with parallelization", "[retrievePagesParallel]") {
const std::string kCredentialsFile{"tests/resources/credentials.json"};
Token aToken(kCredentialsFile);
- HearthstoneApi aHearthstoneApi(aToken);
const std::string kContentType{"cards"};
const std::string kRegion{"eu"};
ApiUrl aApiUrl(kContentType, kRegion);
@@ -91,16 +91,18 @@ TEST_CASE("Retrieve pages 10 times with parallelization", "[retrievePagesParalle
aApiUrl.setPageSize("16");
aApiUrl.setPage("1");
std::vector<std::string> aRequests;
- json kFirstPageJson = aHearthstoneApi.makeApiRequest(aApiUrl());
+ TokenPool::fillTokenSource("tests/resources/credentials.json");
+ std::string kTokenText{TokenPool::unusedToken().value()};
+ json kFirstPageJson = HearthstoneApi::makeApiRequest(aApiUrl, kTokenText);
int kNumberOfPages{kFirstPageJson["pageCount"]};
const int kNumberOfRetrievals{10};
REQUIRE(kNumberOfPages >= kNumberOfRetrievals);
for (int i{1}; i < kNumberOfRetrievals; ++i) {
aApiUrl.setPage(std::to_string(i + 1));
- aRequests.push_back(aApiUrl());
+ aRequests.push_back(aApiUrl.text());
}
- std::vector<json> kApiResponses = aHearthstoneApi.makeApiRequest(aRequests);
+ std::vector<json> kApiResponses = HearthstoneApi::makeApiRequest(aRequests, kTokenText);
kApiResponses.emplace(kApiResponses.begin(), kFirstPageJson);
REQUIRE(kApiResponses.size() == kNumberOfRetrievals);
for (const json &kApiResponse : kApiResponses) {