-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
Introduces test matrix based on Redis versions [8.0-M1, 7.4.1, 7.2.6, 6.2.16] #4015
Conversation
68c372a
to
0aa9343
Compare
77f7e4e
to
a691416
Compare
src/test/java/redis/clients/jedis/SSLJedisSentinelPoolTest.java
Outdated
Show resolved
Hide resolved
LGTM, the code looks much neater this way! |
5066271
to
1698b76
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is hard work and i appreciate how we improve it.
i left a couple of comments and questions but none of them is a big deal TBH,
it looks pretty good to me.
one thing to note; we need to find our way through smaller PRs, at least for those not containing public API changes.
src/test/resources/Arch/sentinel5/config/node-sentinel5/redis.conf
Outdated
Show resolved
Hide resolved
src/test/java/redis/clients/jedis/csc/JedisPooledClientSideCacheTest.java
Outdated
Show resolved
Hide resolved
src/test/java/redis/clients/jedis/csc/ClientSideCacheTestBase.java
Outdated
Show resolved
Hide resolved
src/test/java/redis/clients/jedis/csc/ClientSideCacheTestBase.java
Outdated
Show resolved
Hide resolved
b5e04e4
to
6c58815
Compare
src/test/java/redis/clients/jedis/commands/jedis/ControlCommandsTest.java
Outdated
Show resolved
Hide resolved
src/test/java/redis/clients/jedis/commands/jedis/ControlCommandsTest.java
Outdated
Show resolved
Hide resolved
...test/java/redis/clients/jedis/commands/jedis/ClusterShardedPublishSubscribeCommandsTest.java
Outdated
Show resolved
Hide resolved
...test/java/redis/clients/jedis/commands/jedis/ClusterShardedPublishSubscribeCommandsTest.java
Outdated
Show resolved
Hide resolved
src/test/java/redis/clients/jedis/commands/jedis/ClusterJedisCommandsTestBase.java
Outdated
Show resolved
Hide resolved
src/test/java/redis/clients/jedis/commands/jedis/AllKindOfValuesCommandsTest.java
Outdated
Show resolved
Hide resolved
src/test/java/redis/clients/jedis/commands/jedis/ClusterJedisCommandsTestBase.java
Outdated
Show resolved
Hide resolved
src/test/java/redis/clients/jedis/commands/unified/cluster/ClusterBitCommandsTest.java
Outdated
Show resolved
Hide resolved
src/test/java/redis/clients/jedis/commands/unified/cluster/ClusterCommandsTestHelper.java
Outdated
Show resolved
Hide resolved
src/test/java/redis/clients/jedis/csc/JedisClusterClientSideCacheTest.java
Outdated
Show resolved
Hide resolved
src/test/java/redis/clients/jedis/commands/commandobjects/CommandObjectsTestBase.java
Outdated
Show resolved
Hide resolved
formating & clean up Co-authored-by: M Sazzadul Hoque <[email protected]>
"This uses , which is defined in and trusts any certificate."
By mistake isEqualWithTolerance was using latitude instead of tolerance hiding that mistakenly DEFAULT_TOLERANCE was changed from 1e-5 to 1e-14
Use .sslVerifyMode(SslVerifyMode.CA) to mimic tested behaviour of SSLJedisClusterTest.testSSLWithoutPortMap() Fix actions/upload-artifact@v3 deprecation
Since we have removed the stunnel and using Redis server native TLS supporttest is failing on 6.2.x branch because CLUSTER SLOTS command is returning non-tls port when using (Redis 6.2.x). Test is passing successfully against 7.x+ Redis instances.Considering previously nightly build was run only against latest Redis server (e.g 7.x+) it should be safe to mark this test with @SinceRedisVersion(value = "7.0.0")
"certificateLocation" point to root folder were certificates used by the server are stored for given endpoint. Expected following set of certificates redis.crt - RedisServer certificate client.crt - Can be used by the client for mutual auth with the server ca.crt - Root certificate for both (redis.crt & client.crt) Replace hardcoded certificateLocation with one resol ved from EndpiintConfig were possible. e.g. Cluster tests are not yet migrated to EndpointConfig infra and still use hardcoded certificates.
SearchWithParamsTest.searchTextFieldsCondition:276 » JedisData Use `INDEXEMPTY` in field creation in order to index and query for empty strings
ae60523
to
174b933
Compare
…M02 release - AllKindOfValuesCommandsTest.restoreParams - AllKindOfValuesCommandsTestBase.restoreParams
We use docker composer to bring up the test env using
redislabs/client-libs-test
image.Example command to bring up test env for dev/test
- NOTE : 6.2.16 uses a dedicated .env.v6.12.16 file, since some of the redis configuration settings are not supported in 6.2.16
docker compose --env-file src/test/resources/env/.env.v6.12.16 -f src/test/resources/env/docker-compose.yml up
Introduces test matrix based on Redis versions [8.0-M1, 7.4.1, 7.2.6, 6.2.16]
When run against older Redis version it appears that some tests are using commands available only in newer Redis server versions. To resolve this we are introducing two new annotations/rules
SinceRedisVersion
annotation/Rule - for conditionally running tests based on Redis server version contactedEnableOnCommad
annotation/Rule - for conditionally running tests based on command availability on the serverAnd mark respective tests with the least Redis Version required by the test
The same approach used to mark CSC tests
Fix in Jedis Client (Redis 6.x)
Fix NPE on CommandInfo - some of the array elements returned are available since ( Redis server 6.0/7.0)
(see NPE thrown when invoking Jedis#commandInfo against Redis server 6.2.16 #4017 )
Fix NPE when reading AccessControlLogEntry
(see NPE thrown on jedis.aclLog() used against Redis server 7.2.0< #4016)
Fixed Test failures against 6.x
- Test env migrated to use native Redis server TLS instead of using stunnel
The primary reason for those failures is the Redis server 6.2.16 is returning the non-TLS port in the CLUSTER SLOTS command in contrast to Redis Server 7.2.0+. I suggest reviewing & addressing Cluster SSL related test failures with follow-up PR.
Ignored tests during migration
Disabled ModuleTest in containerized test env.
ModuleTest uses a custom test module to test load/unload/sendCommand. Requires pre-build test module on the same os like test container to avoid errors
Disable UDS tests in containerized test env
No easy way to make unix sockets work on MAC with docker
Closes #4016, Closes #4017