Add misc-include-cleaner

And fix the includes that are wrong.

Note, there is a very large ignore list included in the .clang-tidy
configcfile.  These are things that clang-tidy doesn't yet handle
well, like knowing about a details include.

Change-Id: Ie3744f2c8cba68a8700b406449d6c2018a736952
Signed-off-by: Ed Tanous <ed@tanous.net>
diff --git a/.clang-tidy b/.clang-tidy
index 915e3b0..442c545 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -355,3 +355,4 @@
   - { key: readability-identifier-naming.FunctionIgnoredRegexp,  value: (BMCWEB_LOG_DEBUG|BMCWEB_LOG_INFO|BMCWEB_LOG_WARNING|BMCWEB_LOG_ERROR|BMCWEB_LOG_CRITICAL) }
   - { key: cppcoreguidelines-macro-usage.AllowedRegexp, value: DEBUG*|NLOHMANN_JSON_SERIALIZE_ENUM }
   - { key: performance-unnecessary-value-param.AllowedTypes, value: ((segments_view)|(url_view)) }
+  - { key: misc-include-cleaner.IgnoreHeaders, value: ((nlohmann/json_fwd.hpp)|(boost/.*/src.hpp)|(boost/.*/detail/.*)|(nlohmann/detail/.*)|(stdio.h)|(ranges)|(bits/chrono.h)|(boost/system/error_code.hpp)) }
diff --git a/redfish-core/src/error_messages.cpp b/redfish-core/src/error_messages.cpp
index 3c628b6..6c4282c 100644
--- a/redfish-core/src/error_messages.cpp
+++ b/redfish-core/src/error_messages.cpp
@@ -22,13 +22,16 @@
 
 #include <boost/beast/http/field.hpp>
 #include <boost/beast/http/status.hpp>
+#include <boost/url/url_view.hpp>
 #include <nlohmann/json.hpp>
 
 #include <array>
 #include <cstddef>
+#include <cstdint>
 #include <source_location>
 #include <span>
 #include <string>
+#include <string_view>
 #include <utility>
 
 // IWYU pragma: no_include <stddef.h>
diff --git a/redfish-core/src/registries.cpp b/redfish-core/src/registries.cpp
index c727d1c..8c8b36a 100644
--- a/redfish-core/src/registries.cpp
+++ b/redfish-core/src/registries.cpp
@@ -4,8 +4,12 @@
 #include "registries/openbmc_message_registry.hpp"
 #include "str_utility.hpp"
 
+#include <algorithm>
+#include <cstring>
 #include <ranges>
+#include <span>
 #include <string>
+#include <string_view>
 #include <vector>
 
 namespace redfish::registries
diff --git a/redfish-core/src/utils/json_utils.cpp b/redfish-core/src/utils/json_utils.cpp
index 5e44199..8d12bad 100644
--- a/redfish-core/src/utils/json_utils.cpp
+++ b/redfish-core/src/utils/json_utils.cpp
@@ -22,6 +22,9 @@
 
 #include <nlohmann/json.hpp>
 
