esphome/tests
Jesse Hills 7b45498de6
[http_request] Add esp-idf and rp2040 support (#3256)
* Implement http_request component for esp-idf

* Fix ifdefs

* Lint

* clang

* Set else to fail with error message

* Use unique_ptr

* Fix

* Tidy up casting, explicit HttpResponse lifetime (#3265)

Co-authored-by: Daniel Cousens <dcousens@users.noreply.github.com>

* Remove unique_ptr wrapper

* Fix

* Use reference

* Add duration code into new split files

* Add config for tx/rx buffer on idf

* Fix

* Try reserve response data with rx buffer size

* Update http_request.h

* Move client cleanup to be earlier

* Move capture_response to bool on struct and remove global

* Fix returns

* Change quotes to brackets

* Rework http request

* Remove http request from old test yamls

* Update component tests

* Validate md5 length when hardcoded string

* Linting

* Add duration_ms to container

* More lint

* const

* Remove default arguments and add helper functions for get and post

* Add virtual destructor to HttpContainer

* Undo const HEADER_KEYS

* 🤦

* Update esphome/components/http_request/ota/ota_http_request.cpp

Co-authored-by: Keith Burzinski <kbx81x@gmail.com>

* Update esphome/components/http_request/ota/ota_http_request.cpp

Co-authored-by: Keith Burzinski <kbx81x@gmail.com>

* lint

* Move header keys inline

* Add missing WatchdogManagers

* CAPS

* Fix "follow redirects" string in config dump

* IDF 5+ fix

---------

Co-authored-by: Daniel Cousens <413395+dcousens@users.noreply.github.com>
Co-authored-by: Daniel Cousens <dcousens@users.noreply.github.com>
Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
2024-06-09 15:15:29 -05:00
..
component_tests [template/text] Fix lambda config (#6655) 2024-04-29 20:40:03 +10:00
components [http_request] Add esp-idf and rp2040 support (#3256) 2024-06-09 15:15:29 -05:00
dashboard Bump black from 23.12.1 to 24.2.0 (#6221) 2024-02-21 15:53:50 +13:00
test_build_components Add beken_spi_led_strip component (#6515) 2024-05-16 11:32:48 +12:00
test_packages YAML linting (#3779) 2022-09-06 15:48:01 +12:00
unit_tests Bump black from 23.12.1 to 24.2.0 (#6221) 2024-02-21 15:53:50 +13:00
.gitignore Rename esphomeyaml to esphome (#426) 2019-02-13 16:54:02 +01:00
custom.h Add attribute support to Home Assistant sensors (#1770) 2021-05-17 11:16:22 +12:00
dummy_main.cpp Separate OTABackend from OTA component (#6459) 2024-05-16 14:01:09 +12:00
pnglogo.png Add transparency support to all image types (#4600) 2023-05-22 08:03:21 +12:00
README.md Wireguard component (#4256) 2023-09-12 07:13:24 +12:00
test1.1.yaml Checks for pins used in multiple places (#5666) 2023-12-05 08:56:53 +09:00
test1.yaml [http_request] Add esp-idf and rp2040 support (#3256) 2024-06-09 15:15:29 -05:00
test2.yaml Uncouple safe_mode from OTA (#6759) 2024-05-22 13:08:53 +12:00
test3.1.yaml [http_request] Add esp-idf and rp2040 support (#3256) 2024-06-09 15:15:29 -05:00
test3.yaml Uncouple safe_mode from OTA (#6759) 2024-05-22 13:08:53 +12:00
test4.yaml Uncouple safe_mode from OTA (#6759) 2024-05-22 13:08:53 +12:00
test5.yaml Separate OTABackend from OTA component (#6459) 2024-05-16 14:01:09 +12:00
test6.yaml Separate OTABackend from OTA component (#6459) 2024-05-16 14:01:09 +12:00
test7.yaml [http_request] Add esp-idf and rp2040 support (#3256) 2024-06-09 15:15:29 -05:00
test8.1.yaml SPI schema now uses typed_schema with type key (#6353) 2024-03-12 15:50:24 +13:00
test8.2.yaml Fix yamllint (#6253) 2024-02-21 17:14:30 +13:00
test8.yaml Skip gpio validation (#5615) 2024-05-16 11:49:04 +12:00
test9.1.yaml Separate OTABackend from OTA component (#6459) 2024-05-16 14:01:09 +12:00
test9.yaml Separate OTABackend from OTA component (#6459) 2024-05-16 14:01:09 +12:00
test11.5.yaml Separate OTABackend from OTA component (#6459) 2024-05-16 14:01:09 +12:00

Tests for ESPHome

This directory contains some tests for ESPHome. At the moment, all the tests only work by simply executing esphome over some YAML files that are made to test whether the yaml gets converted to the proper C++ code.

Of course this is all just very high-level and things like unit tests would be much better. So if you have time and know how to set up a unit testing framework for python, please do give it a try.

When adding entries in test_.yaml files we usually need only one file updated, unless conflicting code is generated for different configurations, e.g. wifi and ethernet cannot be tested on the same device.

Current test_.yaml file contents.

Test name Platform Network BLE
test1.yaml ESP32 wifi None
test2.yaml ESP32 ethernet esp32_ble_tracker
test3.yaml ESP8266 wifi N/A
test4.yaml ESP32 ethernet None
test5.yaml ESP32 wifi ble_server
test6.yaml RP2040 wifi N/A
test7.yaml ESP32-C3 wifi N/A
test8.yaml ESP32-S3 wifi None
test10.yaml ESP32 wifi None