Fifth runtime number per profile (5-120 min, default 30 = the old RAMP_HALF_WIDTH_SECONDS constant). No options-flow field — the entity is the only knob, meant to be driven seasonally from Node-RED. Two-tier restore (restored -> default; no options tier, which would reset the width on every unrelated options save). The curve and the sun-event day-anchoring read the width once per tick and share the same value, so widened evening ramps complete past the next_* sensor flip. 8 new tests; 164 passing. Bump to 2.5.0-cdit.1. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| conftest.py | ||
| README.md | ||
| test_adaptation_utils.py | ||
| test_color_and_brightness.py | ||
| test_config_flow.py | ||
| test_hass_utils.py | ||
| test_init.py | ||
| test_number_platform.py | ||
| test_sensor_platform.py | ||
Developer notes for the tests directory
To run the tests, check out the CI configuration to see how they are executed in the CI pipeline. Alternatively, you can use the provided Docker image to run the tests locally or run them with VS Code directly in the dev container.
Prerequisites
Before running tests with Docker, you need a local Home Assistant core checkout with symlinks:
# Clone HA core (one-time setup)
git clone --depth 1 https://github.com/home-assistant/core.git core
# Setup symlinks (one-time setup)
./scripts/setup-symlinks
Running tests with Docker
Navigate to the adaptive-lighting repo folder and execute the following command.
Important: Mount the entire repo (-v $(pwd):/app), not individual directories, or the symlinks will break.
Linux / MacOS / Windows PowerShell:
docker run -v ${PWD}:/app basnijholt/adaptive-lighting:latest
- In windows command prompt, the command is:
docker run -v %cd%:/app basnijholt/adaptive-lighting:latest
This command will download the Docker image from the adaptive-lighting Docker Hub repo and run the tests.
If you prefer to build the image yourself, use the following command:
docker build -t basnijholt/adaptive-lighting:latest --no-cache --progress=plain .
This might be necessary if the image on Docker Hub is outdated or if the test_dependencies.py file is updated.
Passing arguments to pytest
You can pass arguments to pytest by appending them to the command:
For example, to run the tests with a custom log format, use the following command (this also gets rid of the captured stderr output):
docker run -v $(pwd):/app basnijholt/adaptive-lighting:latest --show-capture=log --log-format="%(asctime)s %(levelname)-8s %(name)s:%(filename)s:%(lineno)s %(message)s" --log-date-format="%H:%M:%S" tests/components/adaptive_lighting/