From 45ff6050c3cc04ca96f68aa1cf4258afdb4121f7 Mon Sep 17 00:00:00 2001 From: clydebarrow <2366188+clydebarrow@users.noreply.github.com> Date: Mon, 6 Jan 2025 18:11:35 +1100 Subject: [PATCH] Add tests --- .../http_request/http_request_host.cpp | 3 +- esphome/components/http_request/httplib.h | 3 ++ tests/components/http_request/common.yaml | 45 +----------------- .../components/http_request/http_request.yaml | 46 +++++++++++++++++++ tests/components/http_request/test.host.yaml | 4 ++ 5 files changed, 55 insertions(+), 46 deletions(-) create mode 100644 tests/components/http_request/http_request.yaml create mode 100644 tests/components/http_request/test.host.yaml diff --git a/esphome/components/http_request/http_request_host.cpp b/esphome/components/http_request/http_request_host.cpp index 73d8071492..ca889e4eb8 100644 --- a/esphome/components/http_request/http_request_host.cpp +++ b/esphome/components/http_request/http_request_host.cpp @@ -7,7 +7,6 @@ #include "esphome/components/watchdog/watchdog.h" #include "esphome/core/application.h" -#include "esphome/core/defines.h" #include "esphome/core/log.h" namespace esphome { @@ -52,7 +51,7 @@ std::shared_ptr HttpRequestHost::start(std::string url, std::stri httplib::Result result; if (method == "GET") { result = client.Get(path, h_headers, [&](const char *data, size_t data_length) { - ESP_LOGD(TAG, "Got data length: %d", data_length); + ESP_LOGV(TAG, "Got data length: %zu", data_length); container->response_body_.insert(container->response_body_.end(), (const uint8_t *) data, (const uint8_t *) data + data_length); return true; diff --git a/esphome/components/http_request/httplib.h b/esphome/components/http_request/httplib.h index 101cdae79b..d6a58bfd97 100644 --- a/esphome/components/http_request/httplib.h +++ b/esphome/components/http_request/httplib.h @@ -5,6 +5,7 @@ // MIT License // +#ifdef USE_HOST #ifndef CPPHTTPLIB_HTTPLIB_H #define CPPHTTPLIB_HTTPLIB_H @@ -9675,3 +9676,5 @@ inline SSL_CTX *Client::ssl_context() const { #endif #endif // CPPHTTPLIB_HTTPLIB_H + +#endif diff --git a/tests/components/http_request/common.yaml b/tests/components/http_request/common.yaml index 8408f27a05..8edd1fab23 100644 --- a/tests/components/http_request/common.yaml +++ b/tests/components/http_request/common.yaml @@ -1,52 +1,9 @@ -substitutions: - verify_ssl: "true" +<<: !include http_request.yaml wifi: ssid: MySSID password: password1 -esphome: - on_boot: - then: - - http_request.get: - url: https://esphome.io - headers: - Content-Type: application/json - on_error: - logger.log: "Request failed" - on_response: - then: - - logger.log: - format: "Response status: %d, Duration: %lu ms" - args: - - response->status_code - - (long) response->duration_ms - - http_request.post: - url: https://esphome.io - headers: - Content-Type: application/json - json: - key: value - - http_request.send: - method: PUT - url: https://esphome.io - headers: - Content-Type: application/json - body: "Some data" - -http_request: - useragent: esphome/tagreader - timeout: 10s - verify_ssl: ${verify_ssl} - -script: - - id: does_not_compile - parameters: - api_url: string - then: - - http_request.get: - url: "http://google.com" - ota: - platform: http_request on_begin: diff --git a/tests/components/http_request/http_request.yaml b/tests/components/http_request/http_request.yaml new file mode 100644 index 0000000000..f8d3839fed --- /dev/null +++ b/tests/components/http_request/http_request.yaml @@ -0,0 +1,46 @@ +substitutions: + verify_ssl: "true" + +network: + +esphome: + on_boot: + then: + - http_request.get: + url: https://esphome.io + headers: + Content-Type: application/json + on_error: + logger.log: "Request failed" + on_response: + then: + - logger.log: + format: "Response status: %d, Duration: %lu ms" + args: + - response->status_code + - (long) response->duration_ms + - http_request.post: + url: https://esphome.io + headers: + Content-Type: application/json + json: + key: value + - http_request.send: + method: PUT + url: https://esphome.io + headers: + Content-Type: application/json + body: "Some data" + +http_request: + useragent: esphome/tagreader + timeout: 10s + verify_ssl: ${verify_ssl} + +script: + - id: does_not_compile + parameters: + api_url: string + then: + - http_request.get: + url: "http://google.com" diff --git a/tests/components/http_request/test.host.yaml b/tests/components/http_request/test.host.yaml new file mode 100644 index 0000000000..6ae7b635cb --- /dev/null +++ b/tests/components/http_request/test.host.yaml @@ -0,0 +1,4 @@ +substitutions: + verify_ssl: "true" + +<<: !include http_request.yaml