From 2eb8897706128f3590a5b4f9ee8f3e755b74f097 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Tue, 9 Sep 2025 23:24:35 +0100 Subject: Add test over mocked user agent fetch Uses a file:// URL to curl fetch a local fixture. --- test/test-ingest.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'test/test-ingest.cpp') diff --git a/test/test-ingest.cpp b/test/test-ingest.cpp index fd7ad65..9b21e44 100644 --- a/test/test-ingest.cpp +++ b/test/test-ingest.cpp @@ -208,6 +208,21 @@ BOOST_AUTO_TEST_CASE(StoreLog, *boost::unit_test::depends_on("I/StoreLogLine")) BOOST_AUTO_TEST_SUITE_END(); +BOOST_AUTO_TEST_CASE(FetchMockUserAgentDetail) +{ + const auto uaDetailReq = WebStat::curlGetUserAgentDetail( + R"(Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36)", + (FIXTURE_URL_BASE + "/userAgent.json").c_str()); + BOOST_REQUIRE(uaDetailReq); + BOOST_REQUIRE_EQUAL(CURLE_OK, curl_easy_perform(uaDetailReq->hnd.get())); + + BOOST_TEST_CONTEXT(uaDetailReq->result) { + BOOST_CHECK(uaDetailReq->result.contains(R"("agent_type":)")); + BOOST_CHECK(uaDetailReq->result.contains(R"("os_type":)")); + BOOST_CHECK(uaDetailReq->result.contains(R"("Chrome")")); + } +} + BOOST_AUTO_TEST_CASE(FetchRealUserAgentDetail, *boost::unit_test::disabled()) { const auto uaDetailReq = WebStat::curlGetUserAgentDetail( -- cgit v1.2.3