+#include <cstdint>
+#include <string>
+
 namespace redfish
 {
 
diff --git a/redfish-core/src/utils/time_utils.cpp b/redfish-core/src/utils/time_utils.cpp
index 3aa3e79..fa49657 100644
--- a/redfish-core/src/utils/time_utils.cpp
+++ b/redfish-core/src/utils/time_utils.cpp
@@ -8,7 +8,6 @@
 #include <sstream>
 #include <string>
 #include <string_view>
-#include <version>
 
 namespace redfish::time_utils
 {
diff --git a/src/dbus_singleton.cpp b/src/dbus_singleton.cpp
index b3b808b..0c937d1 100644
--- a/src/dbus_singleton.cpp
+++ b/src/dbus_singleton.cpp
@@ -1,5 +1,7 @@
 #include "dbus_singleton.hpp"
 
+#include <sdbusplus/asio/connection.hpp>
+
 namespace crow
 {
 namespace connections
diff --git a/src/json_html_serializer.cpp b/src/json_html_serializer.cpp
index 8322f1d..5473b1d 100644
--- a/src/json_html_serializer.cpp
+++ b/src/json_html_serializer.cpp
@@ -2,11 +2,18 @@
 
 #include "http_response.hpp"
 
+#include <boost/beast/http/field.hpp>
 #include <nlohmann/json.hpp>
 
-#include <algorithm>
 #include <array>
-#include <limits>
+#include <cmath>
+#include <cstddef>
+#include <cstdint>
+#include <cstdio>
+#include <iterator>
+#include <string>
+#include <type_traits>
+#include <utility>
 
 namespace json_html_util
 {
diff --git a/src/ossl_random.cpp b/src/ossl_random.cpp
index f196a8b..1261977 100644
--- a/src/ossl_random.cpp
+++ b/src/ossl_random.cpp
@@ -1,8 +1,10 @@
 #include "ossl_random.hpp"
 
-#include <boost/uuid/uuid_generators.hpp>
+#include <boost/uuid/random_generator.hpp>
 #include <boost/uuid/uuid_io.hpp>
 
+#include <string>
+
 std::string bmcweb::getRandomUUID()
 {
     using bmcweb::OpenSSLGenerator;
diff --git a/src/webserver_main.cpp b/src/webserver_main.cpp
index 67e2aae..cc8e1bc 100644
--- a/src/webserver_main.cpp
+++ b/src/webserver_main.cpp
@@ -4,6 +4,7 @@
 #include "cors_preflight.hpp"
 #include "dbus_monitor.hpp"
 #include "dbus_singleton.hpp"
+#include "event_service_manager.hpp"
 #include "google/google_service_root.hpp"
 #include "hostname_monitor.hpp"
 #include "ibm/management_console_rest.hpp"
diff --git a/test/http/crow_getroutes_test.cpp b/test/http/crow_getroutes_test.cpp
index e5c9d6e..0c3f8de 100644
--- a/test/http/crow_getroutes_test.cpp
+++ b/test/http/crow_getroutes_test.cpp
@@ -1,7 +1,6 @@
 #include "app.hpp"
-#include "routing.hpp"
-
-#include <boost/beast/http/status.hpp>
+#include "async_resp.hpp"
+#include "http_request.hpp"
 
 #include <memory>
 
diff --git a/test/http/http2_connection_test.cpp b/test/http/http2_connection_test.cpp
index 7d6572c..dc71ef3 100644
--- a/test/http/http2_connection_test.cpp
+++ b/test/http/http2_connection_test.cpp
@@ -1,13 +1,21 @@
+#include "async_resp.hpp"
 #include "http/http2_connection.hpp"
 #include "http/http_request.hpp"
 #include "http/http_response.hpp"
 
+#include <nghttp2/nghttp2.h>
+#include <unistd.h>
+
+#include <boost/asio/buffer.hpp>
+#include <boost/asio/impl/write.hpp>
+#include <boost/asio/io_context.hpp>
 #include <boost/asio/steady_timer.hpp>
 #include <boost/beast/_experimental/test/stream.hpp>
+#include <boost/beast/http/field.hpp>
 
 #include <bit>
-#include <filesystem>
-#include <fstream>
+#include <cstddef>
+#include <cstdint>
 #include <functional>
 #include <memory>
 #include <string>
diff --git a/test/http/http_body_test.cpp b/test/http/http_body_test.cpp
index 6367cf9..0983c1d 100644
--- a/test/http/http_body_test.cpp
+++ b/test/http/http_body_test.cpp
@@ -1,11 +1,15 @@
 #include "file_test_utilities.hpp"
 #include "http_body.hpp"
 
+#include <boost/beast/core/file_base.hpp>
 #include <boost/system/error_code.hpp>
 
 #include <array>
+#include <cstddef>
+#include <cstdio>
 #include <span>
 #include <string>
+#include <utility>
 
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
diff --git a/test/http/http_connection_test.cpp b/test/http/http_connection_test.cpp
index 6647e61..4dda70e 100644
--- a/test/http/http_connection_test.cpp
+++ b/test/http/http_connection_test.cpp
@@ -1,15 +1,20 @@
+#include "async_resp.hpp"
 #include "http/http_connection.hpp"
 #include "http/http_request.hpp"
 #include "http/http_response.hpp"
 
+#include <boost/asio/buffer.hpp>
+#include <boost/asio/io_context.hpp>
 #include <boost/asio/steady_timer.hpp>
 #include <boost/beast/_experimental/test/stream.hpp>
+#include <boost/beast/http/field.hpp>
+#include <boost/beast/http/verb.hpp>
 
-#include <filesystem>
-#include <fstream>
+#include <chrono>
 #include <functional>
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "gtest/gtest.h"
 namespace crow
diff --git a/test/http/http_response_test.cpp b/test/http/http_response_test.cpp
index 457cd7a..d0836a2 100644
--- a/test/http/http_response_test.cpp
+++ b/test/http/http_response_test.cpp
@@ -1,13 +1,18 @@
 #include "boost/beast/core/buffers_to_string.hpp"
-#include "boost/beast/core/flat_buffer.hpp"
 #include "boost/beast/http/serializer.hpp"
 #include "file_test_utilities.hpp"
 #include "http/http_body.hpp"
 #include "http/http_response.hpp"
+#include "utility.hpp"
 
+#include <boost/beast/core/file_base.hpp>
+#include <boost/beast/core/file_posix.hpp>
+#include <boost/beast/http/message.hpp>
+#include <boost/beast/http/status.hpp>
+
+#include <cstdio>
 #include <filesystem>
-#include <fstream>
-#include <thread>
+#include <string>
 
 #include "gtest/gtest.h"
 namespace
diff --git a/test/http/mutual_tls.cpp b/test/http/mutual_tls.cpp
index 7b5cb25..be8b651 100644
--- a/test/http/mutual_tls.cpp
+++ b/test/http/mutual_tls.cpp
@@ -1,8 +1,20 @@
 #include "mutual_tls.hpp"
 
+#include "sessions.hpp"
+
+#include <openssl/asn1.h>
+#include <openssl/ec.h>
+#include <openssl/evp.h>
+#include <openssl/obj_mac.h>
+#include <openssl/types.h>
+#include <openssl/x509.h>
+#include <openssl/x509_vfy.h>
+#include <openssl/x509v3.h>
+
 #include <boost/asio/ip/address.hpp>
 #include <boost/asio/ssl/verify_context.hpp>
 
+#include <array>
 #include <memory>
 
 #include <gmock/gmock.h>
diff --git a/test/http/mutual_tls_meta.cpp b/test/http/mutual_tls_meta.cpp
index 5f32cb5..0e280c1 100644
--- a/test/http/mutual_tls_meta.cpp
+++ b/test/http/mutual_tls_meta.cpp
@@ -1,5 +1,9 @@
 #include "http/mutual_tls_meta.hpp"
 
+#include <optional>
+#include <string>
+#include <vector>
+
 #include <gtest/gtest.h> // IWYU pragma: keep
 
 namespace redfish
diff --git a/test/http/server_sent_event_test.cpp b/test/http/server_sent_event_test.cpp
index d3f9403..3e740cb 100644
--- a/test/http/server_sent_event_test.cpp
+++ b/test/http/server_sent_event_test.cpp
@@ -1,15 +1,15 @@
 #include "boost/asio/read.hpp"
-#include "boost/asio/read_until.hpp"
-#include "http/http_request.hpp"
-#include "http/http_response.hpp"
 #include "http/server_sent_event.hpp"
 
-#include <boost/asio/steady_timer.hpp>
+#include <boost/asio/buffer.hpp>
+#include <boost/asio/io_context.hpp>
 #include <boost/beast/_experimental/test/stream.hpp>
 
+#include <chrono>
 #include <memory>
 #include <string>
 #include <string_view>
+#include <utility>
 
 #include "gtest/gtest.h"
 namespace crow
diff --git a/test/http/utility_test.cpp b/test/http/utility_test.cpp
index c0b6412..20af871 100644
--- a/test/http/utility_test.cpp
+++ b/test/http/utility_test.cpp
@@ -1,16 +1,16 @@
-#include "bmcweb_config.h"
 
 #include "utility.hpp"
 
-#include <boost/url/error.hpp>
+#include <bits/basic_string.h>
+
+#include <boost/system/result.hpp>
+#include <boost/url/parse.hpp>
 #include <boost/url/url.hpp>
 #include <boost/url/url_view.hpp>
-#include <nlohmann/json.hpp>
 
-#include <cstdint>
+#include <algorithm>
 #include <ctime>
 #include <functional>
-#include <limits>
 #include <string>
 #include <string_view>
 
diff --git a/test/include/async_resolve_test.cpp b/test/include/async_resolve_test.cpp
index be1e8a3..d07dc1b 100644
--- a/test/include/async_resolve_test.cpp
+++ b/test/include/async_resolve_test.cpp
@@ -2,7 +2,7 @@
 
 #include <boost/asio/ip/tcp.hpp>
 
-#include <gmock/gmock.h>
+#include <gtest/gtest.h>
 
 TEST(AsyncResolve, ipv4Positive)
 {
diff --git a/test/include/credential_pipe_test.cpp b/test/include/credential_pipe_test.cpp
index c5b544b..0c72222 100644
--- a/test/include/credential_pipe_test.cpp
+++ b/test/include/credential_pipe_test.cpp
@@ -1,11 +1,18 @@
 #include "credential_pipe.hpp"
 
+#include <unistd.h>
+
 #include <boost/asio/io_context.hpp>
 #include <boost/beast/core/file_posix.hpp>
+#include <boost/system/detail/error_code.hpp>
 
+#include <array>
+#include <cstddef>
+#include <functional>
 #include <string>
 
 #include <gmock/gmock.h>
+#include <gtest/gtest.h>
 
 using ::testing::ElementsAre;
 
diff --git a/test/include/google/google_service_root_test.cpp b/test/include/google/google_service_root_test.cpp
index 88b40d7..daeb657 100644
--- a/test/include/google/google_service_root_test.cpp
+++ b/test/include/google/google_service_root_test.cpp
@@ -1,9 +1,14 @@
 #include "async_resp.hpp"
 #include "google/google_service_root.hpp"
 #include "http_request.hpp"
+#include "http_response.hpp"
 
+#include <boost/beast/http/verb.hpp>
 #include <nlohmann/json.hpp>
 
+#include <memory>
+#include <system_error>
+
 #include <gtest/gtest.h>
 
 namespace crow::google_api
diff --git a/test/include/http_utility_test.cpp b/test/include/http_utility_test.cpp
index 915b168..d2060c1 100644
--- a/test/include/http_utility_test.cpp
+++ b/test/include/http_utility_test.cpp
@@ -1,5 +1,7 @@
 #include "http_utility.hpp"
 
+#include <array>
+
 #include <gtest/gtest.h> // IWYU pragma: keep
 
 // IWYU pragma: no_include <gtest/gtest-message.h>
diff --git a/test/include/ibm/lock_test.cpp b/test/include/ibm/lock_test.cpp
index 327ce68..087a84b 100644
--- a/test/include/ibm/lock_test.cpp
+++ b/test/include/ibm/lock_test.cpp
@@ -1,7 +1,6 @@
 #include "ibm/locks.hpp"
 
 #include <cstdint>
-#include <memory>
 #include <string>
 #include <tuple>
 #include <utility>
diff --git a/test/include/multipart_test.cpp b/test/include/multipart_test.cpp
index 0ac201f..59e8345 100644
--- a/test/include/multipart_test.cpp
+++ b/test/include/multipart_test.cpp
@@ -2,9 +2,8 @@
 #include "multipart_parser.hpp"
 
 #include <boost/beast/http/fields.hpp>
-#include <boost/beast/http/message.hpp>
 
-#include <memory>
+#include <iterator>
 #include <string_view>
 #include <system_error>
 #include <vector>
diff --git a/test/include/ossl_random.cpp b/test/include/ossl_random.cpp
index 22935e7..512b5c8 100644
--- a/test/include/ossl_random.cpp
+++ b/test/include/ossl_random.cpp
@@ -1,7 +1,5 @@
 #include "ossl_random.hpp"
 
-#include <string>
-
 #include <gmock/gmock.h> // IWYU pragma: keep
 #include <gtest/gtest.h> // IWYU pragma: keep
 
diff --git a/test/redfish-core/include/redfish_aggregator_test.cpp b/test/redfish-core/include/redfish_aggregator_test.cpp
index d3c819f..6986dcf 100644
--- a/test/redfish-core/include/redfish_aggregator_test.cpp
+++ b/test/redfish-core/include/redfish_aggregator_test.cpp
@@ -1,8 +1,17 @@
 #include "async_resp.hpp"
+#include "error_messages.hpp"
+#include "http_response.hpp"
 #include "redfish_aggregator.hpp"
 
+#include <boost/beast/http/field.hpp>
+#include <boost/beast/http/status.hpp>
 #include <nlohmann/json.hpp>
 
+#include <array>
+#include <memory>
+#include <string>
+#include <utility>
+
 #include <gtest/gtest.h> // IWYU pragma: keep
 
 namespace redfish
diff --git a/test/redfish-core/include/utils/hex_utils_test.cpp b/test/redfish-core/include/utils/hex_utils_test.cpp
index c80158a..a4ff5b7 100644
--- a/test/redfish-core/include/utils/hex_utils_test.cpp
+++ b/test/redfish-core/include/utils/hex_utils_test.cpp
@@ -1,7 +1,9 @@
 #include "utils/hex_utils.hpp"
 
 #include <cctype>
+#include <cstdint>
 #include <limits>
+#include <vector>
 
 #include <gmock/gmock.h> // IWYU pragma: keep
 #include <gtest/gtest.h> // IWYU pragma: keep
diff --git a/test/redfish-core/include/utils/ip_utils_test.cpp b/test/redfish-core/include/utils/ip_utils_test.cpp
index e8b7ac9..67cacc0 100644
--- a/test/redfish-core/include/utils/ip_utils_test.cpp
+++ b/test/redfish-core/include/utils/ip_utils_test.cpp
@@ -1,5 +1,9 @@
 #include "utils/ip_utils.hpp"
 
+#include <boost/asio/ip/address.hpp>
+
+#include <cstdint>
+
 #include <gtest/gtest.h> // IWYU pragma: keep
 
 // IWYU pragma: no_include <gtest/gtest-message.h>
diff --git a/test/redfish-core/include/utils/json_utils_test.cpp b/test/redfish-core/include/utils/json_utils_test.cpp
index ad4d805..9245f25 100644
--- a/test/redfish-core/include/utils/json_utils_test.cpp
+++ b/test/redfish-core/include/utils/json_utils_test.cpp
@@ -2,6 +2,7 @@
 #include "http_response.hpp"
 #include "utils/json_utils.hpp"
 
+#include <boost/beast/http/field.hpp>
 #include <boost/beast/http/status.hpp>
 #include <nlohmann/json.hpp>
 
diff --git a/test/redfish-core/include/utils/query_param_test.cpp b/test/redfish-core/include/utils/query_param_test.cpp
index c5ae21f..46cc64d 100644
--- a/test/redfish-core/include/utils/query_param_test.cpp
+++ b/test/redfish-core/include/utils/query_param_test.cpp
@@ -1,13 +1,21 @@
 #include "bmcweb_config.h"
 
+#include "error_messages.hpp"
+#include "http_response.hpp"
 #include "utils/query_param.hpp"
 
+#include <boost/beast/http/status.hpp>
 #include <boost/system/result.hpp>
+#include <boost/url/parse.hpp>
 #include <boost/url/url_view.hpp>
 #include <nlohmann/json.hpp>
 
-#include <new>
+#include <array>
+#include <optional>
 #include <span>
+#include <string>
+#include <utility>
+#include <vector>
 
 #include <gmock/gmock.h> // IWYU pragma: keep
 #include <gtest/gtest.h> // IWYU pragma: keep
diff --git a/test/redfish-core/include/utils/stl_utils_test.cpp b/test/redfish-core/include/utils/stl_utils_test.cpp
index f1febd0..d8c0a1c 100644
--- a/test/redfish-core/include/utils/stl_utils_test.cpp
+++ b/test/redfish-core/include/utils/stl_utils_test.cpp
@@ -1,6 +1,7 @@
 #include "utils/stl_utils.hpp"
 
 #include <string>
+#include <vector>
 
 #include <gmock/gmock.h> // IWYU pragma: keep
 #include <gtest/gtest.h> // IWYU pragma: keep
diff --git a/test/redfish-core/include/utils/time_utils_test.cpp b/test/redfish-core/include/utils/time_utils_test.cpp
index e88f758..a1ae058 100644
--- a/test/redfish-core/include/utils/time_utils_test.cpp
+++ b/test/redfish-core/include/utils/time_utils_test.cpp
@@ -1,5 +1,11 @@
 #include "utils/time_utils.hpp"
 
+#include <chrono>
+#include <cstdint>
+#include <ctime>
+#include <limits>
+#include <optional>
+
 #include <gmock/gmock.h> // IWYU pragma: keep
 #include <gtest/gtest.h> // IWYU pragma: keep
 
diff --git a/test/redfish-core/lib/chassis_test.cpp b/test/redfish-core/lib/chassis_test.cpp
index 45d06ae..59e21dd 100644
--- a/test/redfish-core/lib/chassis_test.cpp
+++ b/test/redfish-core/lib/chassis_test.cpp
@@ -6,9 +6,14 @@
 
 #include <boost/beast/core/string_type.hpp>
 #include <boost/beast/http/message.hpp>
+#include <boost/beast/http/verb.hpp>
 #include <nlohmann/json.hpp>
 
+#include <functional>
+#include <memory>
+#include <string>
 #include <system_error>
+#include <utility>
 
 #include <gtest/gtest.h>
 
diff --git a/test/redfish-core/lib/log_services_dump_test.cpp b/test/redfish-core/lib/log_services_dump_test.cpp
index 2a6333b..ce7a3a9 100644
--- a/test/redfish-core/lib/log_services_dump_test.cpp
+++ b/test/redfish-core/lib/log_services_dump_test.cpp
@@ -1,12 +1,10 @@
-#include "app.hpp"
 #include "async_resp.hpp"
-#include "event_service_manager.hpp"
-#include "health.hpp"
 #include "log_services.hpp"
 
-#include <nlohmann/json.hpp>
+#include <boost/beast/http/status.hpp>
 
-#include <gmock/gmock.h>
+#include <memory>
+
 #include <gtest/gtest.h>
 
 namespace redfish
diff --git a/test/redfish-core/lib/log_services_test.cpp b/test/redfish-core/lib/log_services_test.cpp
index 4f7bedb..631e3d1 100644
--- a/test/redfish-core/lib/log_services_test.cpp
+++ b/test/redfish-core/lib/log_services_test.cpp
@@ -1,15 +1,13 @@
-#include "app.hpp"
 #include "async_resp.hpp"
 #include "log_services.hpp"
 
 #include <systemd/sd-id128.h>
 
-#include <nlohmann/json.hpp>
-
+#include <cstdint>
 #include <format>
+#include <memory>
 #include <string>
 
-#include <gmock/gmock.h>
 #include <gtest/gtest.h>
 
 namespace redfish
diff --git a/test/redfish-core/lib/manager_diagnostic_data_test.cpp b/test/redfish-core/lib/manager_diagnostic_data_test.cpp
index b59842a..c10bd57 100644
--- a/test/redfish-core/lib/manager_diagnostic_data_test.cpp
+++ b/test/redfish-core/lib/manager_diagnostic_data_test.cpp
@@ -1,8 +1,13 @@
 #include "async_resp.hpp"
 #include "manager_diagnostic_data.hpp"
 
+#include <boost/asio/error.hpp>
+#include <boost/beast/http/status.hpp>
+#include <boost/system/linux_error.hpp>
 #include <nlohmann/json.hpp>
 
+#include <cstdint>
+#include <limits>
 #include <memory>
 
 #include <gtest/gtest.h>
diff --git a/test/redfish-core/lib/power_subsystem_test.cpp b/test/redfish-core/lib/power_subsystem_test.cpp
index 1dfbbeb..39ec311 100644
--- a/test/redfish-core/lib/power_subsystem_test.cpp
+++ b/test/redfish-core/lib/power_subsystem_test.cpp
@@ -1,8 +1,10 @@
 #include "async_resp.hpp"
+#include "http_response.hpp"
 #include "power_subsystem.hpp"
 
 #include <nlohmann/json.hpp>
 
+#include <memory>
 #include <optional>
 #include <string>
 
diff --git a/test/redfish-core/lib/service_root_test.cpp b/test/redfish-core/lib/service_root_test.cpp
index 78c068d..3d47221 100644
--- a/test/redfish-core/lib/service_root_test.cpp
+++ b/test/redfish-core/lib/service_root_test.cpp
@@ -7,7 +7,6 @@
 #include <nlohmann/json.hpp>
 
 #include <memory>
-#include <vector>
 
 #include <gmock/gmock.h> // IWYU pragma: keep
 #include <gtest/gtest.h> // IWYU pragma: keep
diff --git a/test/redfish-core/lib/system_test.cpp b/test/redfish-core/lib/system_test.cpp
index 481c0df..0becca8 100644
--- a/test/redfish-core/lib/system_test.cpp
+++ b/test/redfish-core/lib/system_test.cpp
@@ -1,17 +1,16 @@
-#include "app.hpp"
 #include "async_resp.hpp"
-#include "http_request.hpp"
+#include "generated/enums/resource.hpp"
 #include "http_response.hpp"
 #include "systems.hpp"
 
-#include <boost/beast/core/string_type.hpp>
-#include <boost/beast/http/message.hpp>
-#include <boost/system/error_code.hpp>
+#include <boost/asio/error.hpp>
+#include <boost/beast/http/status.hpp>
+#include <boost/system/linux_error.hpp>
 #include <nlohmann/json.hpp>
 
 #include <memory>
 #include <string>
-#include <system_error>
+#include <utility>
 #include <vector>
 
 #include <gtest/gtest.h>
diff --git a/test/redfish-core/lib/thermal_subsystem_test.cpp b/test/redfish-core/lib/thermal_subsystem_test.cpp
index 305e29a..35df514 100644
--- a/test/redfish-core/lib/thermal_subsystem_test.cpp
+++ b/test/redfish-core/lib/thermal_subsystem_test.cpp
@@ -1,8 +1,10 @@
 #include "async_resp.hpp"
+#include "http_response.hpp"
 #include "thermal_subsystem.hpp"
 
 #include <nlohmann/json.hpp>
 
+#include <memory>
 #include <optional>
 #include <string>
 
diff --git a/test/redfish-core/lib/update_service_test.cpp b/test/redfish-core/lib/update_service_test.cpp
index 6b90aef..d56d709 100644
--- a/test/redfish-core/lib/update_service_test.cpp
+++ b/test/redfish-core/lib/update_service_test.cpp
@@ -1,6 +1,9 @@
 
+#include "http_response.hpp"
 #include "update_service.hpp"
 
+#include <optional>
+
 #include <gtest/gtest.h>
 
 namespace redfish