import pytest from gpu_rent.errors import GpuRentError from gpu_rent.resize import resize_data_volume from gpu_rent.state import SessionState, save_state class _Cfg: pass def test_resize_rejects_shrink(monkeypatch): save_state(SessionState(data_volume_id="d1", floating_ip=None)) class Vol: id = "d1" size = 200 status = "in-use" class Conn: class block_storage: @staticmethod def get_volume(vid): return Vol() @staticmethod def extend_volume(*a, **k): raise AssertionError("no extend") monkeypatch.setattr("gpu_rent.resize.connect", lambda cfg: Conn()) with pytest.raises(GpuRentError, match="вниз нельзя"): resize_data_volume(_Cfg(), 100, log=lambda m: None)