Skip to content

Conversation

petyaslavova
Copy link
Collaborator

@petyaslavova petyaslavova commented Sep 15, 2025

Pull Request check-list

Please make sure to review and check all of these items:

  • Do tests and lints pass with this change?
  • Do the CI tests pass with this change (enable it first in your forked repo and wait for the github action build to finish)?
  • Is the new or changed code fully tested?
  • Is a documentation update included (if this change modifies existing APIs, or introduces new ones)?
  • Is there an example added to the examples folder (if applicable)?

NOTE: these things are not required to open a PR and can be done
afterwards / while the PR is open.

Description of change

All e2e tests can work with TLS enabled and with TLS disabled - depending on the configuration provided in endpoints_config dictionary.
The same test suite can be executed with both types of setup to validate all use cases with and without TLS.

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request adds comprehensive end-to-end tests for Redis maintenance event notifications during cluster operations. The changes enhance the test suite to validate that notifications are properly received when new connections are established during maintenance states.

  • Adds new test cases for failover, migration, and binding operations to validate notification handling
  • Extracts specific test scenarios for new connections receiving maintenance events during cluster operations
  • Improves timeout handling and error reporting in test infrastructure

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.

File Description
tests/test_scenario/test_hitless_upgrade.py Main test file with new test cases for failover notifications, connection handling during maintenance states, and improved timeout configurations
tests/test_scenario/hitless_upgrade_helpers.py Helper functions for failover operations and improved notification waiting with optional timeout failures
tests/test_scenario/fault_injector_client.py Minor improvements to type hints and error handling
tests/test_scenario/conftest.py Enhanced client configuration with additional parameters for protocol and host overrides

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

assert errors.empty(), f"Errors occurred in threads: {errors.queue}"

logging.info("Waiting for moving ttl to expire")
time.sleep(15)
Copy link
Preview

Copilot AI Sep 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The hardcoded sleep value of 15 seconds should be replaced with a named constant or configuration variable to improve maintainability and make the timeout purpose clearer.

Copilot uses AI. Check for mistakes.

@petyaslavova petyaslavova changed the title Adding more e2e tests. Extracting specific tests that validate notifications are received in new connections Adding more e2e tests related to maintenance notifications. Extracting specific tests that validate notifications are received in new connections Sep 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant