summaryrefslogtreecommitdiff
path: root/battleNetApi/tests
diff options
context:
space:
mode:
Diffstat (limited to 'battleNetApi/tests')
-rw-r--r--battleNetApi/tests/tests.cpp33
1 files changed, 24 insertions, 9 deletions
diff --git a/battleNetApi/tests/tests.cpp b/battleNetApi/tests/tests.cpp
index e669506..5efb1f0 100644
--- a/battleNetApi/tests/tests.cpp
+++ b/battleNetApi/tests/tests.cpp
@@ -31,12 +31,13 @@ TEST_CASE("Retrieve number of cards", "[countCards]") {
aApiUrl.setLocale("fr_FR");
aApiUrl.setGameMode("constructed");
aApiUrl.setPageSize("1");
- TokenPool::fillTokenSource("tests/resources/credentials.json");
- const json kResponse = HearthstoneApi::makeApiRequest(aApiUrl, TokenPool::unusedToken().value());
+ TokenPool::feedTokenSource("tests/resources/credentials.json");
+ const json kResponse = HearthstoneApi::makeApiRequest(aApiUrl, TokenPool::availableToken().value().text());
REQUIRE(kResponse.size() > 0);
REQUIRE(kResponse.contains("pageCount"));
std::uint64_t kNumberOfCards{kResponse["pageCount"]};
- REQUIRE(kNumberOfCards == 6048);
+ std::uint64_t kExpectedNumberOfCards{6178};
+ REQUIRE(kNumberOfCards == kExpectedNumberOfCards);
}
TEST_CASE("Retrieve page once", "[retrievePageOnce]") {
@@ -48,8 +49,8 @@ TEST_CASE("Retrieve page once", "[retrievePageOnce]") {
aApiUrl.setLocale("fr_FR");
aApiUrl.setGameMode("constructed");
aApiUrl.setPageSize("16");
- TokenPool::fillTokenSource("tests/resources/credentials.json");
- const json kApiResponse = HearthstoneApi::makeApiRequest(aApiUrl, TokenPool::unusedToken().value());
+ TokenPool::feedTokenSource("tests/resources/credentials.json");
+ const json kApiResponse = HearthstoneApi::makeApiRequest(aApiUrl, TokenPool::availableToken().value().text());
REQUIRE(kApiResponse["cards"].size() == 16);
}
@@ -63,8 +64,8 @@ TEST_CASE("Retrieve pages 10 times without parallelization", "[retrievePagesNoPa
aApiUrl.setGameMode("constructed");
aApiUrl.setPageSize("16");
aApiUrl.setPage("1");
- TokenPool::fillTokenSource("tests/resources/credentials.json");
- std::string kTokenText{TokenPool::unusedToken().value()};
+ TokenPool::feedTokenSource("tests/resources/credentials.json");
+ std::string kTokenText{TokenPool::availableToken().value().text()};
json kApiResponse = HearthstoneApi::makeApiRequest(aApiUrl, kTokenText);
// Retrieve number of pages
@@ -91,8 +92,8 @@ TEST_CASE("Retrieve pages 10 times with parallelization", "[retrievePagesParalle
aApiUrl.setPageSize("16");
aApiUrl.setPage("1");
std::vector<std::string> aRequests;
- TokenPool::fillTokenSource("tests/resources/credentials.json");
- std::string kTokenText{TokenPool::unusedToken().value()};
+ TokenPool::feedTokenSource("tests/resources/credentials.json");
+ std::string kTokenText{TokenPool::availableToken().value().text()};
json kFirstPageJson = HearthstoneApi::makeApiRequest(aApiUrl, kTokenText);
int kNumberOfPages{kFirstPageJson["pageCount"]};
@@ -124,3 +125,17 @@ TEST_CASE("Merge two card lists from two page requests", "[Merge pages]") {
std::ofstream aOutputJson("build/output_pages_merge.json");
aOutputJson << aMergedCards.dump(4);
}
+
+TEST_CASE("Retrieve a single page with HearthstoneApi::downloadCards", "[retrievePageOnceHearthstoneApi]") {
+ const std::string kContentType{"cards"};
+ const std::string kRegion{"eu"};
+ ApiUrl aApiUrl(kContentType, kRegion);
+ aApiUrl.setPage(3);
+ TokenPool::feedTokenSource("tests/resources/credentials.json");
+ json kApiResponse = HearthstoneApi::makeApiRequest(aApiUrl, TokenPool::availableToken().value().text());
+ const json::size_type kExpectedNumberOfCards{kApiResponse["cards"].size()};
+ TokenPool::feedTokenSource("tests/resources/credentials.json");
+ kApiResponse = HearthstoneApi::downloadCards(aApiUrl, TokenPool::availableToken().value());
+ const json::size_type kCurrentNumberOfCards{kApiResponse["cards"].size()};
+ REQUIRE(kCurrentNumberOfCards == kExpectedNumberOfCards);
+}