test_redis.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. from django.test.utils import override_settings
  2. from sentry.processing.backpressure.memory import iter_cluster_memory_usage
  3. from sentry.processing.backpressure.monitor import Redis, load_service_definitions
  4. from sentry.testutils.helpers import override_options
  5. from sentry.testutils.helpers.redis import get_redis_cluster_default_options
  6. @override_settings(SENTRY_PROCESSING_SERVICES={"redis": {"redis": "default"}})
  7. def test_rb_cluster_returns_some_usage() -> None:
  8. services = load_service_definitions()
  9. redis_service = services["redis"]
  10. assert isinstance(redis_service, Redis)
  11. usage = [usage for usage in iter_cluster_memory_usage(redis_service.cluster)]
  12. assert len(usage) > 0
  13. memory = usage[0]
  14. assert memory.used > 0
  15. assert memory.available > 0
  16. assert 0.0 < memory.percentage < 1.0
  17. @override_settings(SENTRY_PROCESSING_SERVICES={"redis": {"redis": "cluster"}})
  18. @override_options(get_redis_cluster_default_options(id="cluster"))
  19. def test_redis_cluster_cluster_returns_some_usage() -> None:
  20. services = load_service_definitions()
  21. redis_service = services["redis"]
  22. assert isinstance(redis_service, Redis)
  23. usage = [usage for usage in iter_cluster_memory_usage(redis_service.cluster)]
  24. assert len(usage) > 0
  25. memory = usage[0]
  26. assert memory.used > 0
  27. assert memory.available > 0
  28. assert 0.0 < memory.percentage < 1.0