mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-23 04:03:52 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """Tests for web_server OTA migration validation."""
 | |
| 
 | |
| import pytest
 | |
| 
 | |
| from esphome import config_validation as cv
 | |
| from esphome.types import ConfigType
 | |
| 
 | |
| 
 | |
| def test_web_server_ota_true_fails_validation() -> None:
 | |
|     """Test that web_server with ota: true fails validation with helpful message."""
 | |
|     from esphome.components.web_server import validate_ota
 | |
| 
 | |
|     # Config with ota: true should fail
 | |
|     config: ConfigType = {"ota": True}
 | |
| 
 | |
|     with pytest.raises(cv.Invalid) as exc_info:
 | |
|         validate_ota(config)
 | |
| 
 | |
|     # Check error message contains migration instructions
 | |
|     error_msg = str(exc_info.value)
 | |
|     assert "only accepts 'false' to disable OTA" in error_msg
 | |
|     assert "platform: web_server" in error_msg
 | |
|     assert "ota:" in error_msg
 | |
| 
 | |
| 
 | |
| def test_web_server_ota_false_passes_validation() -> None:
 | |
|     """Test that web_server with ota: false passes validation."""
 | |
|     from esphome.components.web_server import validate_ota
 | |
| 
 | |
|     # Config with ota: false should pass
 | |
|     config: ConfigType = {"ota": False}
 | |
|     result = validate_ota(config)
 | |
|     assert result == config
 | |
| 
 | |
|     # Config without ota should also pass
 | |
|     config: ConfigType = {}
 | |
|     result = validate_ota(config)
 | |
|     assert result == config
 |