From cc436cb44c60ef2485321e1e22b3ea0a59ee22af Mon Sep 17 00:00:00 2001 From: Aotrix <9aotrix@protonmail.com> Date: Sun, 19 Apr 2026 18:16:14 +0200 Subject: TokenPool now works --- battleNetApi/tests/tests.cpp | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) (limited to 'battleNetApi/tests/tests.cpp') 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 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); +} -- cgit v1.2.3