Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate Lettuce test setup to use client-lib-test #3158

Conversation

kiryazovi-redis
Copy link
Collaborator

@kiryazovi-redis kiryazovi-redis commented Feb 3, 2025

Make sure that:

  • You have read the contribution guidelines.
  • You have created a feature request first to discuss your contribution intent. Please reference the feature request ticket number in the pull request.
  • You applied code formatting rules using the mvn formatter:format target. Don’t submit any formatting related changes.
  • You submit test cases (unit or integration tests) that back your changes.

This change removes the old way of deploying redis on make and your machine and uses docker containers.
https://github.com/redis-developer/cae-client-testing/tree/main/docker/client-libs-test-container
Its part of the ongoing effort to unify and tidy up the testing of all clients.
Heavily inspired by:
redis/jedis#4015
redis/redis-py#3415

Changes include:
Change to workflows to use the new infra
Deletion of old way to deploy redis, everything will use docker deployed-redis.
Thinning out and adding all redis.confs to be properly visible, and groupign them wherever needed.
Docker compose file.
Fixes to README explaining the new way to deploy.
Using and testing against latest Redis CE and enabling ourselves to start testing against Redis Enterprise.

Fixes to these tests in regards to new infra:

  1. SSL tests needed entirely new way to get their certificates as in the past a stunnel and openssl script were needed.
    Now we can just use docker self-signed certificates and then create keystores based on that via java.
  2. RestoreIdletime(([RED-151180] Enable restoreIdleTime in KeyCommandIntegrationTests once server side issue has been fixed. #3181))
  3. Method ordering for server commands such as migrate tests
  4. 2 more ssl related test fixes.
  5. Note for future commit: The json tests have a flakyness issue that is more prominent, we've discussed with @tishun how to proceed, but it will be in a next change.
  6. Note for future commit: Running io.lettuce.core.pubsub.PubSubCommandResp2IntegrationTests seem to get stuck after some time, this has to be investigated in next change.
  7. Note for future commit: investigate codecov intermittent failure to upload
  8. In the future, make sure to: improve dockers to have a proxy that intermediates between the different servers, thin out the redis.confs, and simular improvements of the infra.

@kiryazovi-redis kiryazovi-redis force-pushed the topic/kiryazovi-redis/use-docker-for-tests branch from 24693f5 to b9dceb8 Compare February 6, 2025 15:12
@kiryazovi-redis kiryazovi-redis force-pushed the topic/kiryazovi-redis/use-docker-for-tests branch from 1f6b443 to c4e3b08 Compare February 7, 2025 18:31
@kiryazovi-redis kiryazovi-redis force-pushed the topic/kiryazovi-redis/use-docker-for-tests branch from e79ac3f to 7892951 Compare February 10, 2025 10:09
Copy link
Collaborator Author

@kiryazovi-redis kiryazovi-redis left a comment

Choose a reason for hiding this comment

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

Self review, so our sync-up today goes faster. (after discussion with Ivo)

@kiryazovi-redis kiryazovi-redis changed the title [Draft] [CAE-580] Migrate Lettuce test setup to use client-lib-test Migrate Lettuce test setup to use client-lib-test Feb 12, 2025
@kiryazovi-redis kiryazovi-redis marked this pull request as ready for review February 12, 2025 19:41
Copy link
Collaborator

@tishun tishun left a comment

Choose a reason for hiding this comment

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

LGTM!

@kiryazovi-redis kiryazovi-redis merged commit d3848d1 into redis:main Feb 17, 2025
5 of 6 checks passed
Copy link
Contributor

@ggivo ggivo left a comment

Choose a reason for hiding this comment

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

LGTM

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.

3 participants